Your SlideShare is downloading. ×
  • Like
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos

  • 277 views
Published

Anhanguera - Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos

Anhanguera - Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
277
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
24
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. TADS - SO – Aula 8 Prof. Charles Fortes chalkmaster@gmail.com Sistemas Operacionais Sincronização e Comunicação entre Processos
  • 2. 2 Atualizando a Turma
  • 3. 3
  • 4. 4 Previously on TADS-SO...
  • 5. 5 Conceitos básicos de SO O que é um sistema operacional? É um programa ou conjunto de programas cuja função é gerenciar os recursos do hardware Funções básicas Facilidade de acesso aos recursos do sistema + Compartilhar os recursos de forma organizada e protegida
  • 6. 6 Conceitos básicos de SO Hardware e Software são logicamente equivalentes Sistemas monoprogramáveis executam apenas uma tarefa por vez Sistemas multiprogramáveis executam várias tarefas “ao mesmo tempo” Sistemas multiprocessadores possuem vários processadores, além disto podem ser fortemente ou fracamente acoplados.
  • 7. 7 Conceitos básicos de SO O Processar é comporto por: Unidade de Controle, Unidade Lógica e Aritmética, e registradores A memória principal pode ser volátil ou não volátil Memória secundária é o armazenamento de dados “permanente” e não volátil A linguagem de máquina é o que o processador realmente entende e está diretamente ligado a sua arquitetura, que comumente vão ser RISC ou CISC
  • 8. 8 Conceitos básicos de SO Tradutor: Traduz o programa para linguagem de máquina Interpretador: Interpreta código direto Linker: Liga vários módulos como um só Loader: Carrega o programa na memória Depurador: Acompanhar a execução de um programa
  • 9. 9 Conceitos básicos de SO Multiprogramáveis surgiram pela necessidade de usar melhor os recursos do computador Ao final de cada instrução, a unidade de controle verifica interrupções e exceções e as trata
  • 10. 10 Conceitos básicos de SO Kernel oferece um conjunto de rotinas e serviços
  • 11. 11 Conceitos básicos de SO Processos e Threads Programa Conjunto de instruções Processo um programa em execução
  • 12. 12 Aplicações Concorrentes
  • 13. 13 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.
  • 14. 14 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.
  • 15. 15 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.
  • 16. 16 Comunicação entre processos Trocas de mensagens e variáveis compartilhadas
  • 17. 17 Especificação de Concorrência Comandos Fork e Join
  • 18. 18 Especificação de Concorrência
  • 19. 19 Problemas de Compartilhamento de Recursos Problema da conta corrente
  • 20. 20 Problemas de Compartilhamento de Recursos Nem sempre a sai como se parece
  • 21. 21 Problemas de Compartilhamento de Recursos Nem sempre a sai como se parece
  • 22. 22 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
  • 23. 23 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
  • 24. 24 A solução seria usar uma fila (FIFO) para controlar as entradas Exclusão Mútua Situações indesejadas
  • 25. 25 Desabilitar as interrupções Instruções Test-And-Set Soluções de Hardware Situações indesejadas
  • 26. 26 Soluções de Hardware Test-And-Set
  • 27. 27 Soluções de Hardware Test-And-Set
  • 28. 28 Primeiro Algoritmo Soluções de Software Situações indesejadas
  • 29. 29 Segundo Algoritmo Soluções de Software Situações indesejadas
  • 30. 30 Terceiro Algoritmo Soluções de Software Situações indesejadas
  • 31. 31 Quarto Algoritmo Soluções de Software Situações indesejadas
  • 32. 32 Algoritmo de Peterson Soluções de Software Situações indesejadas
  • 33. 33 Todos eles tem o problema do busy wait Soluções de Software Situações indesejadas
  • 34. 34 Vinculado a uma condição de acesso. Sincronização Condicional
  • 35. 35 Semáforos
  • 36. 36 DeadLock
  • 37. 37
  • 38. 38
  • 39. 39 Problema dos filósofos Uma mesa com cinco pratos e cinco garfos, onde os filósofos podem sentar, comer e pensar. Toda vez que um filósofo para e pensar e deseja comer, é necessário que ele utilize dois garfos, posicionados a sua direita e sua esquerda
  • 40. 40 Problema dos filósofos Soluções a) Permitir que apenas quatro filósofos sentem a mesa simultaneamente; b) Permitir que o filósofo pegue um garfo apenas se o outro estiver disponível; c) Permitir que um filósofo ímpar pegue primeiro o seu garfo da esquerda e depois o da direita, enquanto um filósofo par pegue o garfo da direita e, em seguida, o da esquerda;
  • 41. 41 Exemplo do Barbeiro (problema do barbeiro) Um barbeiro recebe clientes para cortar cabelo. Na barbearia há uma cadeira de barbeiro e apenas cinco cadeiras para clientes esperarem. Quando um cliente chega, caso o barbeiro esteja trabalhando, ele senta se houver cadeira vazia ou vai embora se todas as cadeiras estiverem ocupadas. No caso de o barbeiro não ter nenhum cliente para atender, ele senta na cadeira e dorme até que um novo cliente apareça.
  • 42. 42 Monitores
  • 43. 43 Sincronização condicional entre Monitores
  • 44. 44 Let’s Code
  • 45. 45 Exercício para entregar por e-mail Enviar para: chalkmaster@gmail.com Assunto: [TADS_ASO] Exercício Capítulo 7 Prazo limite: 22/05/2014 às 23h59m horário de Brasília (valerá o horário que o google marcar como “recebido” no e-mail)
  • 46. 46 Livro texto: Arquitetura de Sistemas Operacionais 4ªed. Capítulo 7 – Item 7.11 página 131 Questões de 1 a 13 apenas Se pegar as respostas na internet ou eu receber 2 iguais eu anulo o exercício Valendo: 1 x
  • 47. 47
  • 48. Dúvidas? chalkmaster@gmail.com