Escalonamento FCFS
Escalonamento
First Come-First Served (FCFS) adota a política de que o processo que chegar primeiro ao estado de pronto será selecionado para a execução.
Possui as seguintes características:
- Estrutura → Contém uma fila para armazenar os processos que estão no estado de pronto;
- Funcionamento → Quando um processo passa para o estado de pronto, ele entrará no final da fila e será escalonado quando chegar ao seu início;
- Classificação → Não preemptivo, pois um processo não pode ser interrompido quando está sendo executado;
- Deficiência → Impossibilidade de prever quando um processo terá a sua execução iniciada; falta de uma estrutura para melhorar o tempo médio de espera dos processos; processo CPU-bound tem vantagem em relação ao processo I/0-bound.
Escalonamento Round-Robin
Escalonamento
Round-Robin (RR), cuja tradução é escalonamento em ciclo, foi o primeiro modelo a propor uma implementação que simulasse a multitarefa em tempo real. Esta metodologia propõe que os processos revezem o uso da CPU através de uma unidade de tempo denominada quantum (q), cujo valor é determinado pela implementação do sistema operacional, podendo ter a duração de 10 a 100 milissegundos.
Após se encerrar o quantum, o processo escalonado deve ceder o lugar na CPU a outro processo. Portanto, o comportamento da metodologia ocorrerá em função do valor do quantum:
- Elevado valor de quantum → Funcionará semelhante ao FCFS, pois os processos poderão ser executados até o final;
- Baixo valor de quantum → Haverá grande sobrecarga ao sistema, pois utilizará a maior parte do tempo para a troca de contexto.
Neste modelo os processos prontos ficam organizados em uma fila circular do tipo FIFO (primeiro a chegar, é o primeiro a sair). O escalonador percorrerá a fila e revezará a execução dos processos até que todos acabem.
Logo, este escalonamento obterá as seguintes características:
- Tempo de retorno e de resposta aumenta de acordo com o número de processos na fila;
- Maior complexidade de implementação;
- Aumento no custo operacional, devido à mudança constante de contexto de processos;
- Preemptivo, pois um processo pode ser interrompido quando está sendo executado;
- Menor quantidade de processos finalizados em um determinado intervalo de tempo (throughput);
- Melhor tempo de resposta.