GoConqr has a new look! Let us know what you think.

Mind map

Deadlock/Impasse

iris pinheiro Information Technology Portuguese

Map content

Deadlock/Impasse

  1. Loop de solicitações sem respostas que geram um impasse.

  2. Processo relativamente para por falta de recursos

  3. Condições para o Deadlock (todas as condições precisam acontecer ao mesmo tempo para que haja o deadlock)

    • Exclusão mútua --> dois processos não podem usar o mesmo recurso, um irá ficar na espera
      • Ex: impressora; dois arquivos distintos não podem ser impressos ao mesmo tempo
    • Posse e espera--> O processo que já possui um recurso, pode fazer solicitação de outro, mas vai ficar na fila de espera
    • Não preempção--> recursos concedidos com antecedência não podem ser tomados
    • Espera circular--> cadeia circular entre dois ou mais processos onde um está a espera de um recurso retido pelo membro da cadeia seguinte
    • Comunicação e sincronização de processos
      • Sistemas multiprogramados com um processador--> os processos se alternam no uso do processador e demais recursos de acordo com critérios de escalonamento.
      • Sistemas com multiprocessadores--> pode ter várias tarefas sendo executada em paralelo, sendo cada tarefa em um processador diferente.
      • Comunicação entre aplicações concorrentes--> a comunicação pode ser implementada de várias maneiras, entre elas, o uso da memória compartilhada entre os processos ou através de troca de mensagens entre processos em execução.
      • Comunicação compartilhada por memória--> os processos compartilham informações de leitura e escrita através do buffer de memória.
        • Operação de escrita--> um processo só pode gravar dados no buffer se ela não estiver cheio.
        • Operação de leitura--> um processo só pode ler os dados do buffer caso exista algum dado para ser lido.
        • Nos dois casos, o processo fica em estado de espera até que o buffer esteja pronto para a operação.
        • Problemas de compartilhamento de recursos--> sempre que houver dois ou mais processos compartilhando um recurso, é necessário um mecanismo de controle para evitar conflitos de concorrência, esse mecanismo é chamado de CONDIÇÃO DE CORRIDA.
      • Sincronização
        • Mecanismo que deixa os processos aguardando o recurso para prosseguir sua execução.
        • importante para garantir a integridade e a confiabilidade na execução de aplicações concorrentes.
  4. Tratamento

    • algoritmo Avestruz--> ignorar por completo e fingir que não existe nenhum problema
    • Preempção--> tomar o recurso de algum outro processo
    • Restauração de estado--> armazenar pontos de verificação de processos regularmente para que o estado salvo sirva para restaurar o processo em deadlock. (é como uma restauração de sistema)
    • Eliminar processos--> jeito mais agressivo, porém mais fácil de se quebrar um deadlock.
    • Evitar dinamicamente--> definir os recursos com cuidado, avaliando a chance de tal ação gerar um deadlock.
    • Prevenção--atacar antes de ser atacado
      • Atacar uma das condições necessárias para o deadlock
      • Exclusão mútua-- usar spool em tudo.
      • posse e espera-- requisitar inicialmente os recursos necessários.
      • Não preempção-- retomar recursos alocados
        • Espera circular-- ordenação numérica de recursos.

Information

Description
MAPA RESUMIDO SOBRE DEADLOCK
Created by
iris pinheiro
Views
0
Rating

More on Deadlocks

Feedback

What is it about?

What do you think of the new look?

How do you like it?