Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa [email protected]...

45
Prof. Hernani Resumo Mecanismos de Comunica¸c˜ ao entre Processos Arquitetura de Sistemas Operativos Hernani Costa [email protected] Sistemas Operativos 2011/2012 Hernani Costa [email protected] TGPSI 09/12 Sistemas Operativos odulo 5B

Transcript of Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa [email protected]...

Page 1: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Arquitetura de Sistemas Operativos

Hernani Costa

[email protected]

Sistemas Operativos 2011/2012

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 2: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

1 Mecanismos de Comunicacao entre Processos

Modelo de ComunicacaoModelos de Interaccao entre Processos Produtor e Consumidor

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 3: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Mecanismos de Comunicacao entre Processos

Os dados transmitidos entre as aplicacoes sao geralmenteopacos para o sistema operativo, na medida em que esteapenas se encarrega de os recolher do produtor (emissor) eentrega-los ao consumidor (recetor), ignorando a suaorganizacao e estrutura internas (que podem ir desde simplessequencias de caracteres ou valores numericos ate documentosestruturados, ou grafos de objetos serializados, quer em XMLquer em codificacao binaria).

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 4: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Mecanismos de Comunicacao entre Processos

Cabe aos processos acordar o formato que os dados devemrespeitar, bem como o protocolo a que obedece a troca dosmesmos.

Estas operacoes sao efetuadas recorrendo aos mecanismos decomunicacao entre processos que sao disponibilizados pelosistema operativo.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 5: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

A comunicacao entre processos e tambem necessaria para apropria sincronizacao entre tarefas e processos que seexecutam em maquinas diferentes, uma vez que nao epossıvel, na ausencia de uma memoria comum, a doisprocessos em execucao em computadores distintos,sincronizar-se, sem que haja transmissao fısica de informacaoentre eles.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 6: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Desta forma, os mecanismos de comunicacao entre processospermitem elevar o nıvel de abstraccao com que e programadaa cooperacao entre processos, uma vez que integram tanto osaspetos da sincronizacao como os da transferencia de dados.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 7: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

O modelo computacional da comunicacao entre processos seradescrito recorrendo a abstracao de um objeto canal.

A partir deste objeto conceptual sao apresentadas as formastıpicas de interacao entre processos atraves de canais decomunicacao, seguidas da explicacao das caracterısticas maisrelevantes dos mesmos (por exemplo, estrutura dasmensagens, sincronizacao), das tecnicas de implementacao eda sua integracao no modelo computacional.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 8: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Estas vertentes vao permitir categorizar os mecanismos decomunicacao reais integrados nos sistemas operativos Linux eWindows.

Modelo de comunicacao como generalizacao do modelo decooperacao entre processos atraves da abstracao de um objetocanal:

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 9: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Canal conceptual.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 10: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Na cooperacao entre processos, existe um conjunto dealgoritmos mais utilizados em problemas reais (por exemplo,produtor-consumidor, leitores e escritores).

No modelo de comunicacao entre processos existem tambemmodelos de interacao que sao mais usuais e, por isso,importantes para compreender a maior parte das situacoes decomunicacao entre processos.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 11: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

A possibilidade de seguir um determinado modelo deinteracao entre processos determina muitas vezes qual ouquais os mecanismos de comunicacao efetivamente utilizadospor uma aplicacao.

A exploracao destas caracterısticas permite tambem otimizar aimplementacao dos mecanismos de transferencia dainformacao.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 12: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Assim os modelos de interacao entre processos envolvidos nacomunicacao, de modo a realizarem a comunicacao entre si,sao definidos por dois aspetos principais: o numero deprocessos interlocutores envolvidos, i.e., associados ao canal, eo papel desempenhado por cada um deles.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 13: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Os modelos de interaccao mais relevantes sao apresentados deseguida indicando o numero de processos com acesso a cadauma das extremidades do canal conceptual, referido na Figuraanterior, juntamente com o nome porque sao tradicionalmenteconhecidos:

Um-para-Um (Mestre-Escravo);Muitos-para-Um (Correio ou canal sem ligacao);Um-para-Um de Varios (Dialogo ou canal com ligacao);Um-para-Muitos (Difusao);Muitos-para-Muitos.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 14: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um (Mestre-Escravo)

Este modelo de interacao baseia-se na associacao estrita entredois processos, sendo estabelecida uma ligacao entre ambos.

Pressupoe que o processo escravo tem a sua atividadetotalmente controlada por um processo mestre.

O canal de comunicacao entre os dois processos e fixo e aassociacao destes ao canal e preestabelecida, o que implicaque cada um conheca previamente a identificacao do outro.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 15: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um (Mestre-Escravo)

Este modelo corresponde a estabelecer um canal com ligacaoentre os dois processos.

O processo mestre age principalmente como produtorenquanto o escravo age principalmente como consumidor dasmensagens enviadas pelo produtor, embora exista apossibilidade de transmissao de mensagens nos dois sentidospara envio de resultados da tarefa executada (pelo processoescravo).

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 16: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um (Mestre-Escravo)

Este modelo de interacao representa a alternativa maissimples de comunicacao; todavia, impoe uma rigidez quelimita fortemente o seu uso.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 17: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um (Mestre-Escravo)

E normalmente utilizado em situacoes em que existe umprocesso escravo encarregue de realizar tarefas especıficascomo controlar sensores, bracos-robot, gravadores CD/DVD,cuja atividade e completamente controlada por um processogestor (o mestre).

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 18: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um (Mestre-Escravo)

O diagrama da figura seguinte descreve o decurso do modelode interacao mestre/escravo.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 19: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um (Mestre-Escravo)

O mestre nao tem de pedir permissao para utilizar o escravo(enviando uma mensagem passo 1).

O processo escravo processa a informacao recebida (passo 2),podendo em sequencia notificar o mestre de que completou oprocessamento.

O principal aspecto deste modelo de interacao reside nanatureza estatica e predefinida da associacao entre processomestre e escravo.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 20: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um (Mestre-Escravo)

Este modelo de interacao e utilizado, por exemplo, em Linuxquando o processo que executa a shell de interaccao com outilizador (mestre) cria processos-filho (escravos para executaros comandos digitados por este, e tambem quando a saıda deum processo (mestre) e utilizada como entrada para outroprocesso (escravo) atraves do mecanismo de pipes.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 21: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Muitos-Para-Um (Correio)

O correio baseia-se na possibilidade de transferenciaassıncrona de informacao sob a forma de mensagens.

As mensagens sao enviadas individualmente por um conjuntode processos produtores a um processo consumidor que estapreparado para recebe-las.

O canal e criado previamente pelo processo consumidor e oseu nome e conhecido por todos os processos produtores,sendo por isso estatico.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 22: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Muitos-Para-Um (Correio)

Cada processo consumidor pode, desta forma, ser visto comoum servidor que atende pedidos de varios clientes (osprocessos produtores).

Este modelo de interacao e mais flexıvel que o anterior.

O produtor pode enviar mensagens sem que as anteriorestenham sido recebidas e processadas pelo consumidor.

O produtor nao tem qualquer controlo sobre o consumidor.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 23: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Muitos-Para-Um (Correio)

O consumidor nao e escravo uma vez que nao trabalha paraum produtor em particular, mas para o conjunto de processosa quem oferece um servico.

Este modelo de interaccao e utilizado tradicionalmente pelosservicos de impressao (spooling) em que o processoconsumidor recebe mensagem enviadas atraves do canal pelosprocessos produtores contendo pedidos de impressao dedocumentos.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 24: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Muitos-Para-Um (Correio)

E tambem utilizado no ambito das grids computacionais emque um computador de grande porte (consumidor) recebemensagens de computadores pessoais (produtores) contendopedidos de execucao de calculos cientıficos complexos.

Numa analogia com o mundo real, este modelo de interaccaoe ainda exemplificado pelo envio de telegramas, mensagenstelefonicas e o correio postal tradicional que lhe da o nome.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 25: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Muitos-Para-Um (Correio)

O diagrama da figura seguinte descreve o decurso do modelode interacao correio.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 26: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Muitos-Para-Um (Correio)

O canal de comunicacao deve memorizar as mensagensdurante o intervalo de tempo que decorre entre a suaproducao e o seu consumo, podendo um produtor ficarbloqueado se a capacidade de memorizacao do canal ti versido excedida.

O mesmo pode ocorrer com o consumidor quando nao hamensagens para serem recebidas ficando este bloqueado.

O canal com capacidade de memorizacao das mensagens,utilizado neste ambito, e vulgarmente designado por caixa demensagens.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 27: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um de Varios (Dialogo)

O dialogo e um modelo de comunicacao que se podeconsiderar como apresentando caracterısticas hıbridas dos doismodelos anteriores.

Tal como na interaccao mestre/escravo, tambem se estabeleceum canal fixo entre dois processos.

Contudo, este e criado de uma forma dinamica.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 28: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um de Varios (Dialogo)

Um dos processos, designado normalmente como cliente, deverequisitar o estabelecimento da ligacao enviando umamensagem para um canal previamente criado pelo servidorexclusivamente para esse fim.

Como resultado e criado um novo canal ao qual o cliente e onovo processo (ou tarefa) servidor dedicado ficamautomaticamente associados.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 29: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um de Varios (Dialogo)

A associacao e temporaria e durara apenas o tempo dainteracao.

Portanto, ao terminar esta ligacao entre os dois processos, onovo canal e eliminado.

Existe ainda uma variante desta forma de interacao para ocaso em que nao e possıvel, ou desejavel, criar um novoprocesso ou tarefa como servidor dedicado a cada cliente.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 30: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um de Varios (Dialogo)

Neste caso, cada um dos processos ou tarefas do servidorpode servir um numero, desejavelmente reduzido, de clientes.

Esta situacao, tambem hıbrida, tem um pendor adicional nasolucao do tipo correio.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 31: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um de Varios (Dialogo)

A justificacao principal para este modelo de comunicacaoadvem da maior eficacia que se pode obter da utilizacao deum canal dedicado quando os processos vao interactuarlongamente ou transferir um grande volume de dados.

A arquitetura e os protocolos de transferencia de dadospodem ser otimizados no sentido de obter melhor desempenhoque utilizando duas caixas de mensagens.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 32: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um de Varios (Dialogo)

Este modelo de interacao e utilizado no estabelecimento deuma sessao remota com um outro computador (por exemplo,telnet, ssh), na transferencia de ficheiros e na utilizacao deremote desktop connection em Windows.

Este modelo de interaccao e tipicamente exemplificado pelasligacoes telefonicas que consistem num canal dedicado entredois telefones criado pela rede de centrais telefonicas.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 33: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um de Varios (Dialogo)

O diagrama da figura seguinte descreve o decurso do modelode interaccao dialogo.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 34: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Um de Varios (Dialogo)

O processo cliente executa-se numa maquina e comeca porestabelecer a comunicacao com um servidor principal,encarregue do servico em causa, que se executa num outrocomputador, utilizando para isso um canal predeterminado.

Uma vez estabelecido o contacto, o servidor principal cria umnovo processo (ou tarefa) e um novo canal dedicados apenasinteracao posterior com o cliente.

Desta forma, o servidor principal apenas recebe pedidos decomunicacao e, dinamicamente, cria a infra-estruturaespecıfica que vai atender cada cliente.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 35: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Muitos (Difusao)

Neste modelo de interaccao, um processo produtor pretendeenviar a mesma informacao a um conjunto de processosconsumidores, elencados em extensao, ou reunidos num grupocom identificacao propria.

Este modelo distingue-se do correio no seguinte aspecto: cadamensagem nao e apenas recebida por um processo.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 36: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Muitos (Difusao)

O motivo mais imediato para utilizara difusao relaciona-secom a necessidade de enviar a varios processos a mesmamensagem, tipicamente com informacao de uso geral.

Por exemplo, notificar que um servico esta disponıvel ou ficouindisponıvel.

A difusao pode tambem ser realizada como umdesdobramento do modelo de correio, obrigando o produtor arepetir a mensagem um numero de vezes identico ao cardinaldo conjunto de consumidores.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 37: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Muitos (Difusao)

Contudo, esta realizacao e ineficiente e pouco flexıvel, dadoque obriga a conhecer os nomes dos canais associados a todosos processos consumidores.

Esta dificuldade e particularmente relevante no ambito dacomunicacao em sistemas distribuıdos sendo por isso utilizadassolucoes como multicast IP e comunicacao em grupo

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 38: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Muitos (Difusao)

O diagrama da figura seguinte ilustra este modelo deinteracao, de que um exemplo e o comportamento dosgestores de janelas quando se pretende desligar o computador,realizado atraves da difusao de uma mensagem determinacao/fecho a todas as janelas de aplicacoes emexecucao.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 39: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Muitos (Difusao)

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 40: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Muitos (Difusao)

Analogamente, quando se pretende minimizar todas as janelas,ocorre a difusao de uma mensagem especıfica, pelo gestor dejanelas, a todas as janelas de aplicacoes em execucao.

Outros exemplos incluem a seleccao de processos (porexemplo, seleccao do gestor de periferico que controla umaimpressora laser difundindo uma mensagem de deteccao degestores), deteccao de recursos e servicos nas arquitecturasJini e UPnP, e para aumento da fiabilidade (difusao dasoperacoes de um sistema de ficheiros a dois ou mais processoscontroladores de modo a manter duas copias actualizadas etolerar faltas).

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 41: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um-Para-Muitos (Difusao)

Estabelecendo novamente a analogia com a comunicacao nomundo real, este modelo e tambem exemplificado pelastransmissoes radio e TV com um unico produtor (estacaoemissora) e muitos consumidores (aparelhos de rececao).

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 42: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Muitos-Para-Muitos

Neste modelo de interacao generalizado, todos os processospodem ser produtores e consumidores de mensagens ealternarem esses papeis durante a sua execucao.

Todos os processos podem ser produtores e as mensagensficam disponıveis a totalidade dos processos que tambempodem agir como consumidores.

Esta forma de interacao e normalmente exclusiva paraambientes em que todos os processos interlocutores podem lere escrever para memoria partilhada entre eles.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 43: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Muitos-Para-Muitos

Um exemplo deste modelo de interacao e a utilizacao doclipboard no Windows onde todas as janelas de aplicacoes,instruıdas pelo utilizador, podem produzir e consumirinformacao.

Como exemplo de um sistema distribuıdo, a Wikipedia seguetambem este modelo de interacao, onde todos os utilizadorespodem consultar e inserir texto em cada artigo wiki.

Fora do ambito da informatica, este modelo de interacao podeser exemplificado pela utilizacao de um quadro numa sala dereunioes atraves do qual todos os participantes podemproduzir e consumir informacao.

Os modelos de interacao apresentados constituem as formasmais tıpicas de associacao entre processos produtores econsumidores e sua utilizacao do canal de comunicacao.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 44: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Muitos-Para-Muitos

Na tabela seguinte sao apresentados exemplos adicionais decorrespondencia com situacoes no mundo real.

Modelo de Interacao Situacao no Mundo Real

Um-para-um Comunicacao com par de walkie-talkies

Muitos-para-um Correio postal, SMS entre telemoveis.

Um-para-um de varios Servico telefonico.

Um-para-um Televisao, radio, paineis publicitarios.

Muitos-para-muitos Youtube, Clipboard.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 45: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.1.pdfHernani Costa hpcosta@dei.uc.pt Sistemas Operativos 2011/2012 Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Avaliacao - Trabalho Teorico-Pratico 4

Descreva um dos seguintes conceitos:

Um-para-Um (Mestre-Escravo);Muitos-para-Um (Correio ou canal sem ligacao);Um-para-Um de Varios (Dialogo ou canal com ligacao);Um-para-Muitos (Difusao).

O texto devera: ser elaborado em grupo; enviado por email aoprofessor no final da aula; e devera conter entre 250 a 500palavras.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B