Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Sincronização de Processos - Semáforo

Sincronização de Processos - Semáforo
by

Lucas Ribeiro Carneiro

on 6 November 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Sincronização de Processos - Semáforo

Sincronização de Processos http://www.inf.ufrgs.br/gppd/disc/inf01008/trabalhos/sem99-1/filosofos/filosofos.htm Bruno Andrade
Lucas Ribeiro Carneiro
Marcos Vinicius
Renato Carrasco
Sidnei Rogério Jantar dos Filósofos Cada filósofo possui um prato de espaguete.

Para comer o espaguete o filósofo precisa de dois garfos.

Existe um garfo entre cada par de pratos.

Um filósofo come ou medita.

- Quando medita não interage com seus colegas.
- Quando está com fome ele tenta pegar dois garfos um de cada vez. Ele não pode pegar um garfo que já esteja com outro filósofo.

Os garfos são os recursos compartilhados Semáforo Na Prática Um semáforo é uma variável inteira não negativa que pode ser manipulada por duas instruções P (Down) e V (Up).

Semáforos de Contagem e Semáforos Binários.

A invenção desse tipo de variável é atribuída a Edsger Dijkstra, em 1965 e foi utilizado inicialmente no sistema operacional THE. Down é executada quando o processo deseja entrar na região crítica. Decrementa o semáforo de 1.

Up é executada quando o processo sai da sua região crítica.
Incrementa o semáforo de 1.

Obs.: ação atômica e indivisível Funcionamento Um semáforo fica associado a um recurso compartilhado, indicando se ele está sendo usado.

Se o valor do semáforo é maior do que zero, então existe recurso compartilhado disponível.

Se o valor do semáforo é zero, então o recurso está sendo usado. Down(S)
if (S == 0)
bloqueia processo
else
S = S - 1; Up(S)
if (tem processo na fila)
libera processo
else
S = S + 1; Exclusão Mútua Usa-se uma versão mais simples dos semáforos denominada Mutex (Mutual Exclusion).

Semáforos também são usados para implementar a sincronização entre os processos.

O uso de semáforos exige muito cuidado do programador.

- Os comandos down e up podem estar espalhados em um programa sendo difícil visualizar o efeito destas operações.
Full transcript