A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner

Apresentações semelhantes


Apresentação em tema: "Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner"— Transcrição da apresentação:

1

2 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner gugawag@gmail.com

3 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 2 Deadlocks - Impasses Capítulo 3 3.1. Recurso 3.2. Introdução aos deadlocks 3.3. Algoritmo do avestruz 3.4. Detecção e recuperação de deadlocks 3.5. Evitando deadlocks 3.6. Prevenção de deadlocks 3.7. Outras questões

4 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 3 Algoritmo para evitar deadlock Assumimos, nas últimas aulas, que os processos de antemão requisitariam todos os recursos que necessitassem; Isso, na prática, não ocorre, pois os processos vão requisitando recursos com o tempo; É possível um algoritmo para evitar deadlock que analise a todo momento se processos vão entrar em deadlock? –Sim

5 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 4 Evitando Deadlocks Trajetórias de Recursos Trajetórias de recursos de dois processos

6 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 5 Estado Seguro Não está em deadlocck e existe uma ordem de escalonamento no qual os processos podem concluir;

7 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 6 Estados Seguros e Inseguros (1) Demonstração de que o estado em (a) é seguro. Há 10 recursos

8 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 7 Estados Seguros e Inseguros (2) Demonstração de que o estado em (b) é inseguro

9 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 8 O Algoritmo do Banqueiro para um Único Recurso 10 recursos disponíveis. Três estados de alocação de recursos a)seguro b)seguro c)inseguro

10 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 9 O Algoritmo do Banqueiro para Múltiplos Recursos Exemplo do algoritmo do banqueiro com múltiplos recursos

11 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 10 Problema E se B solicitar um scanner e E solicitar o outro? Se a requisição de E for satisfeita, o sistema vai para um estado inseguro; Na prática, esses algoritmos não são aplicáveis, dado que os processos não sabem de antemão suas necessidades; Além disso, a quantidade de processos muda; Esse algoritmo foi proposto por Dijkstra em 1965;

12 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 11 Prevenção de Deadlock Atacando a Condição de Exclusão Mútua Alguns dispositivos (como uma impressora) podem fazer uso de spool –o daemon de impressão é o único que usa o recurso impressora –desta forma deadlock envolvendo a impressora é eliminado Nem todos os dispositivos podem fazer uso de spool (ex.: tabela de processos)

13 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 12 Prevenção de Deadlock Atacando a Condição de Posse e Espera Exigir que todos os processos requisitem os recursos antes de iniciarem –um processo nunca tem que esperar por aquilo que precisa Problemas –podem não saber quantos e quais recursos vão precisar no início da execução –e também retêm recursos que outros processos poderiam estar usando Variação: –processo deve desistir de todos os recursos –para então requisitar todos os que são imediatamente necessários

14 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 13 Prevenção de Deadlock Atacando a Condição de Não Preempção Esta é uma opção inviável Considere um processo de posse de uma impressora –no meio da impressão –retoma a impressora a força –!!??

15 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 14 Prevenção de Deadlock Atacando a Condição de Espera Circular Um processo só pode estar de posse de apenas um recurso: o que ele está usando. Imagine um processo tentando copiar dados de um disco para a impressora! –Essa restrição seria inaceitável;

16 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 15 Prevenção de Deadlock Atacando a Condição de Espera Circular a)Recursos ordenados numericamente b)Um grafo de recursos Problema: é praticamente impossível encontrar uma ordem que satisfaça a todos os processos

17 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 16 Prevenção de Deadlock Resumo das abordagens para prevenir deadlock

18 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 17 Outras Questões Bloqueio em Duas Fases Fase um –processo tenta bloquear todos os registros de que precisa, um de cada vez –Se registro necessário já estiver bloqueado, reinicia novamente –(nenhum trabalho real é feito na fase um) Se a fase um for bem sucedida, começa a fase dois, –execução de atualizações –liberação de bloqueios Observe a similaridade com a requisição de todos os recursos de uma só vez Algoritmo funciona onde o programador tiver organizado tudo cuidadosamente para que –o programa possa ser parado, reiniciado

19 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 18 Deadlocks que não Envolvem Recursos É possível que dois processos entrem em situação de deadlock –cada um espera que o outro faça algo Pode ocorrer com semáforos –cada processo executa um down() sobre dois semáforos (mutex e outro qualquer) –se executados na ordem errada, resulta em deadlock

20 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 19 Condição de Inanição - Starvation Algoritmo para alocar um recurso –pode se ceder para o job mais curto primeiro Funciona bem para múltiplos jobs curtos em um sistema Jobs longos podem ser preteridos indefinidamente (starvation) –mesmo não estando bloqueados solução: –política do primeiro a chegar, primeiro a ser servido


Carregar ppt "Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner"

Apresentações semelhantes


Anúncios Google