Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
! Prof. Hernani
Resumo Comunicacao entre Processos
Arquitetura de Sistemas Operativos
Hernani Costa
Sistemas Operativos 2011/2012
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
1 Comunicacao entre ProcessosComunicacao entre Processos
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Introducao
Os sistemas operativos implementam mecanismos queasseguram independencia entre processos (i.e., a execucao deum processo nao afeta os outros, para alem da variacao dotempo de duracao).
No entanto, em muitos casos os processos necessitam trocarinformacao de forma controlada para:
dividir tarefas;aumentar a capacidade de processamento por distribuicao doesforco em computadores distintos ligados em rede;sincronizar a execucao de cada um.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Introducao
Os mecanismos de comunicacao sao classificados em:Comunicacao por memoria partilhada
Semaforos, mutexes;Segmentos partilhados.
Comunicacao via nucleo, que exige copia de dados. Osmecanismos disponıveis dependem da arquitectura do sistema:
Ambiente centralizado: fluxo de bytes (pipes); sinais;Ambiente distribuıdo (e.g.,: redes de computadores):mensagens (sockets); chamada remota, com dados passadospor parametro. O mecanismo mais divulgado e o RPC(“Remote Procedure Call”).
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Comunicacao via memoria partilhada
Vantagens da comunicacao via memoria partilhada: maiseficiente (copia de dados consome recursos).
Inconvenientes: problemas de sincronizacao.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Comunicacao via nucleo
Vantagens da comunicacao via nucleo:
Pode ser realizada em sistemas com varios CPU;Sincronizacao implıcita.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Comunicacao via nucleo
Comunicacao via nucleo e executada na seguinte sequencia depassos:
1 Criacao de um canal do processo produtor para o processoconsumidor, via nucleo.
2 Processo produtor escreve mensagem no canal.3 Processo consumidor le mensagem vinda do canal.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Introducao
IPC - “InterProcess Communication” e o conjunto demecanismos de troca de informacao entre multiplas threads deum ou mais processos.
O Linux disponibiliza varios tipos de mecanismos IPC, deacordo com os objectivos de cooperacao:
E/S de uso geral: tubos (“pipes”) / filas (“fifos”), STREAMS.E/S entre computadores distintos: Sockets e RPC - “RemoteProcedure Call”.Controlo de processos: signal.Protecao de acesso a recursos (sincronizacao de processos):semaforos e mutexes.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Canal de comunicacao
Canal de comunicacao: meio pelo qual a informacao etransmitida do emissor ao receptor.
Exemplos:
Memoria partilhada pelos processos emissor e receptor.Memoria tampao no nucleo.Nıvel de transporte na Internet, responsavel pela transferenciado no fonte ao no destino independentemente da forma comoa rede de computadores subjacente se encontra organizada.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Protocolo
Protocolo - regras de troca de mensagens entre osintervenientes.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Modelos de comunicacao
A arquitectura de comunicacao entre diversos intervenientes(programas ou processos) segue um modelo determinado.
Modelos de comunicacao entre aplicacoes:
Difusao (“broadcast”): o emissor envia a mesma informacao atodos os restantes processos receptores.Produtor-consumidor: comunicacao uni-direcional, com oprodutor a entregar mensagens ao consumidor.Cliente-servidor: cliente controla totalmente o servidor.Caixa de correio: as mensagens podem ser lidas por umprocesso receptor sem o emissor (um entre varios) podercontrolar o processo que recolhe a mensagem.Dialogo: dois processos acordam canal temporario para trocade mensagens durante uma sessao.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Modelo de difusao - Broadcast
O produtor envia mensagem a todos os consumidores, semsaber quem e quantos sao.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Modelo produtor-consumidor
Conexao uni-direcional fixa, do produtor para o consumidor.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Modelo cliente-servidor
Conexao bi-direcional fixa, entre o cliente (computador,programa ou processo que requer informacao) e o servidor(computador, programa ou processo que disponibilizadeterminado servico ao cliente).
A comunicacao desenrola-se nos seguintes passos:1 O cliente envia um pedido ao servidor.2 O servidor executa o pedido.3 O servidor assinala o resultado ao cliente.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Modelo cliente-servidor
Programacao modular: software de grande dimensao edividido em modulos, facilitando o desenvolvimento e amanutencao.
O modelo cliente-servidor estende o conceito de programacaomodular, na medida que os modulos podem ser executadosem espacos distintos de memoria.
Cliente: modulo chamador, que requer servico.
Servidor: modulo chamado, que disponibiliza servico.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Modelo cliente-servidor
Tipicamente, a interacao entre o cliente e o servidor segue asseguintes etapas.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Modelo cliente-servidor
O modelo cliente-servidor tem sido adotado em muitosservicos da Internet.
Exemplos de protocolos definidos no modelo de comunicacaocliente-servidor:
HTTP para WWW;SMTP para transferencia de Email entre nos na rede;POP3 para utilizador recolher mensagens Email guardadasnum ISP (Internet Service Provider).
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Modelo cliente-servidor
Fixadas as normas dos protocolos de comunicacao entrecliente e servidor, percebe-se que cada um pode serimplementado de forma independente.
Exemplos:
Servidores WWW (Apache, lighttpd, etc.);Clientes WWW (Firefox, Internet Explorer, etc.).
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Modelo P2P
No modelo cliente-servidor as tarefas sao separadas por umdos dois nos intervenientes. Os dados sao divididos numaparticao.
No modelo P2P - “peer to peer”, o no e simultaneamentecliente e servidor.
Os dados sao divididos aleatoriamente pela rede: dadoslocalizados por “inundacao” da rede com pedidos.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Modelo caixa de correio
A ligacao entre produtor e consumidor e indireta.1 Produtor escreve mensagem na caixa do correio.2 O consumidor recolhe uma mensagem da caixa de correio, sem
escolha do produtor que escreveu a mensagem.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Modelo dialogo
1 O cliente envia um pedido ao servidor.
2 Criado um servidor dedicado, que liga ao cliente por um canaldedicado.
3 O canal e desligado quando a sessao termina.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5
! Prof. Hernani
Resumo Comunicacao entre Processos
Comunicacao entre Processos
Avaliacao - Trabalho Teorico-Pratico 8
Escreve um pequeno texto onde resume os slides anteriores.
Neste trabalho nao tem de resumir todos os slides, poderaoptar por escolher topicos individuais.
O texto devera: ser elaborado em grupo; enviado por email aoprofessor no final da aula; e devera conter entre 150 a 250palavras.
Hernani Costa [email protected]
TGPSI 09/12 Sistemas Operativos Modulo 5