Em um computador multiprogramado, múltiplos processos ou threads competem pela CPU ao mesmo tempo.
Se apenas uma CPU está disponível, um algoritmo de escalonamento precisa realizar uma escolha sobre qual
processo será executado. É um exemplo de tal algoritmo o
Para melhor utilizar a CPU, os sistemas operacionais utilizam ... I... , que permite que vários jobs fiquem na memória ao mesmo empo, assegurando que a CPU sempre tenha um job para executar. Os sistemas ....II.... são uma extensão deste mecanismo, em que algoritmos ...III... atuam alternando rapidamente entre os jobs, dando a impressão que cada um deles está sendo executado concorrentemente.
As lacunas I, II e III são, correta e respectivamente, preenchidas por
O analista Zeferino está trabalhando em um sistema operacional
que necessita de melhorias em seu algoritmo de escalonamento
e nas primitivas de sincronização para otimizar o processamento
de tarefas em um ambiente de múltiplos processadores.
Visando à otimização do sistema em questão, a abordagem que
deve ser adotada é:
A gerência do processador é uma das atividades mais importantes em um sistema multiprogramável. Uma política de escalonamento deve ser estabelecida para determinar qual processo será escolhido para fazer uso do processador.
Com relação a essa política, considere as afirmações abaixo.
I - O escalonamento preemptivo é caracterizado pela possibilidade de o sistema operacional interromper um processo em execução e passá-lo para o estado de espera, com o objetivo de colocar outro processo em execução.
II - Com o uso da preempção, é possível ao sistema priorizar a execução de processos, como no caso de aplicações de tempo real onde o fator tempo é crítico.
III - No escalonamento não preemptivo, quando um processo está em execução nenhum evento externo pode ocasionar a perda do uso do processador.
IV - O escalonamento FIFO (First-In First-Out) é um exemplo de escalonamento não preemptivo no qual o processo que chega primeiro ao estado de pronto é colocado em execução e só perde o uso do processador quando termina seu processamento ou quando executa instruções do próprio código que ocasionam uma mudança para o estado de pronto.
A política de escalonamento é a base da gerência do processador.
Ryu é analista de sistemas e sabe que as características de cada
Sistema Operacional (SO) determinam quais são os principais
aspectos para a implementação de uma política de
escalonamento adequada. Brevemente Ryu adotará, em seu
projeto de SO, o critério de escalonamento que representa o
número de processos executados em um determinado intervalo
de tempo.
Em seu projeto de SO, Ryu deve utilizar o critério de
escalonamento: