Deadlocks

Disponível somente no TrabalhosFeitos
  • Páginas : 8 (1947 palavras )
  • Download(s) : 0
  • Publicado : 8 de junho de 2012
Ler documento completo
Amostra do texto
Capítulo 3: Deadlocks
Modelo do Sistema Caracterização de Deadlock Métodos para Tratamento de Deadlocks Prevenção de Deadlock Evitando Deadlock Detecção de Deadlock Recuperação de Deadlock Abordagem Combinada para Tratamento de Deadlock

INE5355 – Sistemas Operacionais I

3.1

Recursos
Tipos de Recursos R1, R2, . . ., Rm
ciclos de UCP, espaço de memória, dispositivos de E/S

Processosprecisam acessar recursos ordenadamente Supor que um processo mantém um recurso A
− No mesmo tempo outro processo mantém B e requisita A − Os dois são bloqueados e permanecem assim

INE5355 – Sistemas Operacionais I

3.2

Recursos (1)

Deadlocks ocorrem quando …
− Processos tem garantido acesso exclusivo aos dispositivos − Estes dispositivos são referidos como recursos

Recursospreemptáveis
− Podem ser retirados de um processo sem efeitos negativos

Recursos não-preemptáveis
− Causa falha do processo se forem retirados do mesmo

INE5355 – Sistemas Operacionais I

3.3

Recursos (2)

Cada processo utiliza um recurso como segue:
− requisita − usa − Libera

Deve esperar se requisição é rejeitada
− Processo requisitante pode ser bloqueado − Pode falhar com códigode erro

INE5355 – Sistemas Operacionais I

3.4

O Problema Deadlock
Definição formal: Um conjunto de processos esta em deadlock se cada processo do conjunto está esperando por um evento que somente outro processo no conjunto pode causar. Usualmente o evento é a liberação de um recurso Nenhum dos processos pode:
− executar − Liberar recurso − Ser acordado

INE5355 – SistemasOperacionais I

3.5

Caracterização de Deadlock
Deadlock pode existir se 4 condições acontecem simultaneamente. Exclusão Mútua:
− Cada recurso alocado a apenas um processo por vez ou

livre

Manter e esperar:
− processos mantendo recurso podem requisitar recursos

adicionais.

Sem preempção:
− um recurso previamente garantido não pode ser retirado do

processo

Espera Circular:
− Devehaver uma cadeia circular de 2 ou mais processos − Cada um esta esperando por recurso mantido pelo próximo

membro da cadeia

INE5355 – Sistemas Operacionais I

3.6

INE5355 – Sistemas Operacionais I

3.7

INE5355 – Sistemas Operacionais I

3.8

Grafo de Alocação de Recursos
Um conjunto de vertices V e um conjunto de arcos A. V é particionado em 2 tipos:
− P = {P1, P2, …, Pn},conjunto dos processos no sistema. − R = {R1, R2, …, Rm}, conjunto dos tipos de recursos no

sistema.

Arco de requisição – arco direto P1 → Rj Arco de atribuição – arco direto Rj → Pi

INE5355 – Sistemas Operacionais I

3.9

Grafo de Alocação de Recursos (Cont.)
Processo

Recurso com 4 instâncias

Pi requisita instância de Rj
Pi
Rj

Pi possui uma instância de Rj
Pi
RjINE5355 – Sistemas Operacionais I 3.10

Exemplo: Grafo de Alocação de Recursos

INE5355 – Sistemas Operacionais I

3.11

Grafo de Alocação de Recursos c/ Deadlock

INE5355 – Sistemas Operacionais I

3.12

Grafo de Alocação de Recursos c/ ciclo ….

INE5355 – Sistemas Operacionais I

3.13

Fatos
Se o grafo não contém ciclos ⇒ sem deadlock. Se o grafo contém um ciclo ⇒
− Seapenas uma instância por tipo de recurso, deadlock. − Se várias instâncias por tipo de recurso, possibilidade de

deadlock.

INE5355 – Sistemas Operacionais I

3.14

Estratégias para Tratar Deadlocks
Assegurar, através da prevenção, que o sistema nunca vai entrar em estado de deadlock. Permitir que o sistema entre em estado de deadlock e então detectar e recuperar. Evitar, através daalocação cuidadosa dos recursos. Ignorar o problema e fazer de conta que deadlocks nunca ocorrem no sistema.

INE5355 – Sistemas Operacionais I

3.15

Modelagem de Deadlock Ocorrência

INE5355 – Sistemas Operacionais I

3.16

Modelagem de Deadlock Evitando

INE5355 – Sistemas Operacionais I

3.17

O Algoritmo da Avestruz
Faz de conta que não existe problema Razoável se
−...
tracking img