deadlocks em sistemas distribuídos
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]