You are on page 1of 22

Interblocagem

(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

 Mtodos para lidar com a Interblocagem


 Preveno da Interblocagem
 Evitar a Interblocagem
 Deteo da Interblocagem
 Recuperao de uma Interblocagem

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 2
Objetivos
 Descrever o problema da interblocagem (deadlocks), que impedem
que processos concorrentes terminem as suas tarefas
IPG-ESTG EI 2016-17 Sistemas Operativos

 Apresentar vrios mtodos para prevenir ou evitar a ocorrncia de


deadlocks num sistema computacional

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 3

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);

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 4
IPG-ESTG EI 2016-17 Sistemas Operativos
Exemplo: Travessia de uma Ponte

 Trfego apenas num sentido


 A ponte pode ser vista como um recurso
 Se ocorrer um deadlock, pode ser resolvido fazendo recuar um
carro (preempo de recursos e rollback)
 Se ocorrer um deadlock, podero ter de ser recuados vrios
carros
 Possibilidade de ocorrer starvation (mngua)
 Nota: a maioria dos sistemas operativos no previne a
ocorrncia ou no lida com deadlocks
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 5

Modelo de Representao do Sistema

 Tipos/categorias de recursos do sistema R1, R2, . . ., Rm


 Ciclos de CPU, espao de memria, dispositivos de E/S
IPG-ESTG EI 2016-17 Sistemas Operativos

 Cada tipo de recurso Ri tem Wi instncias.

 Num modo de operao normal, um processo pode utilizar um


recurso apenas na seguinte sequncia:
 request (pedido do recurso)
 use (utilizao do recurso)
 release (libertao do recurso)

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 6
Caracterizao da Interblocagem:
Condies Necessrias
Uma situao de deadlock pode ocorrer se as 4 condies
seguintes se verificarem simultaneamente.
 Excluso mtua: apenas um processo pode usar o recurso de
cada vez
IPG-ESTG EI 2016-17 Sistemas Operativos

 Detm e espera: um processo que detm pelo menos um


recurso est espera de obter mais recursos detidos por outros
processos

 Sem preempo: um recurso s pode ser libertado


voluntariamente pelo processo que o detm, depois de concluda
a sua tarefa

 Espera circular: existe um conjunto de processos em espera


{P0, P1, , Pn} tal que P0 est espera de um recurso detido por
P1, P1 est espera de um recurso detido por P2, , Pn1 est
espera de um recurso detido por Pn, e Pn est espera de um
recurso detido por P0.

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 7

Caracterizao da Interblocagem:
Grfico de Alocao de Recursos
Um conjunto de vrtices V e um conjunto de ligaes E.

 V particionado em dois tipos:


IPG-ESTG EI 2016-17 Sistemas Operativos

 P = {P1, P2, , Pn}, o conjunto de todos os processos do


sistema

 R = {R1, R2, , Rm}, o conjunto de todos os tipos de recursos


do sistema

 ligao de pedido ligao no sentido Pi Rj

 ligao de atribuio ligao no sentido Rj Pi

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 8
Caracterizao da Interblocagem:
Grfico de Alocao de Recursos (Cont.)
 Processo
IPG-ESTG EI 2016-17 Sistemas Operativos

 Tipo de recurso com 4 instncias

 Pi pede instncia de Rj

Pi
Rj
 Pi detm uma instncia de Rj

Pi
Rj

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 9

Exemplo
de um Grfico de Alocao de Recursos
IPG-ESTG EI 2016-17 Sistemas Operativos

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 10
Grfico de Alocao de Recursos
IPG-ESTG EI 2016-17 Sistemas Operativos
com Deadlock

P3 pediu uma instncia do tipo de recurso R2


Existem 2 ciclos no sistema: P1-R1-P2-R3-P3-R2-P1
P2-R3-P3-R2-P2
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 11

Grfico com um Ciclo,


mas sem Deadlock
IPG-ESTG EI 2016-17 Sistemas Operativos

Existe 1 ciclo no sistema: P1-R1-P3-R2-P1


No entanto, no existe deadlock (quando P4 libertar R2, P3 recebe R2)
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 12
Grfico de Alocao de Recursos:
Factos Elementares

 Se o grfico no contm ciclos no h deadlock


IPG-ESTG EI 2016-17 Sistemas Operativos

 Se o grfico contm um ciclo


 Se existir apenas uma instncia de cada tipo de recurso, ento
h deadlock
 Se existirem vrias instncias de cada tipo de recurso,
possibilidade de ocorrer deadlock

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 13

Mtodos para Lidar com Deadlocks

 Assegurar que o sistema nunca entra num estado de deadlock


IPG-ESTG EI 2016-17 Sistemas Operativos

 Permitir que o sistema entre num estado de deadlock para depois o


recuperar

 Ignorar o problema e fazer de conta que um deadlock nunca ocorre


no sistema
 Mtodo seguido por muitos sistemas operativos, incluindo UNIX e
Windows

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 14
Preveno de Deadlocks

 A preveno de deadlocks obtida restringindo o modo como os


pedidos de recursos podem ser feitos.
IPG-ESTG EI 2016-17 Sistemas Operativos

 Vimos que uma situao de deadlock podia ocorrer se se verificassem


simultaneamente as 4 condies: excluso mtua, detm e espera,
sem preempo e espera circular

 Assim, se for assegurado que pelo menos uma das condies no se


verifica, podemos prevenir a ocorrncia de um deadlock.

 As desvantagens que se obtm com a preveno de deadlocks a


reduzida utilizao de recursos e o reduzido desempenho do sistema

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 15

Preveno de Deadlocks (Cont.)


 Excluso Mtua no necessria para recursos partilhveis; deve
verificar-se apenas para recursos que no so partilhveis.
 Um processo nunca necessita de esperar por um recurso que
IPG-ESTG EI 2016-17 Sistemas Operativos

pode ser partilhado


 No entanto, no possvel prevenir a ocorrncia de um deadlock
por negao da condio de excluso mtua, uma vez que
alguns recursos so intrinsecamente no-partilhveis

 Detm e Espera deve garantir que, sempre que um processo pea


um recurso, ele no detenha quaisquer outros recursos
 Requer que o processo pea e que lhe sejam alocados todos os
recursos, antes de iniciar a sua execuo; Em alternativa, permitir
que o processo pea recursos apenas quando no detiver
nenhum
 Baixa utilizao de recursos; possibilidade de starvation

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 16
Preveno de Deadlocks (Cont.)
 Sem preempo
 Se um processo que detm alguns recursos pedir outro recurso
que no lhe pode ser atribudo imediatamente, ento todos os
IPG-ESTG EI 2016-17 Sistemas Operativos

recursos que ele detm so libertados


 Os recursos que lhe foram retirados so adicionados lista de
recursos pelos quais o processo est espera
 O processo s ser reiniciado quando puder deter os seus
antigos recursos, bem como os novos recursos que pediu

 Espera Circular uma maneira de garantir que esta condio nunca


se verifica definir uma ordenao de todos os tipos de recursos e
exigir que cada processo faa o pedido de recursos numa ordem
crescente de enumerao

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 17

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

indique o nmero mximo de recursos de cada tipo que pode vir a


precisar

 O algoritmo para evitar deadlocks verifica dinamicamente o estado


de alocao de recursos para garantir que nunca ocorre a condio
de espera-circular

 O estado de alocao de recursos definido pelo nmero de


recursos alocados e disponveis, bem como pelo nmero mximo
de recursos que um processo pode pedir

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 18
Estado Seguro (Safe State)

 Quando um processo pede um recurso disponvel, o sistema deve


verificar se a imediata alocao deixa o sistema num estado seguro
 O sistema estar num estado seguro se existir uma sequncia <P1,
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

Estado Seguro: Factos Elementares

 Se um sistema est num estado seguro (safe state) no h


deadlocks
IPG-ESTG EI 2016-17 Sistemas Operativos

 Se um sistema est num estado inseguro (unsafe state)


possibilidade de deadlock

 Evitar deadlock assegurar que o sistema nunca entra num


estado inseguro (unsafe state).

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 20
IPG-ESTG EI 2016-17 Sistemas Operativos
Estados Seguro, Inseguro e Deadlock

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 21

Algoritmos para Evitar Deadlocks

 Uma nica instncia de cada tipo de recursos


 Utilizar algoritmo do grfico de alocao de recursos
IPG-ESTG EI 2016-17 Sistemas Operativos

 Mltiplas instncias em cada tipo de recursos


 Utilizar algoritmo do banqueiro (bankers algorithm)

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 22
1. Algoritmo:
Grfico de Alocao de Recursos

 Ligao reivindicada (claim edge) Pi Rj indica que o processo Pi


poder pedir o recurso Rj; representada por uma linha tracejada
IPG-ESTG EI 2016-17 Sistemas Operativos

 Ligao reivindicada convertida numa ligao de pedido quando


um processo pede um recurso

 Ligao de pedido convertida numa ligao de atribuio quando


o recurso alocado ao processo

 Quando um recurso libertado por um processo, a ligao de


atribuio reconvertida numa ligao reivindicada

 Os recursos do sistema devem ser reivindicados a priori

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 23

1. Algoritmo:
Grfico de Alocao de Recursos
IPG-ESTG EI 2016-17 Sistemas Operativos

Grfico de Alocao de Recursos para evitar deadlocks

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 24
1. Algoritmo:
IPG-ESTG EI 2016-17 Sistemas Operativos
Grfico de Alocao de Recursos

Estado no-seguro (unsafe state) no Grfico de Alocao de


Recursos

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 25

1. Algoritmo:
Grfico de Alocao de Recursos

 Supor que o processo Pi pede um recurso Rj

 O pedido pode ser satisfeito apenas se a converso da ligao de


IPG-ESTG EI 2016-17 Sistemas Operativos

pedido numa ligao de atribuio no resultar na formao de um


ciclo no grfico de alocao de recursos

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 26
2. Algoritmo:
Algoritmo do Banqueiro

 Mltiplas instncias de cada tipo de recurso

 Cada processo deve reivindicar a priori a mxima utilizao de cada


IPG-ESTG EI 2016-17 Sistemas Operativos

recurso

 Quando um processo pede uma instncia de um recurso poder ter


de esperar

 Quando um processo obtm todos os seus recursos, dever


libert-los ao fim de uma quantidade de tempo finita

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 27

Estruturas de Dados
para o Algoritmo do Banqueiro

Sejam n = nmero de processos, e m = nmero de tipos de recursos.


 Available: Vetor de comprimento m. Se Available [j] = k, significa
IPG-ESTG EI 2016-17 Sistemas Operativos

que esto disponveis k instncias do tipo de recurso Rj

 Max: matriz n x m. Se Max [i,j] = k, ento o processo Pi pode


pedir no mximo k instncias do tipo de recurso Rj

 Allocation: matriz n x m. Se Allocation[i,j] = k ento Pi detm


atualmente k instncias de Rj

 Need: matriz n x m. Se Need[i,j] = k, ento Pi poder necessitar de


mais k instncias de Rj para completar a sua tarefa

Need [i,j] = Max[i,j] Allocation [i,j]

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 28
Algoritmo para Verificar
se Sistema est num Estado Seguro

1. Sejam os vetores Work e Finish de comprimentos m e n,


respetivamente. Inicializar:
Work = Available
IPG-ESTG EI 2016-17 Sistemas Operativos

Finish [i] = falso para i = 0, 1, , n- 1

2. Encontrar um i tal que, tanto:


(a) Finish [i] = falso
(b) Needi Work
Se no existir nenhum i, passar ao passo 4

3. Work = Work + Allocationi


Finish[i] = verdade
passar ao passo 2

4. Se Finish [i] = verdade para todos os i, ento o sistema est num


estado seguro

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 29

Algoritmo de Pedido de Recurso


para o Processo Pi

Request = vetor de pedidos do processo Pi. Se Requesti [j] = k ento


o processo Pi quer k instncias do tipo de recurso Rj
1. Se Requesti Needi passar ao passo 2. Caso contrrio, declarar
condio de erro, uma vez que o processo excedeu o valor
IPG-ESTG EI 2016-17 Sistemas Operativos

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

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 30
Exemplo de aplicao
do Algoritmo do Banqueiro

 5 processos: P0 a P4;
3 tipos de recursos:
IPG-ESTG EI 2016-17 Sistemas Operativos

A (10 instncias), B (5 instncias), e C (7 instncias)


Situao no instante T0:
Allocation Max Available
ABC ABC ABC
P0 010 753 332
P1 200 322
P2 302 902
P3 211 222
P4 002 433

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 31

Exemplo de aplicao
do Algoritmo do Banqueiro (Cont.)

 O contedo da matriz Need definido por Max Allocation

Need
IPG-ESTG EI 2016-17 Sistemas Operativos

ABC
P0 743
P1 122
P2 600
P3 011
P4 431

 O sistema est num estado seguro uma vez que a sequncia de


processos < P1, P3, P4, P2, P0> satisfaz os critrios de segurana

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 32
Exemplo: P1 faz o pedido de (1,0,2)

 Verificar se Request Available (isto , (1,0,2) (3,3,2) verdade)


Allocation Need Available
ABC ABC ABC
IPG-ESTG EI 2016-17 Sistemas Operativos

P0 010 743 230


P1 302 020
P2 302 600
P3 211 011
P4 002 431

 A execuo do algoritmo de segurana mostra que a sequncia < P1,


P3, P4, P0, P2> satisfaz o requisito de segurana

 E o pedido de (3,3,0) por P4 pode ser satisfeito?

 E o pedido de (0,2,0) por P0 pode ser satisfeito?

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 33

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

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 34
Apenas uma Instncia
de cada tipo de Recurso

 Manuteno de grfico espera-por (grfico wait-for)


 Os vrtices so processos
IPG-ESTG EI 2016-17 Sistemas Operativos

 Pi Pj se Pi est espera de Pj

 Invocar periodicamente um algoritmo que tente encontrar um ciclo no


grfico. Se existir um ciclo, ento existe um deadlock

 Um algoritmo para detetar um ciclo num grfico requer um nmero


de operaes da ordem de n2, em que n o nmero de vrtices no
grfico

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 35

Grfico de Alocao de Recursos


e Grfico Wait-for
IPG-ESTG EI 2016-17 Sistemas Operativos

Grfico wait-for
Grfico de Alocao de Recursos
correspondente

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 36
Vrias Instncias
de cada Tipo de Recurso

 Available: Um vetor de comprimento m que indica o nmero de


recursos disponveis de cada tipo.
IPG-ESTG EI 2016-17 Sistemas Operativos

 Allocation: Uma matriz n x m que indica o nmero de recursos de


cada tipo atualmente alocados a cada processo.

 Request: Uma matriz n x m que indica os pedidos atuais de cada


processo. Se Request [i][j] = k, ento o processo Pi est a pedir mais
k instncias do tipo de recurso Rj.

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 37

Algoritmo de Deteo de Deadlock


1. Sejam Work e Finish vetores de comprimento m e n, respetivamente.
Inicializar:
(a) Work = Available
IPG-ESTG EI 2016-17 Sistemas Operativos

(b) Para i = 1,2, , n, se Allocationi 0, ento


Finish[i] = falso; caso contrrio, Finish[i] = verdade

2. Encontrar um ndice i tal que, tanto:


(a) Finish[i] = falso
(b) Requesti Work

Se i no existir, passar ao passo 4

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 38
Algoritmo de Deteo de Deadlock (Cont.)

3. Work = Work + Allocationi


Finish[i] = verdade
passar ao passo 2
IPG-ESTG EI 2016-17 Sistemas Operativos

4. Se Finish[i] = falso, para algum i, 1 i n, ento o sistema est num


estado de deadlock. Alm disso, se Finish[i] = falso, ento Pi est em
deadlock

O algoritmo requer um nmero de operaes da ordem de O(m x n2)


para detetar se o sistema est num estado de deadlock

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 39

Exemplo:
Algoritmo de Deteo de Deadlock

 5 processos: P0 a P4; 3 tipos de recursos


A (7 instncias), B (2 instncias) e C (6 instncias)
IPG-ESTG EI 2016-17 Sistemas Operativos

 Situao no instante de tempo T0:


Allocation Request Available
ABC ABC ABC
P0 010 000 000
P1 200 202
P2 303 000
P3 211 100
P4 002 002

 A sequncia <P0, P2, P3, P1, P4> resultar em Finish[i] = verdade para
todos os i

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 40
Exemplo (Cont.):
Algoritmo de Deteo de Deadlock

 P2 requer uma instncia adicional do recurso de tipo C


Request
ABC
IPG-ESTG EI 2016-17 Sistemas Operativos

P0 000
P1 202
P2 001
P3 100
P4 002

 Qual o estado do sistema?


 Apesar dos recursos detidos pelo processo P0 poderem ser
reivindicados, o nmero de recursos disponveis no suficiente
para satisfazer os pedidos dos outros processos
 Assim, existe uma situao de deadlock, definida pelos processos
P1, P2, P3, e P4
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 41

Utilizao
do Algoritmo de Deteo de Deadlock

 Quando invocar o algoritmo e com que regularidade? Depende de:


 Com que regularidade provvel que ocorra um deadlock?
 Quantos processos necessitaro de ser retrocedidos (rolled
IPG-ESTG EI 2016-17 Sistemas Operativos

back)?
 Um por cada ciclo disjunto

 Se o algoritmo de deteo for invocado arbitrariamente, poder haver


muitos ciclos no grfico de recursos, pelo que no saberemos dizer
qual dos muitos processos em deadlock causou o deadlock do
sistema.

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 42
Recuperao de um Deadlock:
Terminao de Processos
 Abortar todos os processos em deadlock

 Abortar um processo de cada vez, at que o ciclo que provoca o


IPG-ESTG EI 2016-17 Sistemas Operativos

deadlock seja eliminado

 Que ordem escolher para abortar os processos?


 Prioridade do processo
 Quanto tempo esteve o processo em execuo, e quanto tempo
ainda falta para concluir
 Recursos que o processo utilizou
 Recursos de que o processo necessita para concluir
 Quantos processos necessitam de ser terminados
 O processo interativo ou no (batch)?

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 43

Recuperao de um Deadlock:
Preempo de Recursos

 Selecionar uma vtima minimizar custos


IPG-ESTG EI 2016-17 Sistemas Operativos

 Retroceder (rollback) repor em algum estado seguro, reiniciar o


processo nesse estado

 Starvation (mngua) alguns processos podero ser sempre os


escolhidos como vtima: incluir nmero de vezes do processo de
rollback no fator custo

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2013 Sistemas Operativos - Interblocagem 44

You might also like