2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos

3.919 visualizações

Publicada em

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
3.919
No SlideShare
0
A partir de incorporações
0
Número de incorporações
13
Ações
Compartilhamentos
0
Downloads
82
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos

  1. 1. Sistemas Operacionais -Gerência de Processos Ernesto Massa (slides fornecidos pela Prentice Hall e adaptados para esta disciplina) 1Pearson Education Sistemas Operacionais Modernos – 2ª Edição
  2. 2. Processos e Threads  Processos  Threads  Comunicação interprocesso  Problemas clássicos de IPC  EscalonamentoPearson Education 2 Sistemas Operacionais Modernos – 2ª Edição
  3. 3. Condições de Corrida  Exemplo 1: 1 3 7 7 Processo Processo A 2 7 B 4 7+1 7-1 6 5 8 6  Resultado Final: Contador = 8 (ERRO!)Pearson Education 3 Sistemas Operacionais Modernos – 2ª Edição
  4. 4. Condições de Corrida  Exemplo 2: Processo 2 suspenso A 8 recebe CPU 10 Y 1 9 5 6 7 8 próxima 4 entrada 3 7 6 4 5 X 7 8 Processo 3 recebe CPU  Valor armazenado pelo B 7 suspenso processo B é perdido.Pearson Education 4 Sistemas Operacionais Modernos – 2ª Edição
  5. 5. 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 normalPearson Education 5 Sistemas Operacionais Modernos – 2ª Edição
  6. 6. 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íticaPearson Education 6 Sistemas Operacionais Modernos – 2ª Edição
  7. 7. 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.Pearson Education 7 Sistemas Operacionais Modernos – 2ª Edição
  8. 8. 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.Pearson Education 8 Sistemas Operacionais Modernos – 2ª Edição
  9. 9. 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.Pearson Education 9 Sistemas Operacionais Modernos – 2ª Edição
  10. 10. Problema Produtor Consumidor SemáforosPearson Education 10 Sistemas Operacionais Modernos – 2ª Edição
  11. 11. Monitores  Exemplo de um monitorPearson Education 11 Sistemas Operacionais Modernos – 2ª Edição
  12. 12. 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 EscritoresPearson Education 13 Sistemas Operacionais Modernos – 2ª Edição
  13. 13. Jantar dos Filósofos  Filósofos comem/pensam  Cada um precisa de 2 garfos para comer  Pega um garfo por vez  Como prevenir deadlockPearson Education 14 Sistemas Operacionais Modernos – 2ª Edição
  14. 14. Jantar dos Filósofos  Uma solução errada para o problema do jantar dos filósofosPearson Education 15 Sistemas Operacionais Modernos – 2ª Edição
  15. 15. O Barbeiro SonolentoPearson Education 16 Sistemas Operacionais Modernos – 2ª Edição
  16. 16. Barbeiro SonolentoPearson Education 17 Sistemas Operacionais Modernos – 2ª Edição
  17. 17. Leitores e EscritoresPearson Education 18 Sistemas Operacionais Modernos – 2ª Edição

×