Para um usuário interagir com um computador sem o Sistema Operacional (SO), ele deve conhecer profundamente diversos detalhes sobre o hardware do equipamento. Um técnico de programação de sistemas está testando um SO e verificou que se trata de uma arquitetura multiprogramada na qual vários processos são executados de forma concorrente. Nesse contexto, o algoritmo de escalonamento que seleciona o processo que tiver o menor tempo de processador ainda por executar é o:
- A)não preemptivo;
Incorreta, porque não preemptivo descreve um modo de execução, e não um critério que escolhe o processo pelo menor tempo restante.
- B)por prioridade;
Incorreta, porque escalonamento por prioridade escolhe com base na prioridade do processo, não no menor tempo de CPU remanescente.
- C)circular;
Incorreta, porque o escalonamento circular reparte o processador em fatias de tempo iguais, sem considerar o tamanho restante do processo.
- D)First-In-First-Out (FIFO);
Incorreta, porque FIFO executa na ordem de chegada, e não pelo menor tempo de processamento ainda por executar.
- E)Shortest-Job-First (SJF).
Correta, porque o SJF seleciona o processo com o menor tempo de processamento previsto ou ainda restante, exatamente como descrito no enunciado.
Gabarito: E
Em sistemas operacionais multiprogramados, vários processos disputam o processador ao mesmo tempo, e o escalonador precisa decidir quem entra na vez. A ideia central da questão é simples: selecionar o processo que ainda tem o menor tempo de CPU restante. Isso é típico de escalonamento por menor tempo de serviço restante, conhecido como Shortest-Job-First (SJF), especialmente na versão que leva em conta o tempo ainda por executar. O SJF tenta reduzir o tempo médio de espera e o tempo médio de retorno, porque dá preferência aos processos mais curtos. Na prática, ele é famoso por ser eficiente, mas pode prejudicar processos longos, que ficam esperando mais tempo. Em algumas formulações, esse critério aparece como Shortest Remaining Time First (SRTF), que é a versão preemptiva do SJF, mas o nome-base cobrado nas provas costuma ser SJF. Por isso, a alternativa correta é a letra E. A banca está descrevendo exatamente o algoritmo que escolhe o processo com menor tempo de processamento ainda pendente, e isso é a essência do SJF. Já FIFO, circular e prioridade funcionam com outros critérios, então não servem aqui. Em concursos, esse tipo de questão costuma testar mais a identificação do critério do que a implementação em si.