Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 7: Deadlocks

  • View
    110

  • Download
    1

Embed Size (px)

Text of Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition...

  • Slide 1
  • Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Captulo 7: Deadlocks
  • Slide 2
  • 7.2 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition O Problema do Deadlock Um conjunto de processos bloqueados, cada um bloqueando um recurso e esperando adquirir um recurso bloqueado por outro processo do conjunto Exemplo Sistema com dois drivers de disco P 1 e P 2 possuem um driver e querem adquirir mais um driver Exemplo Semforos A e B, inicializados como 1 P 0 P 1 wait (A); wait (B); wait(B) ;wait(A);
  • Slide 3
  • 7.3 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Exemplo do cruzamento da ponte Apenas uma mo por vez Cada seo da ponte pode ser vista como um recurso Se um deadlock ocorrer, ele pode ser resolvido se um dos carros der r (libera recursos e desfaz a ao) Pode ser necessrio mover muitos carros se um deadlock ocorrer Inanio possvel Observao A maioria dos OSs no evitam ou lidam com deadlocks
  • Slide 4
  • 7.4 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Exemplo de deadlock Thread-sem-deadlock.py Thread-com-deadlock.py
  • Slide 5
  • 7.5 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Modelo do Sistema Tipos de recurso: R 1, R 2,..., R m Exemplos: Ciclos de CPU, espao de memria, dispositivos de E/S Cada recurso do tipo R i tem W i instncias Cada processo usa um recurso da seguinte forma: requisita usa libera
  • Slide 6
  • 7.6 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Caracterizao do deadlock Excluso mtua: apenas um processo pode usar um certo recurso de cada vez Posse e espera: um processo bloqueando pelo menos um recurso est esperando para obter recursos adicionais bloqueados por outros processos Sem preempo: um recurso pode ser liberado apenas voluntariamente por um processo, aps o processo ter concludo as suas tarefas Espera circular: existe um conjunto {P 0, P 1, , P n } de processos esperando de tal forma que P 0 est esperando por um recurso que est bloqueado por P 1, P 1 est esperando por um recurso que est bloqueado por P 2, , P n1 est esperando por um recurso que est bloqueado por P n, e P n est esperando por um recurso que est bloqueado por P 0. O deadlock pode ocorrer se 4 condies ocorrem simultaneamente:
  • Slide 7
  • 7.7 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Grafo de alocao de recursos V particionado em dois tipos: P = {P 1, P 2, , P n } Conjunto com todos os processos do sistema R = {R 1, R 2, , R m } Conjunto de todos os recursos do sistema Aresta de requisio aresta direcionada P i R j Aresta de atribuio aresta direcionada R j P i Conjunto de vrtices V e conjunto de arestas E.

Search related