Monitores e semaforos
Faculdades Integradas Paulista
Curso: Sistemas da Informação
Tema: Monitores e Semáforos
Monitores e Semáforos
Os monitores têm como principal função evitar a concorrência entre processos, ele possui recursos que são capazes de verificar qual o processo deve ser passado na frente, por obter uma prioridade maior que os demais, com isso, sincronizando os processos.
Em um processador, cada processo é executado por vez, com isso, uma das funções dos monitores é a "Exclusão Mútua", ou seja, somente um processo pode estar executando os processos do monitor. Toda vez que algum processo chama um desses procedimentos, o monitor verifica se já existe outro processo executando algum procedimento do monitor. Também devemos lembrar que, toda implementação da exclusão mútua nos monitores é realizada pelo compilador, e não mais pelo programador, como no caso do uso de semáforos. A Exclusão Mútua em semáforos utiliza duas instruções para a entrada e saída de dados, o Down e o Up:
Down - esse comando testa se o valor do semáforo é maior que zero, se for maior que zero, o semáforo é decrementado e o processo continua, caso não for maior que zero o processo é posto para dormir.
Up - esse comando incrementa o valor do semáforo. Quando temos um Up em um semáforo com processos dormindo, resulta em um processo dormindo a menos.
Existem semáforos que assumem somente os valores de 0 e 1, 0 para livre e 1 para ocupado. Eles são denominados semáforos binários ou mutex.