Pular para o conteúdo principal

Questão de Sistemas Operacionais — Processos — VUNESP 2024

Sistemas OperacionaisProcessos
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:Imagem associada para resolução da questãoSupondo-se que um processo que esteja em execução requeira uma determinada entrada que ainda não está disponível, esse processo
  1. Acontinuará no estado “Em execução” até que a entrada esteja disponível para ele.
  2. Bexibirá uma mensagem de erro, exigindo que o usuário reinicie o sistema operacional.
  3. Cserá levado ao estado “Bloqueado”.
  4. Dserá finalizado, não permanecendo em nenhum dos estados apresentados no diagrama.
  5. 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.

  1. 1Executando
  2. 2Bloqueado (espera evento)
  3. 3Pronto (evento concluído)
  4. 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.

Gabarito: letra C

Link permanente: /questoes/vu081600