Tentativas de evitar o deadlock

959 palavras 4 páginas
Tentativas de evitar o deadlock

Se o sistema for capaz de decidir se a alocação de determinado recurso é ou não segura, e só fazer a alocação quando ela for segura, teremos como evitar deadlocks.

Estados seguros e inseguros

Para escrever algoritmos que evitem deadlocks, precisamos usar informações como os Recursos existentes e os disponíveis, bem como as Matrizes de alocação corrente e a de Requisições.
Um estado é dito seguro se não provocar deadlock, e houver uma maneira de satisfazer todas as requisições pendentes partindo dos processos em execução.
Vamos exemplificar usando apenas um recurso. Na figura, temos um estado no qual A tem três instâncias de um recurso, mas pode eventualmente precisar de nove. No momento, B tem duas e pode precisar ao todo de quatro. De maneira similar, C tem duas, mas pode precisar adicionalmente de mais cinco. Existe um total de 10 instâncias deste recurso, estando sete alocadas e três livres.

O estado mostrado primeiramente (Figura a) é seguro, pois existe uma sequencia de alocações que permitem que todos os processos venham a terminar seus processamentos. Para tanto, o escalonador pode rodar B exclusivamente, até que ele precise de mais duas instâncias do recurso, levando ao estado da Figura b. Quando B termina, chegamos ao estado da Figura C. Então o escalonador pode rodar C, chegando ao estado da Figura d. Quando C termina, atingimos o estado ilustrado na Figura 3E. Agora A pode obter as seis instâncias adicionais do recurso, necessárias a que ele termine sua execução. Então o estado inicial é considerado seguro, pois o sistema, através de um escalonamento cuidadoso, pode evitar a ocorrência de deadlocks.
Se por acaso, A requisita e ganha outro recurso na Figura B. Podemos encontrar uma sequencia de alocações que funcione garantidamente. Não. Podemos então concluir que a requisição de A por um recurso adicional não deveria ser atendida naquele momento.
Um estado inseguro não leva necessariamente a um

Relacionados

  • Questionario Sistemas Operacionais
    1073 palavras | 5 páginas
  • Deadlocks - Sistemas Operacionais
    4162 palavras | 17 páginas
  • Aula06 2
    1185 palavras | 5 páginas
  • Deadlock
    2908 palavras | 12 páginas
  • kjiko
    902 palavras | 4 páginas
  • Comunicação entre processos
    1521 palavras | 7 páginas
  • Exclusão múltipla
    4303 palavras | 18 páginas
  • SISTEMAS OPERACIONAIS
    38731 palavras | 155 páginas
  • Sistema operacional mac/os
    3766 palavras | 16 páginas
  • Sistema
    1685 palavras | 7 páginas