detectação deadlock
1974 palavras
8 páginas
Algoritmo de detecção de deadlockDeadlock:
É um termo utilizado em Sistemas Operacionais para referir que há um bloqueio de processos e recursos, que por algum motivo um processo depende de um recurso utilizado pelo outro processo que também depende de um recurso utilizado pelo primeiro processo, formando um ciclo de requerimento de recursos, caso o deadlock não seja tratado adequadamente, os processos ficaram “eternamente” esperando pelos recursos.
Para isso foi criado algoritmos que detectassem deadlocks e recuperassem os mesmo, para desfazer o erro entre os processos.
•Processos:
Processo é um programa em execução no Sistema Operacional, que pode ser executado junto com outros tipos de processos em um ambiente multi-tarefa. Um processo pode possuir vários threads, arquivos, alocação dinâmica de memória e espaços de endereçamento, além de poder transferir informação para outros processos.
•Threads:
É a divisão do processo em várias tarefas que podem ser executadas simultaneamente. Esta divisão permite que diferentes linhas de um processo sejam executadas diferentemente de acordo com suas funções.
Threads podem ser utilizados para evitar erros em um processo.
A execução pode ser através de:
Kernel-Level Thread (é a execução das linhas do processo em nível de núcleo do sistema);
User-Level Thread (é a execução das linhas do processo por meio de uma biblioteca de alguma linguagem de programação).
•Recursos:
Recurso é algum material disponível pelo sistema que pode ser requerido por um processo, como um dispositivo de hardware ou uma informação de dados. Em um computador há vários recursos disponíveis, alguns com instância iguais, como 2 unidades de disco, mas um recurso somente pode estar disponível para um único processo, podendo existir cópias deste recurso para outros processos, evitando um possível deadlock.
Para um processo utilizar um recurso, ele primeiro precisa requisitar, depois utilizar e após isso, liberar o recurso. Se o recurso