SóProvas


ID
800722
Banca
Exército
Órgão
EsFCEx
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Uma situação de livelock envolvendo dois processos difere de uma situação de deadlock porque:

Alternativas
Comentários
  • livelock (situação na qual uma unidade concorrente não consegue terminar a execução ou entrar em uma seção crítica por excesso de trabalho ou falta de velocidade; difere de deadlock por estar ativa e não bloqueada ou aguardando algo).

  • Uma thread geralmente age em resposta à ação de uma segunda thread.
    Se a ação da segunda thread também é uma resposta à ação da primeira thread, pode-se dar origem a um LIVELOCK.
    Tal como acontece com o deadlock, as threads vivas são incapazes de avançar.
    No entanto, elas não são bloqueadas - elas estão simplesmente muito ocupadas respondendo umas as outras para retomar o trabalho.

  • GABARITO A

    Segundo Tanenbaum,

    Livelock

    "Em algumas situações, um processo tenta ser educado abrindo mão dos bloqueios que ele já adquiriu sempre que nota que não pode obter o bloqueio seguinte de que precisa. Então ele espera um milissegundo, digamos, e tenta de novo. Em princípio, isso é bom e deve ajudar a detectar e a evitar impasses. No entanto, se o outro processo faz a mesma coisa exatamente no mesmo momento, eles estarão na situação de duas pessoas tentando passar uma pela outra quando ambas educadamente dão um passo para o lado e, no entanto, nenhum progresso é possível, pois elas seguem dando um passo ao lado na mesma direção ao mesmo tempo.

    [...] É claro, nenhum processo é bloqueado e poderíamos até dizer que as coisas estão acontecendo, então isso não é um impasse. Ainda assim, nenhum progresso é possível, então temos algo equivalente: um livelock."

    FONTE: Tanenbaum