SóProvas


ID
56698
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

A crescente evolução da computação tem sido impulsionada pelo
melhoramento do hardware e pelo surgimento dos sistemas
operacionais. No que concerne a sistema operacional, julgue os
itens de 51 a 60.

Durante a execução dos processos P1 e P2, se eles não concluírem suas execuções porque o processo P1 depende do término do processo P2 que, por sua vez, depende da conclusão do processo P1, tem-se uma situação denominada starvation.

Alternativas
Comentários
  • starvation é quando um processo é impedido de entrar no estado de running (rodando) por outro processo de prioridade maior. Que "monopoliza" o uso da cpu. Existem vário algoritmos pra impedir isso.
  • O caso mencionado na questão é Dead Lock
  • Deadlock - Condições necessárias:Uma situação de deadlock pode ocorrer se as quatro condições seguintes ocorrerem ao mesmo tempo em um sistema: 1. Exclusão mútua2. Posse e espera3. Não-preempção4. Espera circularfonte: Silberschatz.
  • Essa questão, inicialmente, foi considerada CORRETA, mas teve o gabarito alterado corretamente para ERRADO. Vale a pena, para motivos educacionais, colocar a justificativa.


     Justificativa:
     
     O item descreve a situação de deadlock (bloqueio) e não a situação de
     starvation (inanição).
     
     Segundo Tanenbaum, "um conjunto de processos estará em situação de
     deadlock se todo processo pertencente ao conjunto estiver esperando por um
     evento que somente um outro processo desse mesmo conjunto poderá fazer
     acontecer" [1].
     
     Além disso, "deadlocks também podem ocorrer em outras situações, inclusive
     sem qualquer recurso envolvido. Por exemplo, pode acontecer de dois
     processos ficarem em situação de deadlock devido ao fato de cada um precisar
     esperar que o outro faça algo." [2]
     
     Sobre o conceito de starvation (inanição), Tanenbaum diz ser "um problema
     intimamente relacionado à questão dos deadlocks" em que "[um processo] é
     preterido indefinidamente, ainda que não esteja bloqueado [...]" [3]
     
     Outras referências também dão suporte a essas definições do conceito de
     deadlock e starvation:
     
     Segundo Stallings, deadlock "é uma situação em que dois ou mais processos
     não conseguem prosseguir porque cada um deles está esperando por um dos
     outros fazer algo" e starvation "é uma situação em que um processo pronto
     para execução é ignorando indefinidamente pelo escalonador; apesar de poder
     prosseguir, ele nunca é escolhido".
     
     Portanto, tendo em vista a precisa conformidade do texto do item 55 com a
     definição de deadlock, e não starvation, sugere-se que se altere o gabarito
     de certo para errado.
     
     
     Referencias:
     
     [1] Andrew S. Tanenbaum, Sistemas Operacionais Modernos 2a edição, Prentice
     Hall, 2005, pág 120
     [2] e [3] idem, pág 135
     
     [4] William Stallings, Operating Systems Internals and Design Principles
     5th ed, Prentice Hall, 2004, pág 207
     
     Na tabela 5.1:
     
     "Deadlock - A situation in which two or more processes are unable to
     proceed because each is waiting for one of the others to do something."
     
     "Starvation - A situation in which a runnable process is overlooked
     indefinitely by the scheduler; although it is able to proceed, it is never
     chosen."
  • Caras, esse conceito da questão não seria livelock?

  • Concordo contigo Marlo! Realmente pra mim esse conceito seria de livelock, mas pra responder essa questão bastava saber o conceito de  starvation como o diogo soares explicou logo a baixo.

  • Questão errada. Conceito apresentado é de Deadlock!