Questão de Sistemas Operacionais — Processos — VUNESP 2024
Sistemas Operacionais›Processos
Código
vu081600
Banca
VUNESP
Órgão
DESENVOLVE-SP
Ano
2024
Nível
Superior
Cargo
Analista de Sistemas
Em um sistema operacional típico, um processo pode estar, em um dado momento, em um dos estados apresentados na figura a seguir:Supondo-se que um processo que esteja em execução requeira uma determinada entrada que ainda não está disponível, esse processo
Acontinuará no estado “Em execução” até que a entrada esteja disponível para ele.
Bexibirá uma mensagem de erro, exigindo que o usuário reinicie o sistema operacional.
Cserá levado ao estado “Bloqueado”.
Dserá finalizado, não permanecendo em nenhum dos estados apresentados no diagrama.
Eserá levado ao estado “Pronto”.
Revelar gabarito e comentário▾
GabaritoC — será levado ao estado “Bloqueado”.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Estados de Processos em Sistemas Operacionais
Gabarito: letra C. Quando um processo em execução solicita uma entrada (E/S) que ainda não está disponível, ele não pode continuar usando a CPU e é movido para o estado Bloqueado (também chamado de Espera), onde permanece até que o evento externo (a entrada) seja concluído. Essa é uma transição clássica do diagrama de estados de processos, descrita por autores como Tanenbaum e Arpaci-Dusseau.
O estado de um processo é uma condição que define se ele pode ou não usar a CPU naquele instante. Os três estados fundamentais são:
Executando: o processo está usando a CPU neste momento.
Pronto: o processo está apto a executar, mas a CPU está ocupada com outro processo.
Bloqueado: o processo não pode executar, mesmo que a CPU esteja livre, porque está esperando um evento externo (como uma operação de E/S).
A transição de Executando → Bloqueado ocorre exatamente quando o processo faz uma chamada de sistema que requer um recurso não imediatamente disponível, como uma leitura de disco ou uma entrada do usuário. O sistema operacional, então, retira o processo da CPU e o coloca na fila de bloqueados, liberando o processador para outro processo pronto. Quando o evento é concluído (por exemplo, a entrada chega), o processo volta para o estado Pronto, aguardando nova oportunidade de execução.
Um exemplo prático: imagine um programa que pede ao usuário para digitar seu nome. Enquanto o usuário não digita, o processo não tem o que fazer — ele não pode avançar. O sistema operacional o bloqueia, permitindo que outros processos usem a CPU. Quando o usuário digita e pressiona Enter, o processo é desbloqueado e volta à fila de prontos.
A pegadinha desta questão está em confundir Bloqueado com Pronto. A diferença é crucial: no estado Pronto, o processo está apto a executar e apenas aguarda a CPU; no estado Bloqueado, o processo não pode executar, independentemente da CPU, porque depende de um evento externo. A banca explora exatamente essa confusão na alternativa E.
Guarde essa distinção: espera por recurso = Bloqueado; espera por CPU = Pronto. É nela que as alternativas se dividem.
1Executando
2Bloqueado (espera evento)
3Pronto (evento concluído)
4Executando
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
O processo não pode continuar em Executando porque ele não tem condições de prosseguir: a entrada que ele precisa não está disponível. Manter o processo na CPU seria desperdiçar o processador, pois ele ficaria ocioso esperando. O sistema operacional, para otimizar o uso da CPU, retira o processo e o coloca em um estado de espera.
Alternativa B — ❌ Incorreta
Não há nenhuma mensagem de erro nem necessidade de reiniciar o sistema. A espera por uma entrada é uma situação normal e corriqueira em sistemas operacionais, tratada pelo mecanismo de estados de processos. O sistema continua funcionando normalmente, apenas alocando a CPU a outros processos enquanto o bloqueado espera.
Alternativa C — ✅ Correta ⟵ GABARITO
Ao requisitar uma entrada ainda não disponível, o processo é levado ao estado Bloqueado (ou Espera). Isso é exatamente o que descreve a transição 1 do diagrama de estados: o sistema operacional descobre que o processo não pode continuar e o bloqueia. O processo só voltará a executar quando o evento externo (a entrada) ocorrer, momento em que será movido para Pronto e, depois, para Executando.
Alternativa D — ❌ Incorreta
O processo não é finalizado por esperar uma entrada. A finalização (estado Terminado) ocorre apenas quando o processo conclui sua execução ou é abortado por um erro fatal. A espera por E/S é uma condição temporária e reversível, não um motivo para encerrar o processo.
Alternativa E — ❌ Incorreta
O estado Pronto é para processos que estão aptos a executar e apenas aguardam a CPU. O processo que espera uma entrada não está apto a executar — ele depende de um evento externo. Portanto, ele não vai para Pronto, mas sim para Bloqueado. A confusão entre esses dois estados é a armadilha clássica desta questão.
NÃO CAIA NESSA!
A banca troca o estado Bloqueado pelo Pronto. Lembre-se: Pronto = esperando a CPU (pode executar); Bloqueado = esperando um evento externo (não pode executar). Quando o processo pede uma entrada, ele não pode executar, então vai para Bloqueado.