






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Este documento, originado de slides de aula da faculdade de informática da pucrs, aborda os algoritmos distribuídos para prevenir e detectar deadlock em sistemas. O deadlock é uma situação que ocorre em sistemas computacionais quando dois ou mais processos ficam à espera indefinidamente de recursos mantidos por outros processos. O documento aborda as condições que levam ao deadlock, como exclusão mútua, hold and wait, não preempção e espera circular, e métodos para evitar, prevenir e detectar deadlocks. Além disso, são apresentados exemplos e técnicas específicas para cada método.
Tipologia: Notas de estudo
1 / 10
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Sistemas Distribuídos 231
Faculdade de Informática - PUCRS
Sistemas Distribuídos 232
Faculdade de Informática - PUCRS
Sistemas Distribuídos 233
Faculdade de Informática - PUCRS
Sistemas Distribuídos 234
Faculdade de Informática - PUCRS
P
P
alocação
alocação
requisição
R R
P
P2 possui uma unidade de R
R P
P
R P P1 requisita duas unidades de R R P1 P P1 adquire duas unidades deR
Sistemas Distribuídos 237
Faculdade de Informática - PUCRS
y evitar n evita deadlock alocando recursos cuidadosamente y prevenir n estaticamente faz com que deadlocks não ocorram y detectar n permite que o deadlock ocorra, detecta e tenta recuperar
Sistemas Distribuídos 238
Faculdade de Informática - PUCRS
y usam conhecimento sobre quantidades de recursos que processos irão usar, prevendo estado futuro do sistema que possa ocasionar deadlock y noção de safe-state: sistema está em um safe-state se não está em deadlock e existe uma ordem de execução dos processos do sistema que garanta que eles possam alocar os recursos necessários para prosseguir e terminar y formação de uma safe-state sequence : n para qualquer processo Pi em de uma safe sequence, os recursos que Pi pode ainda requisitar podem ser satisfeitos pelos recursos disponíveis no momento mais os recursos bloqueados por todos processos antes de Pi na safe sequence n se Pi não pode executar imediatamente, isto significa que Pi pode esperar que os processos antes dele na safe-sequence acabem, para então prosseguir
Sistemas Distribuídos 239
Faculdade de Informática - PUCRS
Possui Máximo P0 3 10 P1 2 4 P2 2 8 Número de unidades do recurso:12, disponível: Possui Máximo P0 5 10 P1 2 4 P2 2 8 Número de unidades do recurso:12, disponível: Possui Máximo P0 5 10 P1 2 4 P2 3 8 Número de unidades do recurso:12, disponível:
Sistemas Distribuídos 240
Faculdade de Informática - PUCRS
y usados raramente y assume-se que existe conhecimento prévio sobre o comportamento dos processos - difícil na prática y assume-se que número de unidades de um recurso é fixa e conhecida a priori y restringe muitos pedidos de alocação que não necessariamente levariam a deadlock
y em sistemas distribuidos, dificuldade para: n colecionar informação sobre necessidade/oferta de recursos é mais difícil
Sistemas Distribuídos 243
Faculdade de Informática - PUCRS
y má utilização de recursos: processo pode ter vários recursos alocados e não usar alguns por longos períodos y starvation: se processo precisa de muitos recursos, cada vez que faz pedido pode encontrar um ou mais já alocados, tem que esperar e voltar a pedir request
Sistemas Distribuídos 244
Faculdade de Informática - PUCRS
y evita que espera circular aconteça y associa número a recurso y processo só pode alocar recursos em uma determinada ordem
Sistemas Distribuídos 245
Faculdade de Informática - PUCRS
Sistemas Distribuídos 246
Faculdade de Informática - PUCRS
y possibilita preempção de recurso y recurso preemptável: estado pode ser facilmente salvo para ser restaurado depois (ex.: cpu e memória) y se processo precisa de recurso, faz request, se outro processo que detém recurso está bloqueado a espera de outro recurso, então recurso é preemptado e passado ao primeiro processo, caso contrário primeiro processo espera y durante espera recursos podem ser preemptados deste processo para que outros progridam y processo é desbloqueado quando recurso requerido, e qualquer outro recurso preemptado dele, possam ser bloqueados para o processo
Sistemas Distribuídos 249
Faculdade de Informática - PUCRS
Sistemas Distribuídos 250
Faculdade de Informática - PUCRS
z Proposto por Chandy-Misra-Haas z Funciona da seguinte forma: y iniciado quando um processo tem que esperar um recurso alocado por outro processo y processo envia msg ( probe message ) para processo (ou processos) que está(ao) utilizando recurso y msg contém 3 informações: n número do processo que está bloqueado n número do processo que enviou a msg n número do processo que está recebendo a msg y quando a msg chega a um processo, ele verifica se está esperando por recurso n se sim a msg é atualizada e enviada para o processo que está usando o recurso y se a msg dá toda a volta e chega ao processo que iniciou a msg, um ciclo existe e o sistema está em deadlock