Tipos de Escalonamentos
O escalonamento de processos computacionais é uma atividade organizacional feita pelo escalonador da CPU ou de um Sistema Distribuído, possibilitando executar os processos mais viáveis e concorrentes. O escalonamento prioriza determinados tipos de processos computacionalmente intensivos. O escalonador de processos 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.
Situações nas quais escalonamentos é necessário:
Um novo processo é criado;
Um processo terminou sua execução e um processo pronto deve ser executado;
Quando um processo é bloqueado (semáforo,dependência de E/S), outro deve ser executado;
Quando uma interrupção de E/S ocorre o escalonador deve decidir por: executar o processo que estava esperando esse evento; continuar executando o processo que já estava sendo executado ou executar um terceiro processo que esteja pronto para ser executado.
O Hardware de relógio fornece interrupções de relógio e a decisão do escalonamento pode ser tomada a cada interrupção ou a cada k interrupções;
Algoritmos de escalonamento podem ser divididos em duas categorias dependendo de como essas interrupções são tratadas:
Preemptivo: escolhe um processo e o deixa executando por um tempo máximo e Não-preemptivo: estratégia de permitir que o processo que está sendo executado continue sendo executado até ser bloqueado por alguma razão (semáforos, operações de E/S interrupção) ou que libere a CPU voluntariamente;
Categorias de Ambientes:
• Sistemas em Batch: usuários não esperam por respostas rápidas; algoritmos não-preemptivo ou preemptivo com longo intervalo de tempo;
• Sistemas Interativos: interação constante do usuário; algoritmos preemptivo; Processo interativo espera comando e executa comando.
• Sistemas em Tempo Real: processos são executados mais rapidamente; tempo