sistemas operacionais - aula 08 (sincronização e comunicação entre processos)
TRANSCRIPT
# Sistemas Operacionais #Aula 08 – Sincronização e Comunicação
entre ProcessosProf. Leinylson Fontinele Pereira
Sistemas Operacionais - Aula 02: Conceitos Básicos
Na aula anterior...
Thread e Processos
18:48
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
Sistemas Operacionais - Aula 02: Conceitos Básicos
O que vamos aprender?
Sincronização e Comunicaçao entre Processos
Produtor vs Consumidor
18:48
Sistemas Operacionais - Aula 02: Conceitos Básicos5
Aplicações Concorrentes
Sistemas Operacionais - Aula 02: Conceitos Básicos6
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.
Sistemas Operacionais - Aula 02: Conceitos Básicos
Escalonamento Multilista
7
Sistemas Operacionais - Aula 02: Conceitos Básicos
Listas com Quantum Variável
8
Sistemas Operacionais - Aula 02: Conceitos Básicos
Windowns
9
Sistemas Operacionais - Aula 02: Conceitos Básicos10
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.
Sistemas Operacionais - Aula 02: Conceitos Básicos11
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.
Sistemas Operacionais - Aula 02: Conceitos Básicos
Concurrency vs. Parallelism
12
Concurrent execution on single-core system:
Parallelism on a multi-core system:
Sistemas Operacionais - Aula 02: Conceitos Básicos13
Comunicação entre processosTrocas de mensagens e variáveis compartilhadas
Sistemas Operacionais - Aula 02: Conceitos Básicos14
Especificação de ConcorrênciaComandos Fork e Join
Sistemas Operacionais - Aula 02: Conceitos Básicos15
Especificação de Concorrência
Sistemas Operacionais - Aula 02: Conceitos Básicos16
Problemas de Compartilhamento de RecursosProblema da conta corrente
Sistemas Operacionais - Aula 02: Conceitos Básicos
Sincronização e Comunicação entre Processos
17
Sistemas Operacionais - Aula 02: Conceitos Básicos
Problema de Concorrência I
18
Sistemas Operacionais - Aula 02: Conceitos Básicos
Problema de Concorrência II
19
Sistemas Operacionais - Aula 02: Conceitos Básicos20
Como Solucionar?
Sistemas Operacionais - Aula 02: Conceitos Básicos21
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
Sistemas Operacionais - Aula 02: Conceitos Básicos22
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útuaSituações indesejadas
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
Sistemas Operacionais - Aula 02: Conceitos Básicos
Nesta aula aprendemos... Sincronização e Comunicaçao entre Processos
Produtor vs Consumidor
24
Sistemas Operacionais - Aula 02: Conceitos Básicos
Em uma aplicação concorrente que controla saldo bancário em contas correntes, dois processoscompartilham uma região de memória onde estão armazenados os saldos dos clientes A e B. Osprocessos executam, concorrentemente os seguintes passos:
26
Sistemas Operacionais - Aula 02: Conceitos Básicos
Thread
27
Sistemas Operacionais - Aula 02: Conceitos Básicos
Thread
28
Sistemas Operacionais - Aula 02: Conceitos Básicos
Thread
29
Sistemas Operacionais - Aula 02: Conceitos Básicos
Thread
30
Sistemas Operacionais - Aula 02: Conceitos Básicos
Thread
31
Sistemas Operacionais - Aula 02: Conceitos Básicos
Thread
32
Sistemas Operacionais - Aula 02: Conceitos Básicos
Thread
33
Sistemas Operacionais - Aula 02: Conceitos Básicos
Thread
34
Sistemas Operacionais - Aula 02: Conceitos Básicos
Thread
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