Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
1. # Sistemas Operacionais #
Aula 08 – Sincronização e Comunicação
entre Processos
Prof. Leinylson Fontinele Pereira
2. Sistemas Operacionais - Aula 02: Conceitos Básicos
Na aula anterior...
Thread e Processos
18:48
3. Sistemas Operacionais - Aula 02: Conceitos Básicos
Mundo 8 - Sincronização e Comunicação entre Processos
3
Thread e Processos
Estrutura do Sistema Operacional
Sincronização e Comunicação entre Processos
4. Sistemas Operacionais - Aula 02: Conceitos Básicos
O que vamos aprender?
Sincronização e Comunicaçao entre Processos
Produtor vs Consumidor
18:48
6. Sistemas Operacionais - Aula 02: Conceitos Básicos
6
A aplicação concorrente tem como base a execução cooperativa de
múltiplos processos ou threads que trabalham em uma mesma tarefa na
busca de um resultado comum.
10. Sistemas Operacionais - Aula 02: Conceitos Básicos
10
Em uma aplicação concorrente, os recursos de do
sistema são compartilhados, como E/S, áreas de
memória, arquivos, etc.
Este compartilhamento muitas vezes cria situações indesejadas, por isto estes
processos tem que ter suas execuções sincronizadas. Estes recursos são oferecidos
pelos sistemas operacionais.
11. Sistemas Operacionais - Aula 02: Conceitos Básicos
11
Quando temos apenas um processador, o sistema operacional
alterna a execução dos processos segundo os critérios de
escalonamento pré-estabelecidos para ele.
Mesmo não havendo paralelismo real, ainda assim
conseguimos aumento de desempenho.
12. Sistemas Operacionais - Aula 02: Conceitos Básicos
Concurrency vs. Parallelism
12
Concurrent execution on single-core system:
Parallelism on a multi-core system:
13. Sistemas Operacionais - Aula 02: Conceitos Básicos
13
Comunicação entre processos
Trocas de mensagens e variáveis compartilhadas
14. Sistemas Operacionais - Aula 02: Conceitos Básicos
14
Especificação de Concorrência
Comandos Fork e Join
21. Sistemas Operacionais - Aula 02: Conceitos Básicos
21
Exclusão Mútua
A forma mais eficiente é impedir o acesso simultâneo.
Quando é assim, o acesso a área crítica é feito um
bloqueio para acesso exclusivo
22. Sistemas Operacionais - Aula 02: Conceitos Básicos
22
No starvation (espera indefinida), um processo nunca
consegue acesso ao recurso compartilhado. Quando um
acaba o SO escolhe quem vai acessar agora, e isto pode
fazer com que seu processo sempre perca pela
aleatoriedade ou por prioridade
Exclusão Mútua
Situações indesejadas
23. Sistemas Operacionais - Aula 02: Conceitos Básicos
Material: https://sites.google.com/site/leinylsonnassau
Aula adaptada do material de:
Sistemas Operacionais, Anhaguera - Prof. Charles Fortes
Arquitetura de Sistemas Operacionais, Machado e Maia
Curso de Java, Loiane Groner
23
24. Sistemas Operacionais - Aula 02: Conceitos Básicos
Nesta aula aprendemos...
Sincronização e Comunicaçao entre Processos
Produtor vs Consumidor
24
25. Sistemas Operacionais - Aula 02: Conceitos Básicos
Em uma aplicação concorrente que controla saldo bancário em contas correntes, dois processos
compartilham uma região de memória onde estão armazenados os saldos dos clientes A e B. Os
processos executam, concorrentemente os seguintes passos:
26
35. Sistemas Operacionais - Aula 02: Conceitos Básicos
Na próxima aula veremos...
Gerência do Processador
Política de escalonamento de um sistema operacional
36