Tecnologia
E
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
AULA 8 Prof. Me. Marcelo Candido Ferreira marceferreira@hotmail.com
1
SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS • MONITORES – Mecanismos de sincronização de alto nível para o desenvolvimento de aplicações concorrentes – Monitores são considerados mecanismos de alto nível e estruturados pois são implementados pelo compilador (diminui os erros no desenvolvimento). – Implementa automaticamente a exclusão mútua entre os procedimentos declarados, isto é, somente um processo pode estar executando um dos procedimentos do monitor em um determinado instante.
2
SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS • MONITORES – Estrutura do monitor
3
SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS • EXCLUSÃO MÚTUA UTILIZANDO MONITORES – Definição das regiões críticas como procedimentos no monitor, assim o compilador garantirá a exclusão mútua entre procedimentos.
– A comunicação do processo com o monitor é feita unicamente através de chamadas a seus procedimentos e dos parâmetros passados.
4
SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS • SINCRONIZAÇÃO CONDICIONAL UTILIZANDO MONITORES – Realizada através de variáveis especiais de condição, onde é possível associar a execução de um procedimento que faz parte do monitor a uma determinada condição.
– As variáveis especiais de condição são implementadas através de duas instruções: WAIT que coloca o processo no estado de espera, até que outro processo sinalize com SIGNAL que a condição de espera foi satisfeita.
5
SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS • TROCA DE MENSAGENS – Mecanismo de comunicação e sincronização entre processos. O Sistema Operacional possui um subsistema de mensagem que suporta esse mecanismo. A comunicação das mensagens é realizada através de um buffer ou um link de uma rede de computadores.
– Rotinas do Sistema Operacional: • SEND (receptor, mensagem) • RECEIVE (transmissor, mensagem)
6
SINCRONIZAÇÃO E