Professional Documents
Culture Documents
(Deadlocks)
IPG-ESTG EI 2016-17 Sistemas Operativos
Operating System Concepts 9th Edition Silberschatz, Galvin and Gagne 2013
Interblocagem (Deadlocks)
O Problema da Interblocagem
Modelo de Representao do Sistema
Caracterizao da Interblocagem
IPG-ESTG EI 2016-17 Sistemas Operativos
O Problema da Interblocagem
Um grupo de processos bloqueados, cada um detendo um
determinado recurso e espera de obter outro recurso detido por um
dos outros processos bloqueados do grupo
IPG-ESTG EI 2016-17 Sistemas Operativos
Exemplo
O sistema tem 2 unidades de disco
Cada um dos processos P1 e P2 detm uma unidade de disco e
necessita de outra unidade
Exemplo
Semforos A e B, inicializados a 1
P0 P1
wait (A); wait(B);
wait (B); wait(A);
Caracterizao da Interblocagem:
Grfico de Alocao de Recursos
Um conjunto de vrtices V e um conjunto de ligaes E.
Pi pede instncia de Rj
Pi
Rj
Pi detm uma instncia de Rj
Pi
Rj
Exemplo
de um Grfico de Alocao de Recursos
IPG-ESTG EI 2016-17 Sistemas Operativos
Evitar Deadlocks
Um mtodo alternativo para evitar deadlocks exigir que o sistema tenha
a priori alguma informao adicional disponvel. Nomeadamente,
informao sobre como vo ser pedidos os recursos do sistema.
Os mtodos mais simples e teis exigem que cada processo
IPG-ESTG EI 2016-17 Sistemas Operativos
P2, , Pn> de todos os processos do sistema tal que, para cada Pi, os
recursos que Pi ainda poder vir a pedir podem ser satisfeitos pelos
recursos atualmente disponveis + os recursos detidos por todos os
processos Pj, com j < i
Ou seja:
Se as necessidades de recursos do processo Pi no esto
disponveis, ento Pi pode esperar at que todos os processos Pj
terminem e libertem os respetivos recursos
Quando os processos Pj terminarem, o processo Pi pode ento
obter os recursos necessrios, executar, devolver os recursos
alocados e terminar
Quando Pi terminar, o processo Pi +1 pode obter os seus recursos
necessrios, e assim sucessivamente para os restantes
processos
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 19
1. Algoritmo:
Grfico de Alocao de Recursos
IPG-ESTG EI 2016-17 Sistemas Operativos
1. Algoritmo:
Grfico de Alocao de Recursos
recurso
Estruturas de Dados
para o Algoritmo do Banqueiro
reivindicado
2. Se Requesti Available, passar ao passo 3. Caso contrrio, Pi
deve esperar, uma vez que os recursos no esto disponveis
3. Simular que se alocam a Pi os recursos pedidos, modificando o
estado do sistema do modo seguinte:
Available = Available Request;
Allocationi = Allocationi + Requesti;
Needi = Needi Requesti;
Se seguro (safe) os recursos so alocados a Pi
Se no-seguro (unsafe) Pi deve esperar, sendo reposto o
anterior estado de alocao de recursos
5 processos: P0 a P4;
3 tipos de recursos:
IPG-ESTG EI 2016-17 Sistemas Operativos
Exemplo de aplicao
do Algoritmo do Banqueiro (Cont.)
Need
IPG-ESTG EI 2016-17 Sistemas Operativos
ABC
P0 743
P1 122
P2 600
P3 011
P4 431
Deteo de Deadlock
Permite que o sistema entre num estado de deadlock
Algoritmo de deteo
IPG-ESTG EI 2016-17 Sistemas Operativos
Mecanismo de recuperao
Pi Pj se Pi est espera de Pj
Grfico wait-for
Grfico de Alocao de Recursos
correspondente
Exemplo:
Algoritmo de Deteo de Deadlock
A sequncia <P0, P2, P3, P1, P4> resultar em Finish[i] = verdade para
todos os i
P0 000
P1 202
P2 001
P3 100
P4 002
Utilizao
do Algoritmo de Deteo de Deadlock
back)?
Um por cada ciclo disjunto
Recuperao de um Deadlock:
Preempo de Recursos