• Nenhum resultado encontrado

Sincronização e Comunicação Problemas Clássicos

N/A
N/A
Protected

Academic year: 2021

Share "Sincronização e Comunicação Problemas Clássicos"

Copied!
20
0
0

Texto

(1)

Sincronização e Comunicação

Problemas Clássicos

Volnys Borges Bernal volnys@lsi.usp.br

Departamento de Sistemas Eletrônicos Escola Politécnica da USP

(2)

Agenda

Problemas Clássicos: Produtor-consumidor Leitores e escritores Jantar dos filósofos Barbeiro sonolento

(3)
(4)

Produtor-consumidor

Um sistema é composto por entidades produtoras e entidades consumidoras.

Entidades produtoras

Responsáveis pela produção de itens que são armazenados em um buffer (ou em uma fila)

Itens produzidos podem ser consumidos por qualquer consumidor

Entidades consumidoras

Consomem os itens armazenados no buffer (ou na fila) Itens consumidos podem ser de qualquer produtor

(5)

Produtor-consumidor

Produtor 1 Produtor 2 Produtor 3 Consumidor 1 Consumidor 2

(6)

Produtor consumidor

Exercício:

Resolva o problema produtor-consumidor supondo ambiente operacional preemptível e semáforos.

(7)
(8)

Leitores e escritores

Um sistema com uma base de dados é acessado simultaneamente por diversas entidades. Estas entidades realizam dois tipos de operações:

Leitura Escrita

Neste sistema é aceitável a existência de diversas entidades lendo a base de dados.

Porém, se um processo necessita escrever na base,

nenhuma outra entidade pode estar realizando acesso à base.

(9)

Leitores e escritores

Entidade 1 (leitor) Entidade 2 (leitor) Entidade 3 (escritor) Entidade 4 (escritor) Leitura Leitura Escrita Escrita

(10)

Leitores e escritores

Exercício:

Resolva o problema dos leitores e escritores supondo:

Ambiente operacional (preemptível/não preemptível): _________________ Processadores (monoprocesador/multiprocessador): __________________ nleitura = 0 nescrita = 0 Leitor() { } Escritor() { }

(11)
(12)

Jantar dos Filósofos

Cinco filósofos estão sentados ao redor de uma mesa circular para o jantar.

Cada filósofo possui um prato para comer espaguete. Como o espaguete é muito escorregadio, é necessário a utilização de dois garfos.

(13)
(14)

Jantar dos Filósofos

A vida do filósofo consiste na alternância de períodos de alimentação e reflexão.

Quando um filósofo fica com fome, ele tenta pegar os garfos a sua volta (garfos a sua esquerda e direira), em qualquer ordem, um de cada vez.

Se o filósofo conseguir pegar os dois garfos ele inicia seu período de alimentação. Após algum tempo ele devove os garfos a sua posição original e retorna ao período de reflexão

(15)

Jantar dos Filósofos

Pergunta:

É possível escrever um programa para possibilitar que cada filósofo possa realizar suas atividades sem problemas?

Problemas?

(16)

Jantar dos filósofos

Exercício:

Resolva o problema do jantar dos filósofos supondo:

Ambiente operacional (preemptível/não preemptível): _________________ Processadores (monoprocesador/multiprocessador): __________________

Filósofo() {

(17)

Problemas Clássicos:

O Barbeiro Sonolento

(18)

O Barbeiro Sonolento

Uma barbearia possui: 1 barbeiro

1 cadeira de barbeiro

N cadeira para espera de clientes

Se, em um determinado momento, não houverem clientes para serem atendidos, o barbeiro dorme.

Quando um cliente chega, ele acorda e atende o cliente. Quando um cliente chega e o barbeiro estiver

atendendo um cliente, ele aguarda sua vez sentado na cadeira de espera.

Quando um cliente chega e não existem cadeiras de espera disponíveis, o cliente vai embora.

(19)
(20)

Barbeiro sonolento

Exercício:

Resolva o problema dos barbeiro sonolento supondo:

Ambiente operacional (preemptível/não preemptível): _________________ Processadores (monoprocesador/multiprocessador): __________________ nclientes = 0 Barbeiro() { } Cliente() { }

Referências

Documentos relacionados

A pesquisa do Índice de Confiança do Empresário do Comércio tem como objetivo produzir um indicador inédito com capacidade de medir, com a maior precisão

Em nosso trabalho, fizemos uma reflexão sobre a solução de problemas com foco na Resolução Visual. Aqui, percebemos que se faz necessária uma mudança em minha prática docente, pois

Relembra-se que o objetivo geral desta tese (item 1.4.1) consiste no desenvolvimento de um modelo de simulação baseado em Agentes Inteligentes e Lógica Difusa orientado ao estudo

Os formuladores de políticas nos países da OCDE têm que enfrentar uma importante e crescente demanda para tornar os sistemas de saúde mais receptivos aos consumidores e pacientes

The Association of European Civil Engineering Faculties with the participation of civil engineering faculties from non-European countries (AECEF) was founded on the 14th

Ainda que não se relacione com a postagem, o uso de #love 44 (figura 22), #fun, #girl, ou até mesmo #tbt, por se tratarem de hashtags famosas, tornam a postagem visível para

ARTIGO PROPOSTA ORIGINAL - Art.35° No âmbito do SNC, o Programa Nacional de Formação na Área da Cultura, em articulação com os demais entes federados e em

eletrodo de carbono vítreo em diferentes velocidades de varredura.. Uma análise desta figura evidencia que nas varreduras sucessivas, a intensidade de corrente referente ao