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 de sincronização.

Os semáforos podem ser classificados como binários ou contadores. Os semáforos binários, também chamados de mutexes (mutual exclusion semaphores), só podem assumir os valores 0 e 1, enquanto os semáforos contadores podem assumir qualquer valor inteiro positivo, além do 0. Como exemplo, veja a solução do Problema de Espaço na Geladeira utilizando semáforos (mesmo código para os dois processos): down (PodeComprarLeite); if (SemLeite) { Compra Leite;
}
up (PodeComprarLeite);

Semáforos apresentam várias propriedades importantes: • são independentes de máquina • são simples • são gerais • funcionam com muitos processos • podem existir várias seções críticas diferentes controladas por vários semáforos • muitos recursos podem ser adquiridos simultaneamente (vários down's) • permitem múltiplos processos numa seção crítica de uma vez, se isso for desejável Tipicamente, semáforos não são providos pelo hardware. Semáforos são primitivas para sincronização de baixo nível. São utilizados para duas finalidades diferentes: • Exclusão Mútua: para assegurar que somente um processo está acessando informação compartilhada a cada instante: o se existirem

Relacionados

  • Sistema
    6125 palavras | 25 páginas
  • Sistemas operacionais
    5986 palavras | 24 páginas
  • Rtos orientado a eventos
    15570 palavras | 63 páginas
  • SISTEMAS OPERACIONAIS
    38731 palavras | 155 páginas
  • Linux
    39440 palavras | 158 páginas
  • Lavanderia
    3949 palavras | 16 páginas
  • Senhor
    23887 palavras | 96 páginas
  • Sistemas Operacionais
    7407 palavras | 30 páginas
  • Sistemas Operacionais
    3275 palavras | 14 páginas
  • Respostas do capítulo 1 ao 7 do livro machado/maia
    4722 palavras | 19 páginas