Monitores

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (489 palavras )
  • Download(s) : 0
  • Publicado : 29 de janeiro de 2013
Ler documento completo
Amostra do texto
Trabalho de Sistemas Operacionais I

Tema: Monitores

Aluno: Luiz Henrique Leite Paes da Costa
Instituto Federal de Sergipe - Campus Itabaiana
Professor: Eduardo Henrique

MonitoresTanto os semáforos como os contadores de eventos podem resolver uma
série de problemas, mas seu uso deve ser cuidadoso para que não provoque
situações desastrosas. A inversão de dois semáforos(por exemplo, mutex
e vazio na solução do problema produtor-consumidor usando semáforos)
pode provocar um bloqueio perpétuo, ou seja, faz com que uma dada tarefa
pare de ser executada, degradando osistema e podendo causar até mesmo
sua instabilidade.
Para que tais problemas pudessem ser resolvidos mais facilmente Hoare
(1974) e Hansem (1975) propuseram o conceito de monitor: uma coleçãode procedimentos, variáveis e estruturas agrupados num módulo ou pacote
especial. Segundo Guimarães:

Monitor é um conjunto de procedimentos que operam sobre variáveis comuns a vários processos.Um procedimento do monitor corresponde a uma região crítica. Um monitor corresponde, portanto, a um conjunto de regiões críticas operando sobre as
mesmas variáveis comuns.
Processos podem acessaros procedimentos e funções de um monitor
embora não possam utilizar diretamente a estrutura interna de seus dados, num arranjo muito semelhante a utilização da interface de um objeto, sem acessoaos seus campos privativos.

Exemplo de Código

No exemplo abaixo, temos a resolução do problema do Produtor-Consumidor através de monitores.

monitor ProdutorConsumidorcondition full, empty;
int count = 0;
int item;

void enter(void);
{if (count == N) { wait(full); }
enter_item(item);
count++;
if (count == 1) { signal(empty); }
}...
tracking img