Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal....

24
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.2.pdfuma mensagem dispon vel no canal....

Page 1: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! 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.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

1 Mecanismos de Comunicacao entre Processos

Modelo de ComunicacaoObjeto Canal

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 3: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Objeto Canal

O modelo de comunicacao e suportado por um objeto do tipocanal de comunicacao, com as respetivas propriedades eoperacoes.

Um canal virtual para um ficheiro permite ler e escrever o seuconteudo.

Aqui, a transferencia de informacao entre processos pode servista como resultado da invocacao de operacoes sobre umobjeto do tipo canal, instanciado num dado processo.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 4: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

A informacao transferida esta inclusa em mensagens que saoenviadas atraves do canal.

Naturalmente, para que a comunicacao tenha lugar, enecessario que haja o envolvimento de mais do que umprocesso interlocutor, estando portanto associados dois oumais processos a um mesmo canal de comunicacao.

O objecto do tipo canal representa de facto o acesso a umcanal de comunicacao no ambito de um processo, podendo servisto como uma extremidade do canal propriamente dito.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 5: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Assim, tal como representado na figura seguinte as mensagenssao enviadas pelo processo produtor, atraves do canal, para oprocesso consumidor que as recebe.

Deste modo, e frequente que um mesmo canal decomunicacao seja representado, em cada processointerveniente na comunicacao (i.e. interlocutor), por umobjeto privado.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 6: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! 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 7: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Um objeto do tipo canal e caracterizado pelas propriedades eoperacoes apresentadas.

A semantica destas propriedades e operacoes sera apresentadaao longo desta seccao, correspondendo a um modelo geralcomum, a partir do qual podemos ver que os mecanismosreais de comunicacao disponibilizados ao programador saoconcretizacoes, possivelmente com funcionalidade estendida.

Para exemplificacao, recorremos a uma analogia com o objetoficheiro ja apresentado anteriormente destacando as diferencasrelevantes.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 8: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Propriedades

Nome

Estado da comunicacao

Metadados

Operacoes

Criar

Associar

Enviar

Receber

Terminar

Eliminar

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 9: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Propriedades dos Canais - Nome

O nome de um canal permite identifica-lo univocamente forado ambito do processo (ou conjunto de processos) no qual foicriado.

A semelhanca dos ficheiros, o nome apenas auxilia naobtencao de uma referencia para o objeto que representa ocanal, nao sendo utilizado posteriormente por razoes deeficiencia.

O nome pode ser definido explicitamente pelo programador,gerado automaticamente pelo sistema operativo ouimplicitamente herdado do processo que criou o canal.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 10: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Propriedades dos Canais - Nome

A referencia para o objecto canal e normalmente representadade fato apenas por um numero inteiro que permite indexartabelas internas do sistema operativo contendo informacaosobre os canais ativos.

O nome atribuıdo a um canal esta definido num espaco denomes (por exemplo, identificadores numericos, cadeias decaracteres, estrutura de diretorios, enderecos de transportedas redes, identificadores de janelas no Windows).

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 11: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Propriedades dos Canais - Estado da Comunicacao

Este espaco de nomes e gerido pelo sistema operativo oubibliotecas especıficas.

Dado o paralelismo com a gestao dos nomes de ficheiros, aestrutura de diretorios e uma opcao utilizada em variosmecanismos de comunicacao.

A propriedade estado da comunicacao permite obterinformacao sobre as caracterısticas e situacao do canal decomunicacao num dado momento.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 12: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Propriedades dos Canais - Estado da Comunicacao

Consoante o mecanismo de comunicacao utilizado parasuportar o canal, e possıvel determinar, por exemplo,disponibilidade de mensagens para serem recebidas,ocorrencia de mensagens urgentes, existencia de ligacaopermanente entre os processos que comunicam atraves docanal, numero ou identificacao de outros processosinterlocutores atraves do canal, direcionalidade dacomunicacao e estrutura das mensagens trocadas.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 13: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Propriedades dos Canais - Metadados

O canal de comunicacao possui metadados associados, asemelhanca com os metadados associados a ficheiros,informacao sobre dono, data e hora de criacao emodificacao, e permissoes de utilizacao por outros processos.

Assim, quando um canal e criado, fica a pertencer a umdeterminado processo com poderes para determinar quais osprocessos que se lhe poderao associar e para eliminar o canal.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 14: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Propriedades dos Canais - Metadados

Em certos mecanismos de comunicacao, os metadadosregistam informacao adicional, por exemplo, ultima operacaoefectuada, ultima mensagem transmitida.

Ao contrario dos ficheiros, existe uma variacao grande daquantidade de informacao nos metadados do canal, consoanteo mecanismo de comunicacao utilizado para suportar o canal.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 15: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Operacoes sobre Canais - Criar

Esta operacao permite a criacao de um novo canal,reservando as estruturas de dados do nucleo de suporte acomunicacao entre processos em tabelas sistema,nomeadamente mantendo o nome do canal a criar que podeser atribuıdo quando a operacao e invocada.

Esta operacao por si so nao permite aos processoscomunicarem atraves do canal recem-criado, assim comovimos que a criacao de um ficheiro nao permite por si so a sualeitura ou escrita.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 16: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Operacoes sobre Canais - Associar

A associacao a um canal previamente criado permite a umprocesso iniciar de fato a comunicacao atraves de um canal.

Corresponde a operacao de abertura de ficheiro num sistemade ficheiros.

Esta operacao adiciona o processo a lista de interlocutores docanal, devolvendo uma referencia para o objeto canal que serautilizada em todas as operacoes posteriores que constituemuma sessao: perıodo de associacao ao canal de comunicacao.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 17: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Operacoes sobre Canais - Associar

A associacao a um canal pode tambem ocorrer de formaimplıcita, sem invocacao desta operacao, quando um processoe automaticamente associado a um canal privado, tipicamenteunico, criado pelo sistema operativo quando o processo elancado (por exemplo, quando e criada uma nova janela emWindows, esta fica associada a uma message queue).

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 18: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Operacoes sobre Canais - Associar

Dependendo do mecanismo utilizado para suportar o canal decomunicacao, a operacao de associacao a um canal podeassumir variantes na sua funcionalidade (por exemplo, criacaoe associacao automaticas, sincronizacao entre processosinterlocutores) que podem estar repartidas por um conjunto defuncoes sistema, como veremos no caso das ligacoes virtuais.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 19: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Operacoes sobre Canais - Enviar

Esta operacao permite a um processo produtor enviar umamensagem atraves de um canal ao qual o processo se tenhaassociado previamente.

Recebe como argumentos uma referencia para o canal(implıcita ou explicitamente), um apontador para o conteudoda mensagem a enviar e a sua dimensao.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 20: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Operacoes sobre Canais - Enviar

Esta operacao corresponde a operacao de escrita no ambitodos sistemas de ficheiros, com a diferenca de que asmensagens sao sempre sequenciais no tempo sendo impossıvelsobrepor mensagens enviadas anteriormente.

Um processo consumidor faz uso desta operacao para receberuma mensagem disponıvel no canal.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 21: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Operacoes sobre Canais - Receber

Recebe como argumentos a referencia para o canal desejado,um apontador para uma zona de memoria tampao onde seracolocado o conteudo da mensagem a receber, e a dimensaomaxima admitida para a mensagem.

Esta operacao e analoga a operacao de leitura sobre ficheiroscom a diferenca de que, na maioria dos mecanismos decomunicacao, as mensagens recebidas sao consumidas, i.e.,retiradas do canal apos terem sido lidas, o que nunca aconteceno caso dos ficheiros.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 22: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Operacoes sobre Canais - Terminar

Um processo produtor ou consumidor utiliza esta operacaopara terminar uma sessao de comunicacao, ou seja, terminar asua associacao ao canal de comunicacao com a consequenteeliminacao do objecto local que lhe da suporte.

A operacao analoga no sistema de ficheiros e a de fecho.

Assim, a terminacao de uma sessao nao implicanecessariamente a eliminacao do canal de comunicacaopropriamente dito, que podera continuar a existir enquantohouver outros processos interlocutores a utiliza-lo.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 23: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Operacoes sobre Canais - Eliminar

Para eliminar o canal de comunicacao propriamente dito,impedindo que outros processos se lhe associemposteriormente, e utilizada esta operacao analoga a remocaode ficheiros.

A eliminacao de um canal pode ser explıcita ou Implıcita aposterminadas todas as sessoes quando ja nao existirem processosassociados ao canal, podendo ser vista como um ficheirotemporario removido apos o seu fecho.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

Page 24: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.2.pdfuma mensagem dispon vel no canal. Hernani Costa hpcosta@dei.uc.pt TGPSI 09/12 Sistemas Operativos M odulo 5B! Prof. Hernani

! Prof. Hernani

Resumo Mecanismos de Comunicacao entre Processos

Modelo de Comunicacao

Avaliacao - Trabalho Teorico-Pratico 5

Escreve um pequeno texto onde resume os slides anteriores.

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

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B