1 / 26

Comunicação Interprocessos

Comunicação Interprocessos. Prof. Alexandre Monteiro Recife. Contatos. Prof. Guilherme Alexandre Monteiro Reinaldo Apelido: Alexandre Cordel E-mail/ gtalk : alexandrecordel@gmail.com greinaldo@fbv.edu.br Site: http://www.alexandrecordel.com.br/fbv Celular: (81) 9801-1878.

Download Presentation

Comunicação Interprocessos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Comunicação Interprocessos Prof. Alexandre Monteiro Recife

  2. Contatos • Prof. Guilherme Alexandre Monteiro Reinaldo • Apelido: Alexandre Cordel • E-mail/gtalk: alexandrecordel@gmail.com greinaldo@fbv.edu.br • Site: http://www.alexandrecordel.com.br/fbv • Celular: (81) 9801-1878

  3. Comunicação Interprocessos • Os processos podem precisar trocar informações entre eles ou podem solicitar a utilização de um mesmo recurso simultaneamente, como arquivos, registros, dispositivos de E/S e memória. • O compartilhamento de recursos entre vários processos pode causar situações indesejáveis e, dependendo do caso, gerar o comprometimento da aplicação. • O Sistema Operacional tem a função de gerenciar e sincronizar processos concorrentes, com o objetivo de manter o bom funcionamento do sistema.

  4. ComunicaçãoInterprocessoCondições de Disputa/Corrida Doisprocessosqueremteracessosimultaneamente à memóriacompartilhada (Ex: spool de Impressão )

  5. Regiões Críticas • Para se evitar uma condição de corrida é preciso definir métodos que proíba que mais de um processo acesse uma determinada área de memória compartilhada ao mesmo tempo. • Esses métodos são conhecidos como exclusão mútua ou MUTEX (MUTualEXclusion). • A parte do programa no qual o processo acessa memória compartilhada é chamada seção crítica ou região crítica. • Dessa forma, a solução para se evitar uma condição de corrida seria organizar os problemas de tal forma que nenhum de dois ou mais processos estivessem em suas regiões críticas ao mesmo tempo.

  6. RegiõesCríticas (1) • Condiçõesnecessárias para proverexclusãomútua: • Nuncadoisprocessossimultaneamenteemumaregiãocrítica • Nada pode ser afirmadosobre a velocidadeousobre o número de CPUs • Nenhumprocessoexecutando fora de suaregiãocríticapodebloquear outros processos • Nenhumprocessodeveesperareternamente para entraremsuaregiãocrítica

  7. RegiõesCríticas (2)EsperaAtiva Exclusãomútuausandoregiõescríticas proposta de exclusão mútua na qual, um processo quando está acessando sua região crítica, outro processo que deseja entrar também em região crítica fica aguardando.

  8. ExclusãoMútua com EsperaOciosa (1) – AlternativaEstrita Soluçãoproposta para o problema da regiãocrítica (a) Processo 0. (b) Processo 1.

  9. ExclusãoMútua comEsperaOciosa (2) Solução de Peterson para implementar exclusão mútua

  10. Dormir e Acordar Problema do produtor-consumidor com umacondição de disputa fatal

  11. Semáforos O problema do produtor-consumidor usando semáforos

  12. Mutexes Implementação de mutex_lock e mutex_unlock

  13. Monitores (1) Exemplo de um monitor

  14. Monitores (2) • Delineamento do problema do produtor-consumidor com monitores • somente um procedimento está ativo por vez no monitor • o buffer tem N lugares

  15. Monitores (3) Solução para o problema do produtor-consumidor em Java

  16. Monitores (4) Solução para o problema do produtor-consumidor em Java (parte 2)

  17. Troca de Mensagens O problema do produtor-consumidor com N mensagens

  18. Barreiras • Uso de uma barreira • processos se aproximando de uma barreira • todos os processos, exceto um, bloqueados pela barreira • último processo chega, todos passam

  19. Jantar dos Filósofos (1) • Filósofoscomem/pensam • Cada um precisa de 2 garfos para comer • Pega um garfoporvez • Como prevenir deadlock • Situação de impasse.

  20. Jantar dos Filósofos (2) Uma solução errada para o problema do jantar dos filósofos

  21. Jantar dos Filósofos (3) Uma solução para o problema do jantar dos filósofos (parte 1)

  22. Jantar dos Filósofos (4) Uma solução para o problema do jantar dos filósofos (parte 2)

  23. O Problema dos Leitores e Escritores Uma solução para o problema dos leitores e escritores

  24. O Problema do Barbeiro Sonolento (1)

  25. O Problema do Barbeiro Sonolento (2) Solução para o problema do barbeirosonolento

  26. Referências • Sistemas Operacionais Modernos – 3ª Edição. A. Tanenbaum, 2008. • Modern Operating Systems 3 e. Prentice-Hall, 2008.

More Related