Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)

Post on 22-Jan-2018

154 views 4 download

Transcript of Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)

# 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

Sistemas Operacionais - Aula 02: Conceitos Básicos

Alguma Dúvida?

37

leinylson@gmail.com