Escalonamento de CPU
Professor: Gabor Sipkoi
1. Escalonamento de CPU
O escalonamento de CPU (também conhecido como agendamento de processos) é ponto chave da multiprogramação. Ela permite que haja mais de um processo em execução ao mesmo tempo. Em ambientes com um único processador, o escalonador realiza o revezamento de uso do processador pelos processos, tornando-o mais eficiente.
Muitas vezes, eles têm diferentes fluxos de execução, com uso de diferentes recursos e em diferentes épocas.
1.1.
Introdução
O objetivo da multiprogramação é aumentar o índice de aproveitamento da CPU.
È uma forma de deixar a CPU ocupada com algum processo a maior parte do tempo.
Ele aproveita as operações de I/O, onde a CPU não é utilizada e poderia ficar ociosa para colocar um outro processo em execução. O escalonamento é muito importante para o Sistema Computacional, praticamente qualquer recurso pode ser escalonado.
1.1.1. Surtos de CPU e de I/O
Estas duas características se referem ao fato de que um processo tem intervalos de uso de CPU e I/O. No instante em que um processo utiliza a CPU, este processo está m um surto de CPU. Quando o processo está usando o I/O ele está em um surto de I/O.
Tais características fazem haver duas categorias:
• Um processo que tem muitas operações de I/O terá muitos surtos curtos de CPU – o processo é dito I/O bound;
• Um programa que usa muito usa muito a CPU terá poucos surtos de I/O, mas terá muitos surtos longos de CPU – o processo é dito CPU bound..
1.1.2. Escalonador de CPU
O escalonador é um processo do Sistema Operacional que seleciona um dos processos que está no estado “PRONTO”. Um dos pontos importantes é que nem sempre o primeiro da fila é o primeiro a ser atendido.
1.1.3. Escalonamento preemptivo e não-preemptivo
Num sistema que adota escalonamento não-preemptivo, cada processo deve periodicamente devolver o controle da CPU ao Sistema Operacional. O programador deve desenvolver o programa de