Troca de Mensagens Programação concorrente

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

SISTEMAS OPERACIONAIS (SO) Aula 5 Luciana A. F. Martimiano 2002
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Cliente/Servidor Introdução
Introdução aos Sistemas Distribuídos
Barramentos Introdução.
Modelos de Comunicação em Sistemas Distribuídos
Sistemas Distribuídos
Arquitetura de Sistemas Operacionais
Capítulo 2: Modelo de Computação distribuída
Sistemas Operacionais II
Interação Cliente Servidor
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 3:Conceitos Básicos As figuras que.
Modelos Fundamentais -> Interação Falhas Segurança.
Sincronização de Processos (5)
Sincronização de Processos (6) - Troca de Mensagens -
Arquitetura de Computadores
ESTRUTURA DE COMUNICAÇÃO DE DADOS
Sincronização e Comunicação entre Processos
Comutação Comutação ou chaveamento em uma rede de comunicação refere-se a alocação de recursos da rede (meios de transmissão e equipamentos) para a envio.
Modelo OSI OSI é um modelo de referência para interligação de sistemas abertos (open systems interconection) Padrão ISO 7498, publicado em 1984 Sistemas.
Threads.
Mobilidade Cláudia Ribeiro.
Software de Rede Willamys Araújo.
Redes – Unidade 1 Aula 4 Professor: Marcelo Maia.
Introdução ao roteamento e encaminhamento de pacotes
Rodrigo de Souza Couto Redes de Computadores II
Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação.
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
REDES DE COMPUTADORES Prof. Deivson
Chamada Remota de Procedimentos
Conteúdo 1. Introdução Threads 2. Ambiente Monothread 3. Ambiente Multithread 4. Arquitetura e Implementação 5. Modelos de Programação.
Marcela Bezerra da Silva Cin - UFPE
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos
Concorrência e Java RMI
Protocolos de Recuperação
Entrada e Saída (E/S ou I/O)
Sistemas Distribuídos
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Troca de Mensagens Assíncronas n Canais de comunicação são filas ilimitadas de mensagens. n Processos inserem elementos nessa flia através de comandos.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 26 (1) Troca de Mensagens Troca de Mensagens Tópicos: Características de Mensagens Implementação.
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
SISTEMAS OPERACIONAIS I
PROGRAMAÇÃO DISTRIBUÍDA Aula 01 Prof. Henrique Mongelli
Java RMI João Gabriel (jggxm).
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Processos.
Comunicação.
PROGRAMAÇÃO DISTRIBUÍDA Aula 02 Prof. Henrique Mongelli
Capítulo 4: Processos.
Remote Procedure Call (RPC) e Rendezvous
JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano.
Modelos de Comunicação em Sistemas Distribuídos
Modelos de Comunicação em Sistemas Distribuídos
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Serviços de rede e internet Jackson Eduardo da Silva.
Sistemas Operacionais Distribuídos
Arquitetura de computadores
Passagens de Mensagens Prof. Dr. Norian Marranghello
Jorge Zavaleta PVM vs MPI. Introdução Objetivos do MPI Implementações e definições processos dinâmicos Contextos Operações não bloqueantes Portabilidade,heterogeneidade.
Protocolos de Comunicação e Passagem de Mensagens
COMUNICAÇÃO ENTRE OS MÓDULOS PROCESSADORES
Redes de Computadores Prof. Msc. Moisés Pereira Bastos.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Transcrição da apresentação:

Troca de Mensagens Programação concorrente Baseada em acesso a variáveis compartilhadas Programas tem de executar em hardware em que os processos (e processadores) compartilham memória

Troca de Mensagens Programação distribuída Normalmente rodam em arquiteturas com memória distribuída, com vários processadores Processadores compartilham apenas acesso a uma rede de comunicação processos se comunicam enviando mensagens entre si exemplo: redes de computadores.

Troca de Mensagens Uso de primitivas de comunicação para envio (send) e recebimento (receive) de mensagens Pederiam ser implementadas de forma semelhante a acesso a variáveis compartilhadas, mas seria pouco eficiente Na pratica, essas operações incluem alguma forma de sincronização.

Troca de Mensagens Processos compartilham canais de comunicação. Esses canais são abstrações da conexão física existente: abstraem tempo e erros de comunicação. Uso de operações send e receive A sincronização ocorre, visto que um processo não pode receber uma mensagem sem que outro tenha enviado. Não há variáveis compartilhadas!

Troca de Mensagens Várias formas de dar nomes aos canais, de usa-los e de sincronizar a comunicação Canais podem ser globais a todos os processos, podem ser direcionados, podem conectar dois ou mais processos Comunicação pode ser síncrona (bloqueante) ou assíncrona (não bloqueante)

Comunicação síncrona envio da mensagem é ação atômica participação dos dois processos sincronização da execução dos dois processos o primeiro a chegar espera pelo outro exemplo: telefone

Comunicação assíncrona mensagem enviada sem bloqueio recebimento com/sem bloqueio buffering se buffer estiver cheio o processo poderá ser bloqueado Exemplo: correio

Identificação de processos Telefone: linha dedicada vs. Linha chaveada Quadro de avisos qualquer um escreve/lê

Identificação de processos Canais dedicados são mais eficientes mensagem enviada sem custo de decifrar endereços modificação no sistema exige mudança no código fonte

Identificação de processos Sem identificação de processos a flexibilidade é ainda maior adicionar, remover, modificar processos dinamicamente

Fluxo de dados comunicação em uma direção ou nas duas direções Sistemas assíncronos usam fluxo unidirecional em sistemas síncronos é criado um canal de comunicação Eficiência

Criação de processos Processos criados no início da execução ou dinamicamente? Criação estática mais eficiente embedded systems configuração fixa melhor previsão de performance

Razões para criar processos dinamicamente Flexibilidade ex: terminais Uso dinâmico de recursos alguns recursos são usados apenas em algumas fases do programa Balanceamento de carga ex: aumento na demanda por certos processos

O que iremos estudar Programação distribuída através de Troca de mensagens assíncronas Troca de mensagens síncronas Chamada remota de procedimentos (RPC) e rendezvous. Todas as alterantivas são equivalentes. Cada uma é melhor que a outra para certos tipos de problemas.

Tipos de processos em programas distribuídos Filtros Clientes Servidores Peers – coleções de processos idênticos