Agendamento on-line: O agendamento online é uma técnica usada em sistemas operacionais em que um processo é agendado somente depois de chegar e ficar disponível para execução. Isto implica que o escalonador considera apenas os processos de escalonamento que estão atualmente disponíveis na memória principal.
Alguns processos podem entrar na fila de prontos e alguns processos podem sair da fila de prontos dinamicamente. Devido à natureza dinâmica e imprevisível do agendamento online, é um desafio estimar com precisão os recursos necessários para a execução de um processo.
Alguns dos algoritmos populares para agendamento online incluem:
- Primeiro a chegar, primeiro a ser servido (FCFS)
- Trabalho mais curto primeiro (SJF)
-Round Robin (RR)
- Maior taxa de resposta seguinte (HRRN)
Agendamento off-line: Em contraste com o agendamento online, o agendamento offline considera todos os processos antes que eles cheguem para execução. Esta técnica pode ser aplicada quando o conhecimento futuro de todo o conjunto de processos é conhecido antecipadamente.
Com base em um determinado conjunto de processos, um algoritmo de escalonamento offline cria um escalonamento que determina quando cada processo será executado e por quanto tempo. Como as chegadas e os detalhes de execução dos processos são conhecidos de antemão, o escalonamento offline pode determinar o escalonamento ideal.
No entanto, o escalonamento offline não é viável em cenários onde os processos chegam dinamicamente e o seu comportamento durante a execução não pode ser previsto antecipadamente.
Algoritmos comuns para agendamento offline incluem:
- Trabalho mais curto primeiro não preemptivo (SJF)
- Agendamento prioritário não preemptivo (prioritário)
-Round Robin (RR)
Comparação: | Recurso | Agendamento On-line | Agendamento off-line |
|---|---|---|
| Conhecimento de chegada de processos | Requer apenas informações atuais sobre os processos | Requer conhecimento prévio completo de todos os processos |
| Adaptabilidade | Pode lidar com eficiência com chegadas dinâmicas de processos | Não consegue se adaptar às chegadas dinâmicas de processos |
| Otimização | Não é possível fornecer horários ideais | Pode fornecer cronogramas ideais dependendo do algoritmo |
| Complexidade | Menos complexo de implementar | Mais complexa de implementar devido à necessidade de conhecimento detalhado de todos os processos |