monitores

Páginas: 6 (1397 palavras) Publicado: 9 de março de 2015
Monitores
Conceito
Sistemas Operacionais II

Monitores
� Autores
– Daniel Artur Seelig
– Fábio Lutz
� Local
– Universidade Federal do Rio Grande do Sul
– Instituto de Informática
– Sistemas Operacionais II
– Professor Cláudio Geyer
� Versão: v12, setembro 2011

Monitores - Conceito
� Índice

Visão Geral ......................................
Conceito ...........................................Idéia Geral ........................................
Variáveis de Condição .....................
Exemplo de Monitor ........................
Esquema de um Monitor ..................
Exercício ..........................................
Conclusão .........................................
Bibliografia.......................................

Monitores - Conceito
� Motivação
– Mecanismo mais eleganteque semáforos
– Propiciar programação mais correta
� Visão Geral
– Um monitor pode ser visto como um bloco que contém
internamente
• dados locais
• e procedimentos para manipular estes dados
• que são acessíveis apenas aos procedimentos do
próprio monitor

Monitores - Conceito
� Visão Geral (continuação)
– Os procedimentos são executados de forma
mutuamente exclusiva quando chamados pelosprocessos (tarefas)
– Dessa forma, um monitor garante exclusão mútua na
manipulação de seus dados.
– 2 monitores são independentes, isto é:
• Podem ser chamados (usados) concorrentemente por
2 tarefas

Monitores - Conceito
� Conceito de Monitor
– São mecanismos utilizados por muitas linguagens de
programação (tais como Pascal Concorrente, Modula,
Euclid Concorrente, etc) que permitem a sincronização
deprocessos.
– Até o surgimento de Java, de modo geral as linguagens
que aplicavam o conceito de monitores eram linguagens
acadêmicas ou restritas a uma comunidade específica
(empresas, ...).
– C# (criada pela MS após Java) também faz uso do
conceito de monitores

Monitores - Conceito
� Conceito de Monitor (continuação)
– São mecanismos de alto nível (de fácil utilização) para
sincronização eintercomunicação de processos
– e que impõem uma boa estruturação aos programas
concorrentes que os utilizam.

Monitores - Conceito
� Idéia Geral
– Monitores são, na realidade, estruturas de dados
abstratas com facilidades para sincronização de
processos.
– São semelhantes aos objetos da programação orientada
a objetos
• Em alguns aspectos

Monitores - Conceito
� Sinalização
– Tendo resolvido oproblema de exclusão mútua no
acesso a dados compartilhados
– Como combinar monitores com sinalização?
– Semáforos?
– Primitivas block e wakeup?

Monitores - Conceito
� Variáveis de Condição
– Além dos tipos de dados usuais, pode-se usar um tipo
de dados especial:
• CONDITION.
– São variáveis que só podem ser declaradas
internamente a monitores e são acessíveis apenas
através de operações especiais:
•WAIT e SIGNAL.

Monitores - Conceito
� As operações WAIT e SIGNAL colocam os

processos à espera (WAIT) de condições que
serão sinalizadas (SIGNAL) por outros processos,
� ou seja
– um processo aguarda devido estado do monitor estar
em situação de exceção
• Por exemplo, buffer cheio

– até que outro sinalize através de uma variável
CONDITION a possibilidade de continuar sua
execução
• Devidoestado do monitor ter sido alterado
– Por exemplo, um espaço foi liberado no buffer

Monitores - Conceito
� Um SIGNAL sobre uma variável CONDITION

vazia (nenhum processo bloqueado)
– Efeito nulo
– Sinalização “perdida”
– Similar às primitivas block e wakeup de baixo nível
(SO)
• Ou às vars de condição de Posix threads
– Diferente da sinalização por semáforos
• Alteram valor do semáforo

Monitores- Conceito
� Questões de sincronização no wait/signal
– A) Após WAIT, qual o estado da exclusão mútua?
• É liberada para que outro processo possa entrar no
monitor e executar o SIGNAL
• Entrar ou continuar: ver mais adiante em SIGNAL
– B) quem é acordado pelo SIGNAL?
• Preferência por uma fila FIFO na variável
CONDITION
• De qq. modo, somente algum processo que tenha
feito WAIT na mesma...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • Monitores
  • Monitor
  • Monitores
  • Monitores
  • Monitor
  • Monitores
  • monitor
  • monitor

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!