Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouFrancisco Leveck Galindo Alterado mais de 8 anos atrás
1
Passagens de Mensagens Prof. Dr. Norian Marranghello
Grupo 2 Caio Scaramucci Felipe A. Cavani
2
Passagens de Mensagens
Primitivas básicas de comunicação Serviço de transporte Estruturas de comunicação Destino das mensagens Comunicação síncrona, assíncrona e buffering Pipe Socket Comunicação grupal
3
Introdução Necessidade de processos estarem se comunicando.
Aplicações distribuída. A necessidade de ser transparente ao usuário Confiável.
4
Primitivas básicas de comunicação
Serviço de transporte Protocolo: conjunto de regras que possibilita a comunicação. Principal protocolo de transporte usado atualmente: TCP. É uma das camadas do TCP/IP. O que facilita a implementação. Aplicação Transporte Rede Enlace Física
5
Primitivas básicas de comunicação
Estruturas de comunicação Send e Receive (Forma mais simples de passagem de mensagem) Pipe Socket Cliente-servidor Comunicação grupal
6
Primitivas básicas de comunicação
Destino das mensagens Nome: O processo é associado sempre associado a um mesmo endereço. Ligação: O SO mascara o endereço. Caixa de correio: O processo busca pela mensagem em uma caixa de correio. Portas: Caixa de correio utilizando fila.
7
Primitivas básicas de comunicação
Comunicação síncrona e assíncrona Síncrona O processo que envia/recebe é bloqueado. Bloqueio confiável Bloqueio explícito
8
Primitivas básicas de comunicação
Comunicação síncrona e assíncrona Assíncrona Send sem bloqueio Receive sem bloqueio Receive com bloqueio
9
Primitivas básicas de comunicação
Buffer Solucionar o problema de sincronismo. Ex: send é executado antes do reciver. Caixa de correio para depositar mensagens. Destruição pelo kernel A caixa de correio tem capacidade limitada.
10
Pipe Aplicação limitada
Produtor e consumidor. Ex: Unix pipe. ls –lh | more
11
Socket Análogo a tomadas. Solicitam ao sistema a criação de um socket.
listen(buffer,socket) e connect(socket,adr) Podem ser criados e destruídos dinamicamente. O kernel é responsável pelo mapeamento. Conexão Rede Espaço do usuário do kernel Socket
12
Socket Tipos de sockets Conexão confiável orientada a bytes. Ex: TCP.
Conexão confiável orientada a pacotes. Transmissão não confiável. Ex: UDP
13
Socket Socket seguro Informações confidenciais. Criptografia.
Métodos de validação.
14
Comunicação grupal Introdução
Comunicação de um transmissor para vários receptores. Diferente da RPC (Chamada Remota a Procedimentos): permite apenas a comunicação de um trasmissor para um receptor. Conveniente para sistemas redundântes.
15
Um trasmissor e um receptor Um trasmissor e vários receptores
Comunicação grupal Um trasmissor e um receptor Um trasmissor e vários receptores
16
Comunicação grupal Exemplo Servidores de arquivos redundantes.
Cliente
17
Comunicação grupal Caracteristicas de grupos
Grupo: conjunto de processos que agem juntos. Comunicação um-para-muitos. São dinâmicos. Um processo pode se comunicar com outros do grupo sem saber quantos são e nem aonde estão localizados.
18
Comunicação grupal Analogia: FORUM Indivíduos do forum Processos
O programa de controle do forum Sistema operacional Mensagens trocadas no forum Mensagens entre os processos
19
Comunicação grupal Técnicas de gerenciamento de trocas de mensagens Multicast: cada grupo tem um endereço. O transmissor se comunica com os receptores do grupo apenas enviando mensagens para esse endereço. Broadcast: o trasmissor envia uma mensagem igual para todos do grupo. Estes descartam a mensagem se não forem os destinatários corretos. Unicast: o trasmissor envia uma mensagem igual para cada um dos receptores do grupo ao qual se quer comunicar. 1 2 3 4 X Multicast Broadcast Unicast
20
Comunicação grupal Características dos grupos:
Grupos fechados: somente os processos pertencentes ao grupo podem enviar mensagens a ele. Grupo aberto: qualquer processo do sistema pode enviar mensagens a ele.
21
Comunicação Grupal Comunicação não permitida Comunicação permitida
Processo que não é membro do grupo Processo que não é membro do grupo Grupo fechado Grupo aberto
22
Comunicação grupal Grupo igualitário: todos os processos desse grupo são iguais e todas as decisões são tomadas coletivamente. Grupo hierárquico: um único processo do grupo, chamado de coordenador, dirige o trabalho do resto do grupo.
23
Comunicação Grupal Grupo Igualitário Grupo Hierárquico
Processo do grupo Coordenador Grupo Igualitário Grupo Hierárquico
24
Comunicação Grupal Exemplo Jogo de Xadrez no computador:
Os processos do grupo somente interagem com eles mesmos: grupo fechado. Uma jogada é enviada para um único processo que distribue a tarefa entre os outros do grupo: grupo hierárquivo.
25
Comunicação Grupal Exemplo Servidores de arquivos redundantes:
O cliente (processo não pertencente ao grupo) deve ter a permissão de enviar um pedido de arquivo para todos os servidores (grupos): grupo aberto. Todos os servidores são iguais e exercem a mesma tarefa. Se um falhar, qualquer outro pode atender o pedido: grupo igualitário.
26
Comunicação Grupal Controle dos membros do grupo: Servidor de grupo:
Mantém uma base de dados completa de todos os grupos e seus membros. Controla a criação e destruição de grupos. Controla a inclusão e exclusão de processos em grupos. Ruim por ser centralizado.
27
Comunicação Grupal Atomicidade: Garante que:
Todos do grupo receberão a mensagem. Ninguém do grupo receberá a mensagem se por algum motivo um processo do grupo não puder receber a mensagem. Facilita a implementação de um sistema distribuído.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.