A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS PROF. HORACIO RIBEIRO Sistemas operacionais.

Apresentações semelhantes


Apresentação em tema: "SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS PROF. HORACIO RIBEIRO Sistemas operacionais."— Transcrição da apresentação:

1 SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS PROF. HORACIO RIBEIRO Sistemas operacionais

2 Aplicações concorrentes: Aplicações concorrentes compartilham recursos (pode acontecer efeitos indesjaveis- inconsistências) Processos precisam se comunicar entre si  Através de variáveis na memória principal  Troca de mensagens Processo grava Processo Le Buffer dados sincronização

3 Especificações de concorrência Notações para especificar pontos de sincronismos: Fork ( dispara o processo) join (pt de controle) Programa A;...... Fork B;..... Join B; End. Programa B;........ End.

4 Especificações de concorrência Parbegin e parend. (dijkstra ) Cada comando é um processo  X:= sqrt (1024) + 35,4 *0,23 – 302/7; Program expressão; var x, temp1, temp2, temp3 : real; parbegin temp1:= sqrt(1024) temp2:= 35,4 * 0,23 temp3:= 302/7 parend; x := temp1 = temp2 d+ temp3; writenln x; End;

5 Compartilhar recursos Compartilhara variáveis Programa A;................... End. Programa b;............... End. Variável comum Produz inconsistências durante o processamento

6 Exclusão mútua Deve-se impedir que dois processos acessem o mesmo recursos simultaneamente. Um processo deve esperar que o outro conclua antes de acessar o recurso. (mutual exclusion). define-se a região critica do processo: quando ele reserva o recurso. define-s Isto é feito introduzindo-se um protocolo de entrada e outro de saída.

7 Região critica Begin........ entra-regiao-critica ( *protocolo de entrada*);.... região critica;..... sai-região-critica (*protocolo de saída*)...... end.

8 mecanismos Sinalização Monitores Problemas: espera indefinida (em algum momento fará uso do recursos) impedir que um processo atue dentro de sua própria região critica

9 Solução via hardware Desabilitar interrupções: ante de entrar em sua região critica. Habilita ao terminar  Limitações:  Compromete o sistema Instrução Test and set  Instruções indivisíveis  Uso de semáforos 9variaveis de controle)

10 Soluções via software. Existem diversos algoritmos para implementar exclusão mútua. repeat enquanto vez= “b” faça.... (região critica.................. vez = “a”; enquanto vez = “a”............... Região critica) vez = “b”.

11 software Limitações: são considera dois processos. Perde-se muito tempo pois o segundo processo fica o tempo todo bloqueado. Se por acaso acontecer da variável não ser setada o processo fica permanentemente bloqueado.

12 Exclusão mutua por software. Segundo algoritmo Usa uma variável para cada processo que indica se o processo esta ou não em sua região critica. A cada momento verifica-se se esta ou não livre.

13 semáforos Uma variável são pode ser manipulada por duas instruções: entra e sai (down up) podem se com variáveis booleanas 0 ou 1 ou variáveis contadoras exemplificar no quadro

14 Exclusão com monitores Monitores são mecanismos de exclusão de alto nível Suporte dos compiladores (o compilador introduz o mecanismo) Variáveis globais Procedimentos.......... MONITORMONITOR Fila do monitor

15 Mecanismos de troca de mensagem Mecanismo de comunicação e sincronização entre processos. Existe um buffer para trocar mensagens: tem duas rotinas SEND ( receptor, mensagem) RECEIVED (transmissor, mensagem) Se implementa de duas forma:  Direta o processo deve endereçar diretamente o outro processo. (precisa identificar o processo –isto é um problema)

16 Comunicação indireta É colocada uma área comparatilhada, onde processos colocam e retiram mensagens. O Buffer comum é conhecido como mailbox ou port. Existe três formas de implementar  A o emissor fica aguardando o receptor ler a mensagem  Rendezvous o transmissor não fica bloqueado  Forma assíncrona de comunicação (ninguém aguarda)

17 Deadlock Um processo fica aguardando um recurso que nunca terá É necessário ocorrer quatro condições:  Exclusão mutua: o recurso são pode ser alocado a um processo  Espera por recurso  Não liberação: o recurso não é liberado  Espera circular

18 Prevenção de Deadlock Exclusão mutua  não existir Alocação total Permitir retirar um recurso de um processo Liberar recursos após a sua imediata utilização

19 Correção do deadlock Eliminar liberando os recursos Usa-se prioridade para fazer a eliminação


Carregar ppt "SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS PROF. HORACIO RIBEIRO Sistemas operacionais."

Apresentações semelhantes


Anúncios Google