Aula_07 Sincronização E Comunicação Entre Processos
8036 palavras
33 páginas
Arquitetura de Sistemas Operacionais – Machado/MaiaArquitetura de Sistemas
Operacionais
Capítulo 7
Sincronização e Comunicação entre Processos
Cap. 7 – Sincronização e Comunicação
1
Arquitetura de Sistemas Operacionais – Machado/Maia
Sumário
•
•
•
•
•
•
•
•
•
•
Introdução
Aplicações concorrentes
Especificação de concorrência em programas
Problemas de compartilhamento de recursos
Exclusão mútua
Sincronização condicional
Semáforos
Monitores
Troca de mensagens
Deadlock
Cap. 7 – Sincronização e Comunicação
2
Arquitetura de Sistemas Operacionais – Machado/Maia
Introdução
• Surgindo os sistemas multiprogramáveis, passou a ser possível uma aplicação ter trechos de códigos sendo executado de forma concorrente – aplicação concorrente;
• A base é a execução cooperativa de processos ou threads em prol de um objetivo comum; • Mesmo em sistemas monoprocessados é possível obter ganhos com aplicações concorrentes; • Ao sistema multiprocessados estende as vantagens do uso deste tipo de aplicação;
Cap. 7 – Sincronização e Comunicação
3
Arquitetura de Sistemas Operacionais – Machado/Maia
Introdução
• É natural o compartilhamento de recursos pelos processos de uma aplicação concorrente;
• Este compartilhamento pode gerar situações indesejáveis;
• Para evitar estas situações os processos devem ter a sua execução sincronizadas, a partir de mecanismos oferecidos pelo S.O.;
• Este capítulo descreve a sincronização e comunicação entre processos.
Cap. 7 – Sincronização e Comunicação
4
Arquitetura de Sistemas Operacionais – Machado/Maia
Aplicações Concorrentes
• Muitas vezes, os processos concorrentes devem comunicar entre si; • Esta comunicação pode ser implementada através de:
– Memória compartilha;
– Troca de mensagens.
Cap. 7 – Sincronização e Comunicação
5
Arquitetura de Sistemas Operacionais – Machado/Maia
Aplicações Concorrentes
• Na próxima figura:
– Um processo que lê do buffer;
– Outro processo de grava no buffer;
• Condições:
– O processo só lê se o