arquitetura de sistemas operativoshpcosta/so/somod5baula3.5.pdfum ou mais processos. o linux...

22
Prof. Hernani Resumo 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 5

Upload: others

Post on 11-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! Prof. Hernani

Resumo 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 5

Page 2: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! Prof. Hernani

Resumo Comunicacao entre Processos

1 Comunicacao entre ProcessosComunicacao entre Processos

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5

Page 3: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 4: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 5: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 6: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 7: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 8: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 9: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 10: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 11: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 12: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 13: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 14: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 15: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 16: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 17: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 18: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 19: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 20: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 21: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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

Page 22: Arquitetura de Sistemas Operativoshpcosta/so/soMod5BAula3.5.pdfum ou mais processos. O Linux disponibiliza v arios tipos de mecanismos IPC, de acordo com os objectivos de coopera˘c~ao:

! 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