PublicouBárbara Gaia Alterado mais de 4 anos atrás
1 Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Aula 10 –Comunicação e Sincronização de Processos Profa. Sarita Mazzini Bruschi Regina Helena Carlucci Santana Marcos José Santana Slides adaptados de Luciana A. F. Martimiano baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum
2 Exclusão Mútua Problema dos Leitores / Escritores
Modela o acesso compartilhado a uma base de dados Processos leitores e processos escritores competem por um acesso a essa base
3 Exclusão Mútua Problema dos Leitores / Escritores
Vários processos leitores podem acessar a base ao mesmo tempo Variável compartilhada por todos processos leitores controla o número de leitores na base - rc Vários processos acessam rc – necessidade de exclusão mútua – semáforo mutex
4 Exclusão Mútua Problema dos Leitores / Escritores
Um único processo escritor pode escrever (modificar) a base de dados em um determinado instante Quando a base está sendo modificada não pode haver processos leitores acessando a base. Controlar acesso a leitor ou a escritor Semáforo - db
5 Exclusão Mútua Problema dos Leitores / Escritores
6 Exclusão Mútua Problema do Barbeiro
Na barbearia há: Um barbeiro, Uma cadeira de barbeiro , n cadeiras para os clientes esperarem Quando não há clientes, o barbeiro senta-se na cadeira do barbeiro e dorme Quando um cliente chega, ele precisa acordar o barbeiro Se outros clientes chegarem enquanto o barbeiro estiver ocupado, eles ocupam um das cadeiras disponíveis, se houver. Se todas as cadeiras estiverem ocupadas, cliente vai embora.
7 Exclusão Mútua Problema do Barbeiro
Deve ser controlado: Quando número de clientes = 0  barbeiro dorme Semáforo – customers Número de clientes esperando Variável compartilhada entre cliente e barbeiro – waiting Semáforo para acesso a variável waiting - mutex Barbeiro livre? Semáforo barber
8 Exclusão Mútua Problema do Barbeiro
9 Processos Threads Agora  Exercício  Próxima Semana Introdução
10 2º Exercício em Aula (Exclusão Mútua)
Considere os processos de P1, P2 e P3 que compartilham um mesmo recurso. Sendo que o processo P1 produz itens que serão consumidos pelos processos P2 e P3, conforme diagrama abaixo. P1 P2 P3 Recurso Escrever um algoritmo para cada um dos processos (P1, P2 e P3), utilizando como formas de sincronismo monitores ou semáforos. Comentar o algoritmo explicando para que serve cada variável.