pearson education sistemas operacionais modernos – 2ª edição 1 exclusão mútua com espera...

21
n Sistemas Operacionais Moder 1 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.

Upload: agata-de-andrade-porto

Post on 07-Apr-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

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 2: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

Exclusão Mútua comEspera Ociosa (2)

Solução de Peterson para implementar exclusão mútua

Page 3: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

Exclusão Mútua comEspera Ociosa (3)

Entrando e saindo de uma região crítica usando a instrução TSL

Page 4: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

Dormir e Acordar

Problema do produtor-consumidor com uma condição de disputa fatal

Page 5: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

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 6: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

Semáforos

O problema do produtor-consumidor usando semáforos

Page 7: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

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 8: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

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 9: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

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 10: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

Troca de MensagensSão chamadas ao sistema. Usa duas primitivas: send e receive

Ex.:send(destination, &message);receive(source , &message)

Page 11: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

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 12: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

Problemas clássicos de IPC

Page 13: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

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: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

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 15: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

O Problema do Barbeiro Sonolento (1)

Page 16: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

EscalonamentoIntrodução ao Escalonamento (1)

• Surtos de uso da CPU alternam-se com períodos de espera por E/Sa) um processo orientado à CPUb) um processo orientado à E/S

Page 17: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

Introdução ao Escalonamento (2)

Objetivos do algoritmo de escalonamento

Page 18: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

Escalonamento em Sistemas em Lote (1)

Um exemplo de escalonamento job mais curto primeiro

Page 19: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

Escalonamento emSistemas em Lote (2)

Escalonamento em três níveis

Page 20: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

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 21: Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Exclusão Mútua com Espera Ociosa (1) Solução proposta para o problema da região crítica

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

Um algoritmo de escalonamento com quatro classes de prioridade

Escalonamento emSistemas Interativos (2)