Deadlock, no contexto de sistemas operacionais, refere-se a uma situação em que ocorre um impasse, e dois ou mais processos ficam impedidos de continuar suas execuções - ou seja, ficam bloqueados, esperando uns pelos outros.
Pode ocorrer starvation, pois seus recursos podem nunca estarem liberados todos ao mesmo tempo. Dificuldade de se determinar o número de recursos que um processo deverá alocar antes de sua execução. Algum recurso pode demorar a ser liberado.
De uma forma mais simples, para melhor entendimento, podemos dizer que deadlock пїЅ um termo empregado para traduzir um problema ocorrido quando um grupo de processos competem entre si. A ocorrпїЅncia do deadlock depende das caracterпїЅsticas de dois ou mais programas diferentes e dos respectivos processos a executar pelos diferentes programas ao mesmo tempo. Pode ser, que esses processos possam ser executados de forma repetitiva usando diferentes processos sem que ocorra deadlock, todavia, basta um пїЅnico processo padrпїЅo complicado para entrar em situaпїЅпїЅo de deadlock.
Semáforos são mecanismos que resolvem o problema de exclusão mútua. ... As operações sobre um semáforo são atômicas. Semáforos são implementados no sistema operacional e são considerados uma forma de IPC (semáforos também podem ser usados para sincronização tão bem como para obtenção de exclusão mútua).
Funções do escalonador e do dispatcher: O escalonador Г© uma rotina do sistema operacional que tem como principal função implementar os critГ©rios da polГtica de escalonamento. O dispatcher Г© responsГЎvel pela troca de contexto dos processos apГіs o escalonador determinar qual processo deve fazer uso do processador.
Pode ocorrer starvation, pois seus recursos podem nunca estarem liberados todos ao mesmo tempo. Dificuldade de se determinar o número de recursos que um processo deverá alocar antes de sua execução. Algum recurso pode demorar a ser liberado.
1. Algoritmo do Banqueiro para um único Recurso: usado para evitar deadlocks consiste em simular as decisões de um banqueiro no empréstimo de certa quantia de dinheiro sujeita a certas condições. No exemplo abaixo temos 4 clientes (A B C D) cada um especificou o número máximo de crédito que precisará, mas eles não precisam de todas elas imediatamente, de forma que o banqueiro reservou 10 unidades para atender todos os pedidos (totalizando 32 unidades).
Deadlock - é um impasse, onde dois ou mais processos ficam impedidos de continuar as suas execuções, ou seja, ficam bloqueados, esperando uns pelos outros. Starvation (ou inanição) - ocorre quando um processo nunca é executado, pois os processos de prioridade maior sempre o impedem de ser executado.
Semáforos são mecanismos que resolvem o problema de exclusão mútua. ... As operações sobre um semáforo são atômicas. Semáforos são implementados no sistema operacional e são considerados uma forma de IPC (semáforos também podem ser usados para sincronização tão bem como para obtenção de exclusão mútua).
2. Detecção e Recuperação: o SO apenas monitora as requisições e liberações de recursos, através da manutenção de um grafo de recursos, que é constantemente atualizado e onde se verifica a ocorrência de ciclos, se houver algum ciclo, um dos processos deve ser morto. Se o ciclo ainda permanecer, outro processo deve ser morto e assim sucessivamente, até que o ciclo seja quebrado. Técnica utilizada em computadores grandes geralmente em batch, onde um processo pode ser morto e mais tarde reinicializado. Deve-se ter o cuidado de que qualquer arquivo modificado pelo processo morto deve ser restaurado ao seu estado original antes de iniciar o processo novamente.
Um Escalonador de Processos Г© um subsistema do Sistema Operacional responsГЎvel por decidir o momento em que cada processo obterГЎ a CPU. Г‰ utilizado algoritmos de escalonamento que estabelecem a lГіgica de tal decisГЈo.
2. Modelamento de Deadlock:В o deadlock ocorre quando cada processo de um conjunto de processos estГЎ esperando por um evento que apenas outro processo do mesmo conjunto pode causar. Em muitos casos, o evento esperado Г© a liberação de um recurso qualquer, isto Г©, cada membro do conjunto estГЎ esperando pela liberação de um recurso que apenas outro membro do conjunto pode liberar. Condições para que ocorra um deadlock: 1) ExclusГЈo MГєtua: cada recurso ou estГЎ associado a exatamente um processo ou estГЎ disponГvel; 2) Posse e espera: um processo que jГЎ possui algum recurso pode requisitar outros e aguardar por sua liberação; 3) NГЈo existe preempção: recursos dados a um processo nГЈo podem ser tomados de volta, precisam ser liberados pelo processo; 4) Espera Circular: deve haver uma cadeia circular de dois ou mais processos, cada um dos quais aguardando um recurso em posse do prГіximo membro da cadeia. Para modelar a distribuição dos recursos e das requisições vamos utilizar um grafo com dois tipos de nГіs: circular (processos) e retangular (recursos).
Resposta. Starvation:Situação em que um processo nunca consegue executar sua regiГЈo crГtica e acessar o recurso compartilhado. Quando um processo tem baixa prioridade tambГ©m pode nunca ser escolhido. Filas FIFO eliminam esse problema.
1. O Algoritmo da Avestruz (ignorar o problema): mais simples estratégia, consiste em fazer como se faz uma avestruz diante a uma situação de perigo: colocar a cabeça num buraco e fingir que o problema inexiste. É a solução mais utilizada, pois há baixa probabilidade de ocorrência de deadlock e baixo custo. O UNIX utiliza este método.
3. Prevenção de DeadlockВ (negando uma das quatro condições necessГЎrias): consiste em impor restrições aos processos de forma que o deadlock seja impossГvel. Possibilidades de eliminar as condições:
Deadlock Г© a situação em que um processo aguarda por um recurso que nunca estarГЎ disponГvel ou um evento que nГЈo ocorrerГЎ. Para que ocorra a situação de deadlock, quatro condições sГЈo necessГЎrias simultaneamente: exclusГЈo mГєtua: cada recurso sГі pode estar alocado a um Гєnico processo em um determinado…
Starvation Г© quando um processo nГЈo consegue ser executado, de forma alguma, pois sempre existem processos de prioridade maior para serem executados, de forma que o processo "faminto" nunca consiga tempo de processamento.
A inanição é a completa falta de consumo de alimentos e isso é uma situação grave que rapidamente leva o organismo a consumir seus estoques de energia e os próprios nutrientes para manter os órgãos funcionando.
Na prГЎtica, um sistema de arquivo (file system, do inglГЄs) Г© um conjunto de estruturas lГіgicas, ou seja, feitas diretamente via software, que permite ao sistema operacional ter acesso e controlar os dados gravados no disco.