Alison EduardoMassato Larissa - Deadlock

Embed Size (px)

Citation preview

  • 8/13/2019 Alison EduardoMassato Larissa - Deadlock

    1/4

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

    Nome:Larissa Emy Nakazato RA:0101224826

    DeadLock

    1. O que deadlock, quais as condies para obt-lo e quais assolues possveis? uma situao em que um processo aguarda por um recurso que nuncaestar disponvel ou um evento que no ocorrer. Para que ocorra asituao de deadlock, quatro condies so necessrias.Excluso mtua:cada recurso s pode estar alocado a um nicoprocesso em um determinado momento;Espera por recurso:um processo, alm dos recursos j alocados, podeestar esperando por outros recursos;No preempo:um recurso no pode ser liberado de um processo sporque outros processos desejam o mesmo recurso;Espera circular:um processo pode ter de esperar por um recursoalocado a outro processo e vice-versa.

    Para prevenir a ocorrncia de deadlocks, preciso garantir que uma dasquatro condies apresentadas no esteja presente. A preveno dedeadlocks bastante limitada e, por isso, na prtica no utilizada. Umasoluo conhecida como Algoritmo do Banqueiro (implementada com a

    presena das quatro condies) tambm possui vrias limitaes. Amaior delas a necessidade de um nmero fixo de processos ativos ede recursos disponveis no sistema. Essa limitao impede que asoluo seja implementada na prtica, pois muito difcil prever onmero de usurios no sistema e o nmero de recursos disponveis.

    2. Liste trs exemplos de deadlocks que no estejam relacionadoscom um ambiente de sistema de computao. No trnsito de carro, principalmente na cidade de So Paulo que

    ocorre muitos congestionamentos. Quando um carro A ficaesperando o carro B passar (desocupar um espao) para avanar.Mas o carro B que est esperando o carro C passar para poderavanar, 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(livrosdiferentes), e esses livros so cpias nicas que a biblioteca tem.Para concluir o trabalho escolar, necessrio dos 2 livros ao mesmotempo. 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

  • 8/13/2019 Alison EduardoMassato Larissa - Deadlock

    2/4

    trabalho. E o aluno B no vai devolver o livro 2 para a biblioteca atque ele consiga fazer o emprstimo do livro 1 e concluir seu trabalho.Ou seja, os 2 alunos esto esperando o livro faltante, mas nenhumdos 2 alunos ir devolver o livro que est com eles antes de ter ooutro livro (livro faltante) e concluir o trabalho escolar.

    Situao em que duas pessoas precisam de uma escada, uma parasubir e outra para descer. Ambas decidem deixar a outra pessoautilizar a escada primeiro. Ento h uma situao de deadlock aondenenhuma das duas pessoas iro usar a escada enquanto a outra nodecidir usar primeiro.

    3. possvel ter um deadlock envolvendo apenas um nicoprocesso? Explique sua resposta.Pode ocorrer deadlock em um mesmo processo sim, pois pode ser queeste processo utilize mltiplos threads, e os threads requisitem recursosalocados ao mesmo tempo.

    4. Considere o deadlock de trafego da figura abaixo. Mostre que asquatro condies necessrias para o deadlock de fato estopresentes neste exemplo.

    A condio de excluso mtuaexiste porque somente um carro podeocupar um espao na rua.Espera por recursoocorre quando um carro permanece no seu lugar

    na rua enquanto espera para avanar.

  • 8/13/2019 Alison EduardoMassato Larissa - Deadlock

    3/4

    No preempoacontece porque um carro no pode ser removido desua posio na rua.Espera circularest muito visvel observando o desenho, porque cadacarro est esperando que um carro subsequente avance.

    5. Considere um sistema que consista de 4 recursos do mesmo tipoque so compartilhados por 3 processos, cada qual precisando nomximo de 2 recursos. Mostre que o sistema est livre dedeadlocks.

    Aqui no acontece o deadlock, porque como os 4 recursos so de ummesmo tipo, e existe 3 processos(ou seja, menos processos do querecursos), quando um processo requisitar um segundo recurso queesteja sendo usado por algum outro processo, ele pode pegar um outrorecurso que esteja disponvel, pois todos os recursos so do mesmotipo.

    6. Explique uma situao onde um grafo com um ciclo no possuideadlock. Lembre que ciclos geram deadlocks.Se o grafo contm um ciclo, porm com vrias instncias por tipo derecurso, no necessariamente ele possibilita um deadlock.

    7. Quais so os mtodos para tratar deadlocks.Assegurar, atravs da preveno, que o sistema nuncavai entrar em estado de deadlock. Permitir que o sistema entre emestado de deadlock e ento detectar e recuperar. Evitar, atravs daalocao cuidadosa dos recursos. Ou simplesmente Ignorar o problemae fazer de conta que deadlocks nunca ocorrem no sistema(torcer paraque 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 4condies ocorra:A Excluso mtuano tem como evitar, pois cada recurso s podeestar alocado a um processo em um determinado momento.

    AEspera por recursono tem como evitar, pois um processo, almdos 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 quej foram adquiridos.A Espera circulartambm evitvel:* Para forar que o grafo de dependncias seja acclico podemosordenar todos os recursos (e.g. numerando-os)* Todos os recursos so adquiridos em ordem crescente na ordenao.

    * Um exemplo seria o jantar dos filsofos:

  • 8/13/2019 Alison EduardoMassato Larissa - Deadlock

    4/4

    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 dedeadlocks.