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 computacionalmente intensivos.
O escalonador de processos de 2 níveis escolhe o processo que tem mais prioridade e menos tempo e coloca-o na memória principal, ficando os outros alocados em disco; com essa execução o processador evita ficar ocioso.
O escalonador do SO utiliza alguns critérios de escalonamento, como: a taxa de utilização de CPU, que é a fração de tempo durante a qual ela está sendo ocupada; throughput que são números de processos terminados por unidade de tempo; turnaround que é o tempo transcorrido desde o momento em que o software entra e o instante em que termina sua execução; tempo de resposta: intervalo entre a chegada ao sistema e inicio de sua execução; tempo de espera: soma dos períodos em que o programa estava no seu estado pronto.
Responsáveis por essa tarefa são algoritmos que são entendidos mais facilmente, estudados separadamente, mas na pratica os sistemas operacionais utilizam combinações deles para melhor escalonar os processos.
b-
Criterios do escalonamento - fatores q influenciam qual processo ira ganhar a CPU:
1- uso do processador - maior uso - maior aproveitamento. desejado q sistema fique ocupado maior parte do tempo. 1 sistema 30% é menos eficaz do que 1 que use 90%.
2- throughput - n° processos executados. + processos, + throughput
3- CPU time (tempo de processador) - quanto tempo o processo fica executando
4- turnaround - tempo do inicio ao fim, incluindo alocação, espera e I/O. O mecanismo de alocação doprocesso visa diminuir turnaround. Logo, bom escalomento implica mais throughput e menos turnaround
5- tempo de resposta - tempo de atendimento à requisicao.