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 elegante que 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 pelos processos (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 de processos.
– 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 e