Questão de Sistemas Operacionais — Linux — Quadrix 2024
- Código
- qg347835
- Banca
- Quadrix
- Órgão
- COREN-PR
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ERRADO (alternativa E). A afirmação confunde o estado de espera (waiting/blocked) com o estado de pronto (ready): um processo em espera está aguardando a conclusão de uma operação de E/S ou a liberação de um recurso, e não está apto a ser executado pela CPU. O processo que está pronto para execução, aguardando apenas a alocação do processador, é o que se encontra no estado pronto (ready).
Para entender a diferença, é essencial conhecer o ciclo de vida de um processo em um sistema operacional. Um processo, que é uma instância de um programa em execução, passa por diversos estados desde sua criação até seu término. Os estados clássicos são: novo (new), pronto (ready), executando (running), bloqueado/espera (blocked/waiting) e terminado (terminated). A transição entre esses estados é gerenciada pelo escalonador (scheduler) do sistema operacional.
O estado pronto (ready) é aquele em que o processo está carregado na memória principal, possui todos os recursos necessários (exceto a CPU) e está apto a ser executado. Ele aguarda apenas que o escalonador lhe conceda o processador. Quando isso ocorre, o processo passa para o estado executando (running). Por outro lado, o estado espera (waiting/blocked) ocorre quando o processo, durante sua execução, solicita uma operação de entrada e saída (E/S) ou precisa de um recurso que não está disponível no momento. Nesse estado, o processo não pode ser escalonado para a CPU, pois depende de um evento externo para continuar. Somente quando a operação de E/S é concluída ou o recurso é liberado, o processo volta para o estado pronto.
A confusão entre os estados pronto e espera é uma pegadinha clássica em provas de sistemas operacionais. O candidato que não domina a diferença entre "aguardando a CPU" e "aguardando um evento externo" tende a errar. A banca explora exatamente essa troca de conceitos, apresentando o estado de espera como se fosse o de pronto.
Para fixar, imagine um processo que precisa ler dados de um disco rígido. Enquanto a leitura não é concluída, o processo fica no estado de espera, pois não pode prosseguir sem os dados. Ele não está "pronto para ser executado", pois sua execução depende da conclusão da E/S. Já um processo que acabou de ser criado e está na fila de prontos, aguardando apenas o escalonador, está no estado pronto.
Guarde a fronteira: pronto = aguarda a CPU; espera = aguarda um evento externo (E/S, recurso). É exatamente nessa distinção que a questão se baseia.
A afirmação está incorreta porque descreve o estado de espera (waiting) como se fosse o estado de pronto (ready). O processo em espera está bloqueado, aguardando a conclusão de uma operação de E/S ou a liberação de um recurso, e não está apto a ser executado pela CPU. O processo que está pronto para execução, aguardando apenas a alocação de tempo de processamento, é o que se encontra no estado pronto.
Para não errar, lembre-se: pronto = aguarda a CPU; espera = aguarda um evento externo (E/S, recurso). Na prova, quando a questão disser "aguardando apenas a alocação de tempo de processamento", ela está se referindo ao estado pronto, não ao de espera.
Gabarito: ERRADO (alternativa E).
Link permanente: /questoes/qg347835