Capítulo 5: Escalonamento de CPU

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Capítulo 5: Escalonamento de CPU por Mind Map: Capítulo 5: Escalonamento de CPU

1. Critérios de escalonamento

1.1. Utilização de CPU

1.2. Throughput (vazão)

1.3. Turnaround time (tempo de retorno)

1.4. Tempo de espera

1.5. Tempo de resposta

2. Algoritmos de escalonamento

2.1. Escalonamento First Come, First Served – FCFS

2.1.1. Escalonamento primeiro a chegar, primeiro a ser atendido.

2.2. Escalonamento Shortest-Job-First – SJF

2.2.1. Associa a cada processo o tamanho do próximo burst de CPU do processo. Quando A CPU estiver disponível, é alocado o processo que possui o menor próximo burst de CPU.

2.3. Escalonamento por prioridade

2.3.1. Uma prioridade é associada a cada processo, e a CPU é alocada ao processo com a maior prioridade.

2.4. Escalonamento round-robin

2.4.1. É definido um quantum (pequena unidade ou fatia de tempo), a CPU percorre a fila de processos como uma fila circular alocando a CPU por até 1 quantum de tempo.

2.5. Escalonamento Multilevel Queue

2.5.1. É feita uma divisão entre processos de primeiro e segundo plano plano, com requisitos, tempo de resposta e necessidades diferentes.

2.5.2. O algoritmo divide a fila de processos em subfilas de processos de acordo com algumas propriedade do mesmo. Cada fila possui seu próprio algoritmo de escalonamento.

2.6. Escalonamento Multilevel Feedback Queue

2.6.1. Permite que um processo se mova entre as filas.

2.6.2. Separa os processos de acordo com as características de burst de CPU. Se um processo utilizar muito tempo de CPU, ele será movido para uma fila de menor prioridade.

3. Escalonamento em Java

3.1. A especificação para a JVM possui uma política de escalonamento livremente definida, que indica que cada thread possui uma prioridade e que threads com prioridade mais alta terão preferência às threads com prioridades mais baixas.

4. Conceitos básicos

4.1. Definição

4.1.1. O escalonamento de CPU é a base dos sistemas operacionais multiprogramados. Alternando a CPU entre os processos, o sistema operacional pode tornar o computador mais produtivo.

4.2. Ciclo de burst CPU-E/S

4.2.1. O sucesso do escalonamento da CPU depende da propriedade observada nos processos: a execução de um processo consiste em um ciclo de execução da CPU e espera por entradas e saídas.

4.3. Escalonador de CPU

4.3.1. Sempre que a CPU se torna ociosa, o sistema operacional precisa selecionar um dos processos na fila de prontos para ser executado.

4.4. Escalonamento preemptivo

4.4.1. Pode ocorrer quando um processo passa de um estado para outro ou fim de um processo, sendo eles: Running, Waiting, Ready.

4.5. Despachante

4.5.1. Módulo que dá o controle da CPU ao processo selecionado pelo escalonador de curto prazo.

4.5.1.1. Trocar o contexto.

4.5.1.2. Trocar para o modo usuário.

4.5.1.3. Desviar para o local apropriado no programa do usuário para reiniciar esse programa.

5. Escalonamento de thread

5.1. Escopo de disputa

5.1.1. Uma distinção entre as threads no nível do usuário e no nível do kernel está em como são agendadas.

5.2. Escalonamento Pthread

5.2.1. Permite especificar PCS ou SCS durante a criação de threads.

6. Escalonamento em múltiplos processadores

6.1. Técnicas de escalonamento com multiprocessadores

6.2. Afinidade de processador

6.3. Balanceamento de carga

6.4. Processadores multicore

6.5. Virtualização e escalonamento

7. Avaliação de algoritmo

7.1. Modelagem determinística

7.1.1. Usa o algoritmo indicado e a carga de trabalho do sistema para produzir uma fórmula ou número que avalia o desempenho do algoritmo para essa carga de trabalho.

7.2. Modelos de enfileiramento

7.2.1. Usa uma fórmula matemática, descrevendo a probabilidade de determinado burst de CPU. Assim, o número de processos saindo da fila precisa ser igual ao número de processos que chegam.

7.3. Simulações

7.3.1. O uso de simulações envolve a programação de um modelo do sistema computadorizado para obter uma avaliação mais precisa dos algoritmos de escalonamento.

7.4. Implementação

7.4.1. A única maneira precisa para avaliar um algoritmo de escalonamento é codificá-lo, colocá-lo no sistema operacional e ver como funciona.