Escalonamento
Walter Alexandre A. de Oliveira Universidade Federal de Uberlândia Faculdade de Computação Campus Santa Mônica – Sala 1B201a www.facom.ufu.br/~walter
Livro Texto
●
TANENBAUM, A. S. Sistemas Operacionais Modernos. 3ª edição. Ed. Pearson. 2010.
Sumário
●
Escalonamento
Filas Múltiplas
●
No MIT, o CTSS (sistema compatível de tempo compartilhado), operando num IBM 7094, foi um dos primeiros a implementar escalonamento por prioridades. Problema no CTSS: o chaveamento era muito lento, pois só um processo cabia na memória. Aumentar o quantum de um processo diminuía o chaveamento, mas pode levar a um tempo de resposta inadequado.
●
●
Filas Múltiplas
●
Solução: definir classes de prioridades.
–
Processos da classe de maior prioridade eram executados por um quantum. Processos da classe seguinte eram executados por dois quanta. Processos da próxima classe eram executados por quatro quanta. Assim por diante. Se o processo utilizar todos os quanta, seria movido para uma classe iferior.
–
–
– –
Filas Múltiplas
●
Quantas trocas de processo seriam necessárias para um processo que precise de 100 quanta?
Próximo Processo Mais Curto
●
Tarefa mais curta primeiro resulta no mínimo tempo médio de resposta.
–
Seria bom utilizá-lo em processos interativos.
●
Processos interativos costumam seguir o padrão: espera comando, executa comando, espera comando, executa comando … Se cada comando é visto como uma tarefa isolada, poder-se-ia usar o tarefa mais curta primeiro.
–
●
Mas qual dos processos atualmente executáveis é o mais curto?
Próximo Processo Mais Curto
●
Uma solução:
–
Usar uma estimativa com base no comportamento passado. Executar o processo com menor tempo estimado. Suponha T0 o tempo estimado para um processo e T1 o tempo estimado do processo numa próxima execução. A estimativa pode ser dada pela soma ponderada aT0+(1-a)T1
–
●
A estimação:
–
–