2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
-
Upload
computacao-depressao -
Category
Documents
-
view
1.995 -
download
0
Transcript of 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
![Page 1: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/1.jpg)
1Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Sistemas Operacionais-Gerência de Processos
Ernesto Massa
(slides fornecidos pela Prentice Hall e adaptados para esta disciplina)
![Page 2: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/2.jpg)
2Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Processos e Threads
Processos Threads Comunicação interprocesso Problemas clássicos de IPC Escalonamento
![Page 3: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/3.jpg)
3Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Condições de Corrida
Exemplo 1:
Resultado Final: Contador = 8 (ERRO!)
7Processo
A7+1
ProcessoB
7-1
1
73
7
6
8
2 4
5
6
![Page 4: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/4.jpg)
4Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Condições de Corrida
Exemplo 2:
Valor armazenado peloprocesso B é perdido.
65
4
3
próximaentrada
7
ProcessoA
ProcessoB
1
7
suspensorecebe CPU
2
8
recebe CPUsuspenso
3
7
4
75
8
6
X
10
Y 9
8
![Page 5: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/5.jpg)
5Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Condições de Corrida
Região Crítica: Parte do código onde é feito acesso a recursos
compartilhados, e que podem levar a condições de corrida.
Ex: Processo A. Código normal Início da Seção Crítica (Protocolo de Entrada) Seção Crítica Término da Seção Crítica (Protocolo de Saída) Código normal
![Page 6: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/6.jpg)
6Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Regiões Críticas
Quatro condições são necessárias para prover exclusão mútua:
Nunca dois processos simultaneamente em uma região crítica
Nenhuma afirmação pode ser feita sobre velocidades ou números de CPUs
Nenhum processo executando fora de sua região crítica pode bloquear outros processos
Nenhum processo deve esperar eternamente para entrar em sua região crítica
![Page 7: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/7.jpg)
7Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Soluções de Software
Implementações de uso das regiões críticas sem a espera ocupada: Semáforos (Counting Semaphores); Semáforos Binários
Mutex (Mutual Exclusion Semaphores); Monitores.
![Page 8: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/8.jpg)
8Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Soluções de Software
Chamadas sleep e wakeup: Sleep:
Coloca o processo chamador no estado de espera.
Wakeup: Coloca um outro processo que está em
espera no estado de pronto.
![Page 9: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/9.jpg)
9Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Soluções de Software
Semáforos: Ferramenta de sincronização criada por
Dijkstra (1965); Características:
Variável inteira; Não negativa.
Manipulados exclusivamente por duas operações atômicas:
DOWN (generalização do sleep) UP (generalização do wakeup) Implementados como chamada ao sistema.
![Page 10: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/10.jpg)
10Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Problema Produtor Consumidor Semáforos
![Page 11: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/11.jpg)
11Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Monitores
Exemplo de um monitor
![Page 12: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/12.jpg)
13Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Problemas Clássicos de Comunicação entre Processos
Problemas que ilustram situações reais de conflitos gerados pela concorrência entre processos. O Jantar dos Filósofos (Filósofos Glutões) O Barbeiro Sonolento Leitores e Escritores
![Page 13: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/13.jpg)
14Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Jantar dos Filósofos
Filósofos comem/pensam
Cada um precisa de 2 garfos para comer
Pega um garfo por vez Como prevenir deadlock
![Page 14: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/14.jpg)
15Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Jantar dos Filósofos
Uma solução errada para o problema do jantar dos filósofos
![Page 15: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/15.jpg)
16Pearson Education Sistemas Operacionais Modernos – 2ª Edição
O Barbeiro Sonolento
![Page 16: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/16.jpg)
17Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Barbeiro Sonolento
![Page 17: 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos](https://reader035.fdocuments.net/reader035/viewer/2022062419/557237bbd8b42a78548b48d4/html5/thumbnails/17.jpg)
18Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Leitores e Escritores