Upload
claudia-prado-bayer
View
250
Download
1
Embed Size (px)
Citation preview
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
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
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 3
Regiões Críticas (2)
Exclusão mútua usando regiões críticas
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.
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
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
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 7
Dormir e Acordar
Problema do produtor-consumidor com uma condição de disputa fatal
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.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 9
Semáforos
O problema do produtor-consumidor usando semáforos
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.
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.
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
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)
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
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
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
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.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 18
O Problema do Barbeiro Sonolento (1)
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
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 20
Introdução ao Escalonamento (2)
Objetivos do algoritmo de escalonamento
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 21
Escalonamento em Sistemas em Lote (1)
Um exemplo de escalonamento job mais curto primeiro
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 22
Escalonamento emSistemas em Lote (2)
Escalonamento em três níveis
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
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 24
Um algoritmo de escalonamento com quatro classes de prioridade
Escalonamento emSistemas Interativos (2)