Anda di halaman 1dari 4

Nome: Alisson Pereira Anjos RA: 0101224702 Nome: Eduardo Massato Kakihata RA: 0101123698 Nome: Larissa Emy

Nakazato RA: 0101224826

DeadLock
1. O que deadlock, quais as condies para obt-lo e quais as solues possveis? uma situao em que um processo aguarda por um recurso que nunca estar disponvel ou um evento que no ocorrer. Para que ocorra a situao de deadlock, quatro condies so necessrias. Excluso mtua: cada recurso s pode estar alocado a um nico processo em um determinado momento; Espera por recurso: um processo, alm dos recursos j alocados, pode estar esperando por outros recursos; No preempo: um recurso no pode ser liberado de um processo s porque outros processos desejam o mesmo recurso; Espera circular: um processo pode ter de esperar por um recurso alocado a outro processo e vice-versa. Para prevenir a ocorrncia de deadlocks, preciso garantir que uma das quatro condies apresentadas no esteja presente. A preveno de deadlocks bastante limitada e, por isso, na prtica no utilizada. Uma soluo conhecida como Algoritmo do Banqueiro (implementada com a presena das quatro condies) tambm possui vrias limitaes. A maior delas a necessidade de um nmero fixo de processos ativos e de recursos disponveis no sistema. Essa limitao impede que a soluo seja implementada na prtica, pois muito difcil prever o nmero de usurios no sistema e o nmero de recursos disponveis. 2. Liste trs exemplos de deadlocks que no estejam relacionados com um ambiente de sistema de computao. No trnsito de carro, principalmente na cidade de So Paulo que ocorre muitos congestionamentos. Quando um carro A fica esperando o carro B passar (desocupar um espao) para avanar. Mas o carro B que est esperando o carro C passar para poder avanar, e o carro C est esperando o carro D passar para avanar, porm o carro D est esperando o carro A passar para avanar, ocasionando ai um deadlock, espera circular. Biblioteca, existem 2 alunos, cada um est com um livro(livros diferentes), e esses livros so cpias nicas que a biblioteca tem. Para concluir o trabalho escolar, necessrio dos 2 livros ao mesmo tempo. Ento o aluno A no vai devolver o livro 1 para a biblioteca at que ele consiga fazer o emprstimo do livro 2 e concluir seu

trabalho. E o aluno B no vai devolver o livro 2 para a biblioteca at que ele consiga fazer o emprstimo do livro 1 e concluir seu trabalho. Ou seja, os 2 alunos esto esperando o livro faltante, mas nenhum dos 2 alunos ir devolver o livro que est com eles antes de ter o outro livro (livro faltante) e concluir o trabalho escolar. Situao em que duas pessoas precisam de uma escada, uma para subir e outra para descer. Ambas decidem deixar a outra pessoa utilizar a escada primeiro. Ento h uma situao de deadlock aonde nenhuma das duas pessoas iro usar a escada enquanto a outra no decidir usar primeiro.

3. possvel ter um deadlock envolvendo apenas um nico processo? Explique sua resposta. Pode ocorrer deadlock em um mesmo processo sim, pois pode ser que este processo utilize mltiplos threads, e os threads requisitem recursos alocados ao mesmo tempo. 4. Considere o deadlock de trafego da figura abaixo. Mostre que as quatro condies necessrias para o deadlock de fato esto presentes neste exemplo.

A condio de excluso mtua existe porque somente um carro pode ocupar um espao na rua. Espera por recurso ocorre quando um carro permanece no seu lugar na rua enquanto espera para avanar.

No preempo acontece porque um carro no pode ser removido de sua posio na rua. Espera circular est muito visvel observando o desenho, porque cada carro est esperando que um carro subsequente avance. 5. Considere um sistema que consista de 4 recursos do mesmo tipo que so compartilhados por 3 processos, cada qual precisando no mximo de 2 recursos. Mostre que o sistema est livre de deadlocks. Aqui no acontece o deadlock, porque como os 4 recursos so de um mesmo tipo, e existe 3 processos(ou seja, menos processos do que recursos), quando um processo requisitar um segundo recurso que esteja sendo usado por algum outro processo, ele pode pegar um outro recurso que esteja disponvel, pois todos os recursos so do mesmo tipo. 6. Explique uma situao onde um grafo com um ciclo no possui deadlock. Lembre que ciclos geram deadlocks. Se o grafo contm um ciclo, porm com vrias instncias por tipo de recurso, no necessariamente ele possibilita um deadlock. 7. Quais so os mtodos para tratar deadlocks. Assegurar, atravs da preveno, que o sistema nunca vai entrar em estado de deadlock. Permitir que o sistema entre em estado de deadlock e ento detectar e recuperar. Evitar, atravs da alocao cuidadosa dos recursos. Ou simplesmente Ignorar o problema e fazer de conta que deadlocks nunca ocorrem no sistema(torcer para que nunca ocorra deadlock). 8. Explique a diferena entre preveno e impedimento de deadlocks. 9. Quais so os mtodos para prevenir deadlocks. Para evitar deadlocks, deve-se impedir que ao menos uma das 4 condies ocorra: A Excluso mtua no tem como evitar, pois cada recurso s pode estar alocado a um processo em um determinado momento. A Espera por recurso no tem como evitar, pois um processo, alm dos recursos j alocados, pode estar esperando por outros recursos; J a No preempo, podemos evitar: * Adquirir todos os recursos antes de comear a executar. * Se algum recurso no estiver disponvel, liberar todos os recursos que j foram adquiridos. <Ineficiente> A Espera circular tambm evitvel: * Para forar que o grafo de dependncias seja acclico podemos ordenar todos os recursos (e.g. numerando-os) * Todos os recursos so adquiridos em ordem crescente na ordenao. * Um exemplo seria o jantar dos filsofos: <Eficiente>

10. Explique a diferena entre um grafo de alocao de recursos de um grafo de espera.

11. Explique as diferenas entre os mtodos de recuperao de deadlocks.