SóProvas


ID
2113912
Banca
Colégio Pedro II
Órgão
Colégio Pedro II
Ano
2016
Provas
Disciplina
Sistemas Operacionais
Assuntos

Considere P1 e P2, dois processos que estão em execução. P1 tem acesso exclusivo do R1, assim como P2 tem acesso exclusivo do R2. Durante o processamento, P1 necessita do R2 para prosseguir e fica aguardando até que o recurso R2 seja liberado. Em seguida P2 necessita do R1 e ficará aguardando a liberação do R1.
A situação descrita anteriormente denomina-se

Alternativas
Comentários
  • Gabarito: C.

     

    Deadlock/Impasse - ocorre quando um processo espera por um evento que nunca ocorrerá. Processos formam um ciclo fechado, numa espera circular que impede os mesmos de executar/concluir suas tarefas.

     

    Como complemento:

     

    Starvation/Inanição - ocorre quando os programas são executados indefinidamente e não realizam nenhum progresso em seu processamento. Processos não são escolhidos pelo escalonamento do SO.

     

    Os conceitos de Deadlock e Starvation são bem semelhantes, já errei várias questões por fazer confusão entre eles. Então, assim como todas as outras disciplinas, só fazendo muitas questões para sedimentar.

  • Para muitas aplicações, um processo necessita de acesso exclusivo não só a um recurso, mas também a vários. Suponha, por exemplo, que dois processos queiram cada um gravar em CD um documento escaneado. O processo A solicita permissão para usar o scanner e é autorizado. O processo B, que é programado diferentemente, solicita primeiro permissão para usar o gravador de CD e também é autorizado. Então, o processo A pede para usar o gravador de CD, mas a solicitação lhe é negada até que o processo B o libere. Infelizmente, em vez de liberar o gravador de CD, o processo B pede para usar o scanner. Nesse ponto, ambos os processos ficam bloqueados e assim permanecerão para sempre. Essa situação é denominada impasse (deadlock).

     

    Sistemas operacionais modernos / Andrew S. Tanenbaum

  • Starvation (inanição) - processo nunca consegue executar sua região crítica, ou seja, acessar o recurso compartilhado. Processo com o arquivo extenso nunca consegue alocar o arquivo.

     

    Deadlock (impasse) - no conceito de SO, caracteriza uma situação em que ocorre um impasse e dois ou mais processos foram impedidos de continuar suas execuções, ou seja, ficam bloqueados. Pode ocorrer mesmo que haja apenas um processo no SO, considerando que este processo utilize múltiplos threads.

    Independe da quantidade de recursos disponíveis.


    Condições necessárias para deadlock (simultâneas):

    - Exclusão mútua (apenas um processo de cada vez pode usar o recurso. Caso outro processo solicite um recurso, este deve ser atrasado até que o mesmo tenha sido liberado). Usar spool em tudo.

    - Retenção e espera (Posse e espera por recurso) Requisitar inicialmente todos os recursos alocados. Processos que, em um determinado instante, retêm recursos concedidos anteriormente podem requisitar novos recursos.

    - Inexistência de preempção ou não-preempção (processos que não podem ser parados no meio. Gravação de CD, impressão...) Retomar os recursos alocados. Recursos concedidos previamente a um processo não podem ser forçosamente tomados desse processo – eles devem ser explicitamente liberados pelo processo que os retêm. 

    - Espera circular (O processo nunca é acessado) Ordenar numericamente. Deve existir um encadeamento de dois ou mais processos; cada um deles encontra-se à espera de um recurso que está sendo usado pelo membro seguinte dessa cadeia.