deadlocks em sistemas distribuídos

Upload: tipokle1

Post on 11-Jul-2015

195 views

Category:

Documents


1 download

TRANSCRIPT

Faculdade Integral Diferencial FACID Curso de Sistemas de Informao

Aluno: Stevo Alves de Andrade

Conceito: Um conjunto de processos est em situao de deadlock se cada processo do conjunto estiver esperando por um evento que somente outro processo pertencente ao conjunto poder fazer acontecer.

Ocorrncia: Os processos em deadlock iro esperar indefinidamente at que outro processo externo resolva o problema, geralmente escolhendo um dos processos e exterminando-o, permitindo assim que o outro processo possa ser concludo.

Condies: Excluso Mtua

Posse e espera No preempo Espera circular

Estratgias para tratar deadlocks: Algoritmo do avestruz.

Impedir a ocorrncia de deadlocks. Deteco Permitir que o deadlock ocorra e tentar recuper-lo. Preveno Tornar estruturalmente impossvel a ocorrncia de deadlocks.

Esse mtodo no procura evitar nem prevenir os deadlocks, simplesmente deixa que eles ocorram e depois os detecta para que possam ser corrigidos.Tipos: Deteco Centralizada Deteco Distribuda

Deteco Centralizada

Deteco Centralizada

Situao onde ocorre um ciclo devido a atraso no envio de informaes. Falso Deadlock

Problemas?

Algoritmo

Soluo

Mecanismos usados em algoritmos de sincronizao e relgio baseados na relao happens-before.

de

Lamport

-

Deteco Distribuda

Algoritmo do Banqueiro de Chandy-Misra-Haas

Nesse algoritmo permitido ao processo acessar vrios recursos de uma s vez, tornando a fase de crescimento do algoritmo mais acelerada. Por conseqncia, um processo pode ter que esperar dois ou mais recursos simultaneamente.

Algoritmo de Chandy-Misra-Haas

Funcionamento:

Processos que suspeitam que um deadlock est acontecendo enviam mensagens para outros processos sondas para investigar. Mensagens incluem o nmero do processo que iniciou a sondagem, o nmero do processo que a est reenviado agora, e o nmero do processo para o qual est se enviando a mensagem. Deadlock detectado caso sondagem retorna ao processo que a iniciou, que pode, ento, cometer suicdio. Caso mais de um processo detecte o deadlock, todos eles se suicidariam (desnecessariamente) Soluo solicitar que o processo com maior nmero identificador se suicide

Um nico recurso simultneo por processo. Pre-alocaco de todos os recursos. Numerar recursos e solicit-los sempre em ordem. Em sistemas com tempo global e transaes atmicas dois outros algoritmos so possveis. Cada transao tem um tempo global associado, que indica seu incio.

No primeiro algoritmo, se um processo mais antigo quer um recurso de um processo mais novo, ele espera, e no caso de um processo mais novo querer um recurso de um processo mais antigo ele terminado (wait-die)

No segundo algoritmo, se um processo mais antigo quer um recurso de um processo mais novo, ele preempta (toma o recurso), e no caso de um processo mais novo querer um recurso de um processo mais antigo ele espera (wound-wait)

Andrews S. TANNEMBAUM Sistemas operacionais modernos. So Paulo:, Prentice-Hall 2005.JM. Deitel, P. J. Deitel e D. R. Choffnes Sistemas operacionais.. Silberschatz, Peter Galvin, Greg Gagne. Sistemas operacionais (conceitos e aplicaes)

Faculdade Integral Diferencial FACID Curso de Sistemas de Informao

Stevo Alves de Andrade Email: [email protected]