Algoritmo de Escalonamento
Objetivos do algoritmo de escalonamento.
ESCALONAMENTO.
O
escalonamento de processos ou agendador de tarefas (em inglês scheduling) é uma atividade organizacional feita pelo escalonador
(scheduler) da CPU ou de um sistema distribuído, possibilitando executar os processos mais viáveis e concorrentes, priorizando determinados tipos de processos, como os de I/O Bound e os CPU
Bound.
OBJETIVO DO ESCALONAMENTO.
O projeto de um escalonador adequado deve levar em conta uma série de diferentes necessidades, ou seja, o projeto de uma política de escalonamento deve contemplar os seguintes objetivos:
Ser
justo: Todos os processos devem ser tratados igualmente, tendo possibilidades idênticas de uso do processador, evitando o adiamento indefinido.
Maximizar a produtividade (throughput):
Procurar maximizar o número de tarefas processadas por unidade de tempo.
Ser previsível: Uma tarefa deveria ser sempre executada com aproximadamente o mesmo tempo e custo computacional.
Minimizar
o tempo de resposta para usuários interativos.
Maximizar o número possível de usuário interativos. Minimizar a sobrecarga (overhead):
Recursos não devem ser desperdiçados embora algum investimento em termos de recursos para o sistema pode permitir maior eficiência.
Favorecer
processos "bem comportados":
Processos que tenham comportamento adequado poderiam receber um serviço melhor. Balancear o uso de recursos: o escalonador deve manter todos os recursos ocupados, ou seja, processos que usam recursos subutilizados deveriam ser favorecidos.
Exibir degradação previsível e progressiva em situações de intensa carga de trabalho.
Como pode ser visto facilmente, alguns destes objetivos são contraditórios, pois dado que a quantidade de tempo disponível de processamento (tempo do processador) é finita, assim como os demais recursos computacionais, para que um processo