![Page 1: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/1.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1
Comunicação InterprocessoCondições de Disputa (corrida)
Dois processos querem ter acesso simultaneamente à memória compartilhada: requer implementação de exclusão mútua
![Page 2: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/2.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 2
Regiões Críticas (1)
Quatro condições necessárias para prover exclusão mútua:
1. Nunca dois processos simultaneamente em uma região crítica
2. Nenhuma afirmação sobre velocidades ou números de CPUs
3. Nenhum processo executando fora de sua região crítica pode bloquear outros processos
4. Nenhum processo deve esperar eternamente para entrar em sua região crítica
![Page 3: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/3.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 3
Regiões Críticas (2)
Exclusão mútua usando regiões críticas
![Page 4: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/4.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 4
Exclusão Mútua com Espera Ociosa (1)
Solução proposta para o problema da região crítica(a) Processo 0. (b) Processo 1.
![Page 5: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/5.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 5
Exclusão Mútua comEspera Ociosa (2)
Solução de Peterson para implementar exclusão mútua
![Page 6: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/6.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 6
Exclusão Mútua comEspera Ociosa (3)
Entrando e saindo de uma região crítica usando a instrução TSL
![Page 7: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/7.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 7
Dormir e Acordar
Problema do produtor-consumidor com uma condição de disputa fatal
![Page 8: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/8.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 8
Semáforos
São variáveis que indicam o sinal de acordar para um processo.
Se o valor = 0, indica que nenhum sinal de acordar foi possível.
Se o valor > 0, o sinal será decrementado de uma unidade e o processo será acordado.
Semáforos possuem duas operações: down e up.
![Page 9: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/9.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 9
Semáforos
O problema do produtor-consumidor usando semáforos
![Page 10: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/10.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 10
Mutex (mutual exclusion)
Implementação de mutex_lock e mutex_unlock
São semáforos usados para a exculsão mútua. Ele é destinado a garantir que somente um processo por
vez esteja lendo ou escrevendo no buffer.
![Page 11: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/11.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 11
Monitores (1)
Exemplo de um monitor
É uma coleção de procedimentos, variáveis e estruturas de dados, agrupadas em um tipo especial de módulo ou pacote.
Somente um processo pode estar ativo em um monitor em um dado momento.
É uma construção da linguagem de programação e assim, o compilador sabe que ele é especial.
![Page 12: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/12.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 12
Monitores (2)
• Delineamento do problema do produtor-consumidor com monitores– somente um procedimento está ativo por vez no monitor– o buffer tem N lugares
![Page 13: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/13.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 13
Troca de MensagensSão chamadas ao sistema. Usa duas primitivas: send e receive
Ex.:send(destination, &message);receive(source , &message)
![Page 14: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/14.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 14
Barreiras
• Uso de uma barreiraa) processos se aproximando de uma barreirab) todos os processos, exceto um, bloqueados
pela barreirac) último processo chega, todos passam
![Page 15: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/15.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 15
Problemas clássicos de IPC
IPC – Inter-Process Communication
Necessário para a coordenação mútua entre processos
![Page 16: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/16.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 16
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 17: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/17.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 17
O Problema dos Leitores e Escritores
• Como gerenciar o acesso de vários usuários a uma base de dados e a escrita nessa base de dados.
![Page 18: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/18.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 18
O Problema do Barbeiro Sonolento (1)
![Page 19: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/19.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 19
EscalonamentoIntrodução ao Escalonamento (1)
• Surtos de uso da CPU alternam-se com períodos de espera por E/S
a) um processo orientado à CPUb) um processo orientado à E/S
![Page 20: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/20.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 20
Introdução ao Escalonamento (2)
Objetivos do algoritmo de escalonamento
![Page 21: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/21.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 21
Escalonamento em Sistemas em Lote (1)
Um exemplo de escalonamento job mais curto primeiro
![Page 22: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/22.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 22
Escalonamento emSistemas em Lote (2)
Escalonamento em três níveis
![Page 23: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/23.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 23
Escalonamento emSistemas Interativos (1)
• Escalonamento por alternância circular (round-robin)
a) lista de processos executáveisb) lista de processos executáveis depois que B usou todo
o seu quantum
![Page 24: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso](https://reader030.vdocuments.pub/reader030/viewer/2022033014/5706386a1a28abb823904735/html5/thumbnails/24.jpg)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 24
Um algoritmo de escalonamento com quatro classes de prioridade
Escalonamento emSistemas Interativos (2)