Análise comparativa - semáforos e monitores

928 palavras 4 páginas
Aluno: Andrew de Moura Silva – 2º ano – Ciência da Computação

Semáforos

Um semáforo é uma variável de sincronização que pode ter valores inteiros não-negativos. Foram inventados por Edsger Dijkstra em 1965.

Um semáforo é uma variável inteira, não-negativa, que só pode ser manipulada por duas instruções: DOWN e UP.

• UP (Originalmente chamada de P (do holandês "proberen", testar)): uma operação atômica que espera o semáforo ficar positivo, e a seguir decrementa-o de 1.

• DOWN (Originalmente chamada de V (do holandês "verhogen", incrementar)): uma operação atômica que incrementa o semáforo de 1.

Semáforos provêm uma abstração simples e elegante que é útil para implementar exclusão mútua e outras tarefas
…exibir mais conteúdo…

O conceito de monitores foi proposto por Brinch Hansen em 1972, e desenvolvido por C.A.R. Hoare em 1974, como um mecanismo de sincronização estruturado.

Os monitores são considerados mecanismos de alto nível e estruturados em função de serem implementados pelo compilador. Assim, o desenvolvimento de programas concorrentes fica mais fácil e as chances de erro são menores. Atualmente, a maioria das linguagens de programação disponibiliza rotinas para o uso de monitores. Propriedades fundamentais de monitores: • apenas um processo pode executar o código do monitor a cada instante de tempo • exclusão mútua implícita é associada a cada monitor, através de um monitor lock • o lock deve ser adquirido para um processo "entrar" no monitor • ao sai do monitor, o lock é liberado Monitores também podem ser utilizados na implementação da sincronização condicional. Através de variáveis especiais de condição, é

Relacionados

  • Francis Machado e Luiz Maia - Arquitetura de Sistemas Operacionais (solução exercícios do livro) 2005
    12165 palavras | 49 páginas
  • Respostas do capítulo 1 ao 7 do livro machado/maia
    4722 palavras | 19 páginas