pearson education sistemas operacionais modernos – 2ª edição 1 comunicação interprocesso...

24
on Sistemas Operacionais Moder 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso simultaneamente à memória compartilhada: requer implementação de exclusão mútua

Upload: claudia-prado-bayer

Post on 07-Apr-2016

252 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Comunicação Interprocesso Condições de Disputa (corrida) Dois processos querem ter acesso

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 24

Um algoritmo de escalonamento com quatro classes de prioridade

Escalonamento emSistemas Interativos (2)