Modelos de Sistemas Distribuídos O Modelo Cliente-Servidor
|
|
- Dalila Zagalo Amado
- 6 Há anos
- Visualizações:
Transcrição
1 Modelos de Sistemas Distribuídos - O Modelo Cliente-Servidor Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 1
2 Autoria! Autor 1ª versão " Cristiano A. Costa! Local " II - UFRGS! Revisões " V10 " " C. Geyer Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 2
3 Roteiro! Roteiro " Conceitos de modelos, camada e middleware " Modelo cliente/servidor (C/S) # Conceito, características,... # Comparação entre o Modelo OSI e o Cliente-Servidor # Variações do C/S: camada banco de dados " Exemplo de Cliente e Servidor " Endereçamento " Outros modelos e questões de sw " Primitivas bloqueantes e não-bloqueantes " Bufferização " Confiabilidade " Questões de Implementação Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 3
4 ! Modelos de SDs Modelos de SDs " Ou modelos de arquitetura de SDs " Define as partes (módulos, componentes,...) # Caracteriza cada parte de forma abstrata # Posicionamento das partes # Interação entre elas " Exemplos básicos de modelos # Cliente / servidor # P2P " Variações # Uso de replicação # Uso de mobilidade de código e/ou dados # Uso de cache # Dinamicidade: inclusão e exclusão de partes Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 4
5 Modelos de SDs! Modelos de SDs " Objetivos gerais de um projeto de modelo # Garantir ou melhorar # Confiabildade # Gerenciabilidade # Adaptabilidade # Relação custo/desempenho Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 5
6 Camadas de software! Camadas de software " Conceito que define como o sw é estruturado organizado " Modelo básico de camadas # Aplicações # Middleware # Sistema operacional e suas APIs # Hardware Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 6
7 Camadas de software! Camadas de software " Middleware # Objetivos # Mascarar a heterogeneidade (do hw e do SO) # Fornecer um modelo de programação para as aplicações # Conceito # Mais simples, único # Conjunto de processos (ou objetos, ou serviços) em vários computadores, interagindo entre si # Oferecendo melhores serviços de # Comunicação # Compartilhamento de recursos Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 7
8 ! Camadas de software Camadas de software " Middleware # Exemplos # CORBA # Java RMI # WS # DCOM #.Net Remoting " Middleware x framework # Framework # Conjunto de componentes de sw para facilitar o desenvolvimento de certos tipos de aplicações # Fornece uma visão (mais) abstrata da app # Pode ser especializado ou instanciado de diferentes modos Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 8
9 Camadas de software! Middleware " Limitações # Frequentemente é difícil adicionar (melhorar) requisitos de dependabilidade somente com o mw # Isto pode exigir suporte em nível da aplicação # Exemplo clássico # Um aplicativo de transferência de arquivos (ftp) na internet não pode depender somente dos recursos do TCP # Referência # Artigo clássico [SALTZER et al. 1984] # Discute o problema acima: mw x app # Introduz o princípio fim-a-fim # Tentar resolver tudo no mw pode gerar muitos custos redundantes Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 9
10 Comparação com o Modelo OSI! O Modelo OSI não é perfeito para Sistemas Distribuídos " Overhead causado por vários protocolos " Não diz como um S.O. Distribuído deve ser estruturado " Observação # Modelo OSI: # Modelo padrão para redes de computadores # Define as camadas dos protocolos de redes # [TAN 1992]: 2o cap. de SD # Tópico de disciplinas do setor de redes Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 10
11 Comparação com o Modelo OSI! O Modelo OSI não é perfeito para Sistemas Distribuídos " Overhead causado por vários protocolos Normalmente S.O.D. usam parte das camadas " Não diz como um S.O. Distribuído deve ser estruturado Modelo Cliente-Servidor Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 11
12 Modelo Cliente/Servidor! Modelo Cliente/Servidor " Um dos modelos mais citados e usados " Prós # Simplicidade # Eficiência (em muitos casos) " Contras # Perde em escalabilidade # Perde em TF # Obs.: conforme caso " Possui 2 grandes componentes # clientes # servidor Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 12
13 Modelo Cliente/Servidor! Modelo Cliente/Servidor " Partes (componentes) # Clientes # Ciclo de vida próprio individual # Usualmente não permanente # Disparado por usuários quando necessário # Eventualmente necessitam um serviço de um servidor # Usualmente um programa sequencial # Conhece o servidor # Conhece o serviço oferecido (operações) # Frequentemente em grande número # Indeterminado, variável Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 13
14 ! Modelo Cliente/Servidor " Partes # Servidor # Ciclo de vida permanente Modelo Cliente/Servidor # Frequentemente um programa concorrente # Multithreaded # Oferece várias operações aos clientes # Uma interface pública # Nome ou código da operação # Argumentos # Resultados # Usualmente não conhece clientes # Usualmente em localização conhecida # Ou com nome conhecido Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 14
15 ! Modelo Cliente/Servidor " Interação # Cliente faz uma requisição ao servidor passando # Operação # Argumentos de entrada # Pode ser void # Por exemplo, via um send # Cliente fica esperando resposta # Por exemplo, via um receive # Pode ser void Modelo Cliente/Servidor Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 15
16 Modelo Cliente/Servidor! Modelo Cliente/Servidor " Interação (cont.) # Servidor está esperando uma requisição de algum cliente # Por exemplo, via um receive # Servidor # Verifica a operação # Trata (executa) a operação com os argumentos # Prepara uma resposta (resultado) # Servidor # Envia a resposta # Por exemplo, via um send Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 16
17 Modelo Cliente/Servidor! Modelo Cliente/Servidor " Variações # Um servidor pode ser cliente de outros servidores # Um cliente pode acessar vários servidores Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 17
18 Clientes e Servidores! Modelo Cliente/Servidor " Grupo de processos que cooperam entre si: # (Servidores) oferecem serviços para usuários (Clientes) " Protocolo normalmente utilizado: # Request/Reply # Sem Conexão # Simples Request Cliente Exemplo: UDP Servidor Kernel Reply Kernel Rede Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 18
19 Clientes e Servidores! Modelo Cliente/Servidor " Clientes e Servidores podem executar sobre o mesmo microkernel " A mensagem de resposta (nível da aplicação) pode servir como ack (do protocolo de rede) # Quando faz uso de protocolos confiáveis (TCP,...) " Por ser um protocolo simples, é também eficiente Cliente Kernel Request Reply Servidor Kernel Rede Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 19
20 Clientes e Servidores! Modelo Cliente/Servidor " A pilha de protocolos pode ser menor que a proposta em OSI " São necessários três níveis de protocolo Camada (em máquinas idênticas) Request/Reply Enlace de dados Física Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 20
21 Clientes e Servidores! Modelo Cliente/Servidor " A pilha de protocolos pode ser menor que a proposta em OSI " São necessários três níveis Camada de protocolo (em máquinas idênticas) 7 6 implementada em software implementadas em hardware Request/Reply Enlace de dados Física Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 21
22 Clientes e Servidores! Modelo Cliente/Servidor " As camadas física e de enlace de dados são responsáveis por enviar e receber pacotes entre cliente e servidor (redes) Camada " A camada 5 define um conjunto de respostas e requisições permitidas " Os serviços de comunicação são implementados através de chamadas do sistema (system calls) Request/Reply 2 1 Enlace de dados Física Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 22
23 Clientes e Servidores! Em sistemas largamente distribuídos (SLD) " Exemplos de SLD: Internet, P2P, Grade,... " As falhas de rede são (mais) freqüentes " É recomendável usar protocolos mais confiáveis # Por exemplo, com conexão # Ou usar procotolos menos confiáveis mas implementar em nível de aplicação certos controles mínimos # Essa recomendação é dependente do tipo de aplicação (ou comunicação) # Por exemplo, comunicações de informação, periódicas, podem fazer uso de protocolos não confiáveis Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 23
24 Clientes e Servidores! Sistemas C/S com acesso a bases de dados " Muitos (maioria?) dos sistemas (aplicações) atuais acessam bases de dados no lado servidor " Bases de dados: # sistemas de arquivos, SGBD, LDAPs, bancos de dados de objetos (representações, imagens, áudio, vídeos,...) Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 24
25 Clientes e Servidores! Sistemas C/S com acesso a bases de dados " Modelo C/S é estendido para modelo de sistema multi-camadas " Segundo [TAN, SD, 2002]: sistemas em 3 camadas # Cliente # Interface com usuário (user interface) # Servidor de aplicações # Camada de processamento # Servidor da base de dados # Camada de dados Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 25
26 ! Exemplo de Cliente e Servidor " Será apresentado um esboço de # um cliente e # um servidor de arquivos em C " Composto de três programas # header.h: Exemplo de Cliente e Servidor # arquivo utilizado pelo cliente e pelo servidor para compartilhar algumas definições # sample.c: # exemplo de servidor # procedure.c: # exemplo de procedimento (cliente) que utiliza o servidor para copiar um arquivo Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 26
27 Exemplo de Cliente e Servidor! Exemplo de Cliente e Servidor " Servidor: quatro operações definidas # CREATE: cria um novo arquivo # READ : lê pedaço de arquivo # WRITE: escreve pedaço de arquivo # DELETE: apaga arquivo existente " Cliente: # Copia arquivo 1 para arquivo 2 # Usando # uma lógica interna # e mais um conjunto de chamadas às operações Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 27
28 Exemplo de Cliente e Servidor! Exemplo de Cliente e Servidor " Uso de Primitivas de send/receive # bloqueantes # tamanho de mensagens constante # Send # Primeiro argumento: nome (ID) do destino # Segundo argumento: mensagem # Receive # 1º arg: ID próprio (recebedor ou destino) # 2º arg: mensagem # Mensagem # Pode ser uma estrutura # Diversos tipos de dados combinados Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 28
29 Exemplo de Cliente e Servidor! Arquivos " Header.c # Define formatos (dados,...) e constantes comuns ao programa servidor e aos programas clientes # Por exemplo: # Endereço na rede do servidor # Tamanho máximo de 1 mensagem #... Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 29
30 ! Arquivos (cont.) Exemplo de Cliente e Servidor " Sample.c # Código do servidor # Loop infinito " Procedure.c # Recebe mensagem (pedido) do cliente # Identifica tipo do pedido # Processa pedido # Responde ao cliente # Código do cliente # Loop até que leitura retorne nada # Le pedaço do arquivo 1 # Limitado pelo tamanho máximo de uma mensagem # Grava pedaço no arquivo 2 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 30
31 Exemplo de Cliente e Servidor! header.h /*Definições necessárias pelos clientes e servidores */ #define MAX_PATH 255 /*tamanho maximo de nome_arq*/ #define BUF_SIZE 1024 /*dados transferidos*/ #define FILE_SERVER 243 /* endereço do servidor*/ /*Definições de operações permitidas*/ #define CREATE 1 /*cria um novo arquivo*/ #define READ 2 /*lê pedaço de arquivo*/ #define WRITE 3 /*escreve pedaço de arquivo*/ #define DELETE 4 /*apaga arquivo existente*/ Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 31
32 Exemplo de Cliente e Servidor! header.h (continuação) /*Códigos de erro*/ #define OK 0 /*operação feita corretamente*/ #define E_BAD_OPCODE -1 /*operação inexistente*/ #define E_BAD_PARAM -2 /*erro em algum parâmentro*/ #define E_IO -3 /*erro de E/S*/ /*Definição do formato da mensagem*/ struct message { long source; /*identificador da origem*/ long dest; /*identificador do destino*/ Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 32
33 Exemplo de Cliente e Servidor! header.h (continuação) }; long opcoe; /*qual operação*/ long count; /*quantidade de bytes*/ long offset; /*onde no arq. começa a oper.*/ long extra1; /*campo extra*/ long extra2; /*campo extra*/ long result; /*resultado da operação*/ /* valor depende da op. */ char name[max_path]; /*nome do arquivo*/ char data[buf_size]; /*dados lidos ou p/ escrever*/ Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 33
34 Exemplo de Cliente e Servidor! sample.c (servidor) #include <header.h> void main(void) { struct message m1,m2; /* áreas p/mensagens */ int r; /* área p/respostas */ Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 34
35 Exemplo de Cliente e Servidor! sample.c (continuação) while (1){ } } receive(file_server,&m1); /* recebe requisição */ /* processa conforme tipo da requisição */ /* código dos procedimentos internos omitidos */ switch(m1.opcode) { } case CREATE: r = do_create(&m1,&m2); break; case READ: case WRITE: r = do_read(&m1,&m2); break; r = do_write(&m1,&m2); break; case DELETE: r = do_delete(&m1,&m2); break; default: r = E_BAD_OPCODE; m2.result = r; /* conforme operação */ send(m1.source, &m2); Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 35
36 Exemplo de Cliente e Servidor! procedure.c (cliente) #include <header.h> int copy(char *src, char *dst) { struct message m1; /* mensagem ao/de servidor */ long position; /* posição de leitura */ long client = 110; /* quem envia */ initialize(); position = 0; /* inicia leitura no 1o byte */ Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 36
37 Exemplo de Cliente e Servidor! procedure.c (continuação) do { /*Lê um bloco de dados do arquivo origem*/ m1.opcode = READ; /* prepara mensagem */ m1.offset = position; /* 1o byte: ajustado por read */ m1.count = BUf_SIZE; /* quantos bytes */ strcpy (&m1.name, src); /* nome arq. */ send(file_server, &m1); /* envia req. */ receive(client, &m1); /* recebe resp. */ Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 37
38 ! procedure.c (continuação) Exemplo de Cliente e Servidor /*grava um bloco de dados no arquivo destino*/ m1.opcode = WRITE; m1.offset = position; m1.count = m1.result; /* result = # bytes */ strcpy (&m1.name, dst); send(file_server, &m1); receive(client, &m1); position += m1.result; /* result = # bytes */ }while (m1.result > 0); /* zero: nada foi lido */ /* retorna ok ou erro */ return(m1.result >= 0? OK : m1.result); } Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 38
39 Endereçamento! Endereçamento de servidores " Obs.: revisão ou extensão de conceitos de nomeação em troca de mensagens " Um cliente para mandar uma mensagem a um servidor precisa saber o endereço # Ou nomeação " Existem várias formas de endereçamento " Principais destacados: # Endereçamento por número de máquina # Endereçamento por processo # Endereçamento por nomes ASCII obtidos de um name server Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 39
40 Endereçamento por número de máquina! Endereçamento por número de máquina " Utiliza o número da máquina para endereçamento! um processo por máquina! não é transparente " simplicidade " Viável em sistemas simples Cliente 1 Servidor 1. Request para Reply para 199 Kernel 2 Kernel Rede Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 40
41 Endereçamento por número de máquina! Pode-se utilizar uma combinação entre número da máquina e número do processo! não é transparente " simplicidade " mais de um processo por máquina " não precisa de coordenação global (não há ambigüidade entre processos) Cliente 1 Exemplo: TCP/IP Servidor 1. Request para Kernel 2 Kernel 2. Replay para Rede Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 41
42 ! Endereçamento por processo Endereçamento por processo " ID de processo: associar a cada processo um endereço único que não contém o número da máquina " Duas alternativas para escolha do número do processo: # Garantir números distintos # A1: Processo centralizado responsável pela alocação de endereços (contador incrementado a cada requisição) " Transparência! Escalabilidade # A2: Cada processo pega seu próprio endereço aleatóriamente de um grande espaço de dados " Transparência " Escalabilidade Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 42
43 ! Endereçamento por processo Endereçamento por processo " Sem nome de processo: o cliente pode fazer broadcast de um pacote especial para localização (locate packet) " o kernel que contém o processo devolve uma mensagem do tipo here I am " Transparência! Gera carga extra no sistema 1. Broadcast 2. Here I am 3. Request 4. Replay Cliente Kernel Rede Servidor Kernel Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 43
44 Endereçamento por name server! Endereçamento por name server " Utiliza uma máquina extra para mapear nomes de serviços em endereços de máquinas " Servidores são referidos como strings e estas são embutidas nos programas " Transparente! Requer um componente centralizado 1. Lookup 2. NS Reply 3. Request Server Kernel 3 4 Client Kernel 1 2 Name Server Kernel 4. Replay Rede Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 44
45 Resumo! Resumo Cliente/Servidor " Conceitos de modelos, camadas, middleware " Conceito de C/S " Prós e contras " Características do cliente " Características do servidor " Exemplo # Servidor de arquivos # Cliente: cópia de 1 arquivo Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 45
46 Resumo! Resumo Cliente/Servidor " Endereçamento # Conceito, e prós e contras de: # Por máquina (IP) # Por máquina e processo (porta) # Por nome de processo único global # Nome dado por servidor # Nome escolhido em espaço largo # Com servidor de nomes # Por broadcast de consulta a tipo de serviço Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 46
47 Primitivas x sincronização Tratamento mais aprofundado de questões vistas em Troca de Mensagens Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 47
48 Súmula Primitivas! Súmula Primitivas " Bloqueantes (síncronas) " Assincronas # Bloqueantes # Não bloqueantes " Cópia de dados " Buffer " Acks Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 48
49 Primitivas x sincronização! Primitivas Bloqueantes (síncronas) " no send, enquanto a mensagem está sendo enviada, o processo fica bloqueado " o receive fica bloqueado até que alguma mensagem chegue ou até um timeout Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 49
50 Primitivas x sincronização! Primitivas Não-Bloqueantes (assíncronas) " o send retorna o controle imediatamente, antes da mensagem ser realmente enviada " o receive passa para o kernel o ponteiro para o buffer e retorna imediatamente, antes de receber a mensagem " em algumas abordagens o receive não-bloqueante é aquele que só recebe quando já existem mensagens e fica bloqueado até completar a recepção, se não retorna Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 50
51 Primitivas bloqueantes! Primitivas bloqueantes " O processo fica bloqueado durante a transferência de mensagem " Melhor opção para envio de mensagens em condições normais " Simples de entender " Simples de implementar " Performance para envio de mensagem! CPU fica ociosa durante a transmissão Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 51
52 Primitivas não-bloqueantes! Primitivas não-bloqueantes com cópia " o kernel copia a mensagem para um buffer interno e então libera o processo para continuar! Performance " Sobrepor processamento e transmissão de mensagens! Primitivas não-bloqueantes com interrupção " interrompe o processo que enviou a mensagem quando o buffer estiver livre para reutilização! Programação Difícil " Performance Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 52
53 ! Tanenbaum Primitivas síncronas e assíncronas " A diferença essencial entre uma primitiva síncrona e uma assíncrona é se o processo que envia a mensagem pode reutilizar o buffer imediatamente após o comando send " preferida por projetistas de sistemas operacionais! Andrews " Uma primitiva síncrona é aquela em que o processo que envia fica bloqueado até que o receptor aceite a mensagem e mande um ack. Qualquer outra alternativa é considerada assíncrona " preferida por projetistas de linguagens de programação Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 53
54 Bufferização! Primitivas não-bufferizadas " O buffer para armazenar a mensagem deve ser especificado pelo programador " Existem duas estratégias a serem empregadas no caso de um send do cliente, sem um receive do servidor: # discartar mensagens inesperadas # temporariamente manter mensagens inesperadas! Primitivas bufferizadas " Existe um buffer para armazenar mensagens inesperadas " A primitiva de bufferização mais empregada define estruturas de dados chamadas mailbox Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 54
55 ! Primitivas não-bufferizadas discartando mensagens Bufferização " Implementação! O cliente pode ficar tentando enviar mensagens! Podem ocorrer casos em que o cliente desista de enviar a mensagem Cliente Kernel Endereço Servidor A refere-se a processo Kernel Rede Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 55
56 Bufferização! Primitivas não-bufferizadas temporariamente mantendo mensagens " reduz a chance da mensagem ser descartada! introduz problema de gerenciamento e armazenamento de mensagens inesperadas Cliente A Servidor Kernel Kernel Rede Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 56
57 ! Primitivas bufferizadas: Mailboxes Bufferização " Um processo que está interessado em receber mensagens avisa o kernel para criar uma mailbox informando o endereço de origem das mensagens " Todas as mensagens são colocadas na mailbox e uma chamada a receive simplesmente remove mensagens dela " reduz ainda mais a chance de mensagens serem descartadas! mailboxes são finitas e podem necessitar de estratégias análogas as adotadas anteriormente Cliente Kernel Endereço refere-se a mailbox Rede A Servidor Kernel Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 57
58 Confiabilidade! Três diferentes alternativas podem ser utilizadas para questões de confiabilidade: " assumir que as primitivas não são confiáveis, alterando a semântica do send # o sistema não garante que as mensagens são enviadas # o usuário fica responsável por implementar comunicação confiável " primitivas confiáveis com mecanismos de acknowledgment do tipo: Request - Ack - Reply - Ack " primitivas confiáveis com mecanismos de acknowledgment do tipo: Request - Reply - Ack! combinações podem ser obtidas entre os mecanismos confiáveis Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 58
59 Confiabilidade! Request - Ack - Reply - Ack " somente quando o Ack é recebido, o processo é liberado " o acknowledgement é feito entre kernels (transparente para o cliente ou servidor) " um request/reply com este mecanismo necessita de quatro mensagens 1. Request 2. Ack 3. Reply 4. Ack Cliente Kernel Servidor Kernel Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 59
60 Confiabilidade! Request - Reply - Ack " O Reply serve como um ack " o cliente fica bloqueado até a mensagen de reply " se a mensagem de reply demorar, o cliente reenvia a requisição " em alguns kernels não é necessário o ack Cliente Kernel Servidor Kernel 1. Request 2. Reply 3. Ack Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 60
61 Questões de Implementação! Alternativas de projeto: Endereçamento Bloqueante Bufferização por número de máquina primitivas bloqueantes não-bufferizado, discartando mensagens por processo primitivas nãobloqueantes com cópia não-bufferizado, temporariamente mantendo mensagens por nomes ASCII obtidos de um name server primitivas nãobloqueantes por interrupção mailboxes Confiabilidade não-confiáveis Request-Ack-Reply-Ack Request-Reply-Ack! Total de 81 combinações Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 61
62 Questões de Implementação! As redes têm um tamanho máximo de pacote, mensagens maiores devem ser quebradas! O acknowledgment pode ser utilizado por pacote ou por mensagem, dependendo da taxa de erros da rede Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 62
63 Questões de Implementação! Pacotes normalmente empregados no protocolo de comunicação: REQ Request Cliente Servidor O cliente quer serviço REP Reply Servidor Cliente Resposta do servidor para cliente ACK Ack Cli./Ser. Outro O pacote anterior chegou AYA Are you alive? Cliente Servidor Verifica se o servidor está Ok IAA I am alive Servidor Cliente O servidor está Ok TA Try Again Servidor Cliente O servidor não tem espaço AU Addr. Unknown Servidor Cliente Nenhum processo usa o endereço Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 63
64 Questões de Implementação! Alguns exemplos de comunicação: REQ > REQ > < ACK Cliente Servidor Cliente < REP Servidor < REP ACK > (a) (b) REQ > Cliente REQ > < ACK < REP AYA > Servidor Cliente ACK > < IAA < REP Servidor ACK > (c) (d) Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 64
65 Conclusões! O Modelo cliente-servidor utiliza um protocolo simples e de fácil implementação! Por ser simples e sem conexão, o protocolo é também eficiente! Várias alternativas de projeto para primitivas de comunicação podem ser utilizadas! Todas as comunicações no modelo são construídas através de primitivas de E/S Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 65
66 Revisão! Revisão " defina modelo C/S " quais são as vantagens? " variações atuais do modelo C/S? " formas de localização do servidor pelo cliente? # conceito? # vantagens e desvantagens? Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 66
67 The End! Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 67
Curso Sistemas Operacionais Distribuídos
Autor 1ª versão Cristiano A. Costa Local II - UFRGS Revisões V6 2008-2 C. Geyer Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 1 Curso de Sistemas Operacionais Distribuídos O Modelo
Leia maisModelos de Sistemas Distribuídos O Modelo Cliente-Servidor
Modelos de Sistemas Distribuídos - O Modelo Cliente-Servidor Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 1 Autoria Autor 1ª versão Cristiano A. Costa Local II - UFRGS Revisões
Leia maisExemplo Cliente-Servidor. Cliente. Servidor 1/ Requisição / Resposta Enlace 2 Físico 1. Kernel. Kernel
1/6 Modelo Cliente-Servidor overhead do modelo OSI (TCP/IP), usar protocolo mais simples solicitação/resposta vantagens: simplicidade não é orientado a conecção pilha de protocolos menor que do OSI Cliente
Leia maisComunicação em Sistemas Distribuídos
Comunicação em Sistemas Distribuídos A diferença mais importante entre os Sistemas Distribuídos e os Sistemas Uniprocessadores é a comunicação inter-processo. Nos uniprocessadores esta comunicação é feita
Leia maisMode los de Siste m as Distribu ídos
Mode los de Siste m as Distribu ídos - O Mode lo Clie n te -Se rvidor Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 1 Autoria Au tor 1ª ve rsão Local Cristiano A. Costa II - Re
Leia maisComunicação em Sistemas Distribuídos
Comunicação em Sistemas Distribuídos Modelo Cliente-Servidor Caracterização Endereçamento Primitivas Confiabilidade INE5418 Computação Distribuída 1 Modelo Cliente/Servidor A construção básica em comunicação
Leia maisSistemas Distribuídos
Sistemas Distribuídos Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Introdução Comunicação em Sistemas Distribuídos Introdução: Comunicação em Sistemas Distribuídos
Leia maisSistemas Distribuídos Modelo Cliente-Servidor
Sistemas Distribuídos Modelo Cliente-Servidor Disciplina: Sistemas Distribuídos Prof.: Edmar Roberto Santana de Rezende Faculdade de Engenharia de Computação Centro de Ciências Exatas, Ambientais e de
Leia maisComunicação. Carlos A. G. Ferraz 25/6/2003. Sistemas Distribuídos 1. Tópicos. Camadas. Transmissão de dados. Marshalling/Unmarshalling.
Tópicos Comunicação Carlos Ferraz cagf@cin.ufpe.br Elementos básicos de comunicação Transmissão de dados Endereçamento Sincronismo Enfileiramento (Bufferização) Confiabilidade Portas e sockets UDP RPC:
Leia maisDados em programas são estruturados, enquanto que mensagens carregam informação seqüencial: Linearização x Restauração de dados Requisição
6LVWHPDV'LVWULEXtGV 0GHO&OLHQWH6HUYLGU &PXQLFDom 6XPiUL Introdução Elementos Básicos de Comunicação Comunicação Cliente-Servidor Comunicação em Grupo Chamada emota de Procedimento (PC) Prof a. Cristina
Leia maisCOMUNICAÇÃO ENTRE PROCESSOS
Comunicação entre processos Memória Compartilhada: os processo compartilham variáveis e trocam informações através do uso dessas variáveis compartilhadas COMUNICAÇÃO ENTRE PROCESSOS P1 Sem Memória Compartilhada:
Leia maisComunicação entre processos COMUNICAÇÃO ENTRE PROCESSOS. Comunicação entre processos - troca de mensagens
Comunicação entre processos Memória Compartilhada: os processo compartilham variáveis e trocam informações através do uso dessas variáveis compartilhadas COMUNICAÇÃO ENTRE PROCESSOS P1 Sem Memória Compartilhada:
Leia maisSistemas Operacionais Distribuídos e de Redes
Contextualização Sistemas Operacionais Distribuídos e de Redes Comunicação Interprocessos Aula 04 Aula 04 Aplicação, serviços RMI e RPC Protocolo - (requisição-resposta) marshalling e representaçao externa
Leia maisSistemas Distribuídos Aula 2
Sistemas Distribuídos Aula 2 Aula passada Logísitica Regras do jogo Definição e características Exemplos Aula de hoje Processos IPC Características Ex. sinais, pipes, sockets Objetivos Processos O que
Leia maisInfra-Estrutura de Software
Infra-Estrutura de Software Entrada / Saída 2º. EE: 21/06 Próximas Datas http://www.cin.ufpe.br/~cagf/if677/2016-1/ slides/ Revisão de notas: 28/06 FINAL: 30/06 Diversidade de dispositivos Hardware de
Leia maisVamos fazer um pequeno experimento
1 Vamos fazer um pequeno experimento Dividam-se em dois grupos: Mestre Escravo Projeto de Sistemas Distribuídos Comunicação entre Processos Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com
Leia maisCaracterização de Sistemas Distribuídos
Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes
Leia maisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema
Leia maisArquitetura de sistemas distribuídos
Arquitetura de sistemas distribuídos 3. Comunicação nos Sistemas Distribuídos 3.1.Introdução aos modelos de comunicação 3.2 Modelo Cliente-Servidor 3.3.Comunicação através de Sockets 3.3 Chamada a procedimento
Leia maisComunicação entre Processos
Comunicação entre Processos Prof. Dr. André Carvalho andre@icomp.ufam.edu.br Agenda n Comunicação entre Processos n Características dos mecanismos de comunicação Comunicação direta ou indireta, sincronismos,
Leia maisProgramando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior
Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP Prof. Me. Sérgio Carlos Portari Júnior Conteúdo Programático Contextualizando: Aula anterior Camada Middleware Programar para SD
Leia maisCaracterísticas de Sistemas Distribuídos
Tópicos O conceito de Características de Carlos Ferraz cagf@cin.ufpe.br Infra-estrutura básica Exemplos Vantagens e desvantagens Convergência digital Características 2002-2003 Carlos A. G. Ferraz 2 O Conceito
Leia maisCaracterísticas de Sistemas Distribuídos
Características de Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br 2002-2003 Carlos A. G. Ferraz 2 Tópicos O conceito de Sistemas Distribuídos Infra-estrutura básica Exemplos Vantagens e desvantagens
Leia maisSistemas Distribuídos Aula 10
Sistemas Distribuídos Aula 10 Aula passada Arquitetura P2P Bittorrent Distributed Hash Table (DHT) Aula de hoje Modelo computação distribuída RPC Marshalling e stubs Semântica operacional RMI Computação
Leia maisProtocolo Request-Reply
n n n n Protocolo Request-Reply Modelo de Objeto Remoto Semânticas de Invocação Remota Arquitetura de Invocação Remota Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Características de
Leia maisUFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos
UFRJ IM - DCC Sistemas Operacionais I Unidade IV Gerência de Recursos Entrada e Saída 02/12/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Gerência de Entrada e Saída Fundamentos Evolução Estrutura
Leia maisSistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos
Sistemas de arquivos distribuídos ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos - Daniel Nogueira 20938 - Felipe Castro Simões 21525 Sumário 1. Introdução 2. Sistemas de
Leia maisSockets - Conceitos Básicos. COMUNICAÇÃO ENTRE PROCESSOS Sockets. Conceitos Básicos. Tipos de Sockets
Sockets - Conceitos Básicos COMUNICAÇÃO ENTRE PROCESSOS Sockets! Sockets são uma forma de IPC (InterProcess Communication ) fornecida pela 4.3 BSD que fornecem comunicação entre processos residentes em
Leia maisArquitetura de Computadores Sistemas Operacionais II
Definição de Processo Arquitetura de Computadores Sistemas Operacionais II Processo é o mesmo de Programa? Programa Estrutura estática Instruções + Dados Processo Entidade Ativa Instância de um Programa
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.
Leia maisSistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34
Sistemas de Arquivos Distribuídos Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Introdução Serviço de arquivos descreve os serviços oferecidos pelo sistema de arquivos aos clientes Servidor de arquivos processo
Leia maisProtótipo tipo de um sistema de arquivos para ambiente distribuído
Universidade Regional de Blumenau Bacharelado em Ciências da Computação Protótipo tipo de um sistema de arquivos para ambiente distribuído do Acadêmica: Catia Silene Possamai Orientador: Antonio Carlos
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Introdução aos Sistemas Distribuídos 1 Sumário Evolução Problema/Contexto O que é um Sistema Distribuído? Vantagens e Desvantagens
Leia maisEntrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -
Capítulo 5 Afirmações Entrada/Saída Introdução Processos se comunicam com o mundo externo através de dispositivos de E/S. Processos não querem ou não precisam entender como funciona o hardware. Função
Leia maisFUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão
Unidade 5 Camada de Transporte e Aplicação Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 5.1 Protocolo UDP 5.2 Protocolo TCP 5.3 Principias Protocolos de Aplicação 5.3.1 SMTP
Leia maisProjecto hipotético para resolvermos hoje
Projecto hipotético para resolvermos hoje 12/13 Sistemas Distribuídos 1 Projecto hipotético para resolvermos hoje Implementar servidor de contagem que mantém contador e oferece estas operações aos clientes:
Leia maisREDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar
- Aula 7 - MODELO DE REFERÊNCIA TCP O modelo de referência TCP, foi muito usado pela rede ARPANET, e atualmente usado pela sua sucessora, a Internet Mundial. A ARPANET é de grande utilidade para entender
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Orientação a Objetos Encapsulamento: Parte interna (privada) dos objetos Implementação: métodos Estado: atributos, variáveis,
Leia maisSistemas de Entrada e Saída
Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 31 Sumário 1 Interrupções 2 Camadas de Software de E/S 2 / 31 Interrupções
Leia maisTroca de Mensagens _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM / UFOP
Troca de Mensagens _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM / UFOP Num sistema distribuído não há memória compartilhada. Portanto, toda a comunicação entre processos deve ser realizada
Leia maisSistemas Operacionais. Sistema de entrada e Saída
Sistemas Operacionais Sistema de entrada e Saída Sistema de Entrada e Saída I/O É uma das principais tarefas de um sistema computacional Como máquina abstrata o S.O. deve oferecer uma visão padronizada
Leia maisSistemas de Troca de Mensagens
Universidade Federal do Rio de Janeiro Programa de Pós-Graduação em Informática DCC/IM - NCE/UFRJ Arquitetura de Sistemas Paralelos Sistemas de Troca de Mensagens Sistemas de Comunicação O Sistema de Comunicação
Leia maisConceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1
Conceito Básicos de Programação com Objetos Distribuídos Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1 Autoria Autor C. Geyer Local Instituto de Informática UFRGS disciplina : Programação
Leia maisArquitetura em Camadas. Profª. Dianne Scherly Varela de Medeiros
Arquitetura em Camadas Profª. Dianne Scherly Varela de Medeiros 2018.1 Modelo em Camadas Conjunto de protocolos e camadas Reduz a complexidade do projeto de uma rede de comunicação Cada camada provê um
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com
Leia maisSistemas de Entrada e Saída
Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 33 Sumário 1 Dispositivos de E/S 2 Interrupções 3 Software de E/S 2
Leia maisRedes de Computadores e Aplicações
Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Redes de Computadores e Aplicações Aula 13 - Camada de Aplicação Visão Geral Prof. Diego Pereira
Leia maisProcessos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend
Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos
Leia maisProf. Marcelo Cunha Parte 6
Prof. Marcelo Cunha Parte 6 www.marcelomachado.com ARP (Address Resolution Protocol) Protocolo responsável por fazer a conversão entre os endereços IPs e os endereços MAC da rede; Exemplo: Em uma rede
Leia maisO que é um sistema distribuído?
Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores
Leia maisDireto ou Indireto Monolítico ou Estruturado Simétrico ou Assimétrico Padronizado ou Não-Padronizado
PROTOCOLOS Características dos Protocolos Funcionalidade dos Protocolos Protocolos OSI Protocolos TCP/IP Características dos Protocolos As principais caraterísticas de um protocolo são: Direto ou Indireto
Leia maisPCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca
PCS-2529 Introdução aos Processadores Prof. Dr. Paulo Sérgio Cugnasca 1 2 Existem 4 esquemas diferentes de E/S possíveis, cada um se aplicando em uma determinada situação. E/S Programada. E/S Acionada
Leia maisAula 5 Camada de rede (TCP/IP):
Aula 5 Camada de rede (TCP/IP): Protocolos da Camada de Rede; Endereços IP (Versão 4); ARP (Address Resolution Protocol); ARP Cache; RARP (Reverse Address Resolution Protocol); ICMP. Protocolos da Camada
Leia maisÍNDICE. Redes de Computadores - 1º Período de Cap 12 - Fls. 1
ÍNDICE 12. Sistemas Operacionais de Redes 2 12.1. Conceito 2 12.2. Redirecionador 3 12.3. Arquiteturas 3 12.4. Par a Par 4 12.5. Cliente-Servidor 4 12.6. Os Sistemas Operacionais de Redes e as Arquiteturas
Leia maisINTRODUÇÃO. RPC x RMI
1 INTRODUÇÃO RPC x RMI 2 INTRODUÇÃO RPC Remote procedure call Este termo é utilizado para aplicativos clientes que fazem normalmente chamadas a procedimentos remotos que estão em outro processo e hosts.
Leia maisInformática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1
Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1 Autor Autor Local Cláudio Geyer Instituto de Informática disciplinas: POD e PDP Versão v4 2010-1 Programação com Objetos Distribuídos
Leia maisUser Datagram Protocol
User Datagram Protocol UDP: Protocolo utiliza para distinguir para qual usuário ou aplicativo deve ser encaminhado um datagrama destinado a uma máquina que esteja executando mais de um processo. Problemas:
Leia maisRedes P2P Gnutella e Simuladores
Redes P2P Gnutella e Simuladores Definições de P2P P2P é o compartilhamento de recursos e serviços pela troca direta entre sistemas. WG P2P Intel, 2001 P2P é uma classe de aplicações que tira proveito
Leia maisCapítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006
Capítulo 13: Sistemas de E/S Capítulo 13: Sistemas de E/S Hardware de E/S Interface de E/S da aplicação Subsistema de E/S do kernel Transformando requisições de E/S em operações de hardware Fluxos Desempenho
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 23 de fevereiro de 2011 Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento de programas Usuário ia ao computador
Leia maisRedes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período
Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 6. THREAD: 6.1 Introdução; 6.2 Ambiente Monothread; 6.3 Ambiente Multithread; 6.4 Arquitetura
Leia maisSistemas Distribuídos e Redes de Sensores. abril de 2013
Aula 4: Comunicação: Coordenação e Sincronização abril de 2013 Comunicação entre Processos Distribuídos troca de mensagens exige coordenação receive?!?...... send............ Coordenação passos para execução
Leia maisSistemas Distribuídos
Caracterização de Faculdades SENAC Análise e Desenvolvimento de Sistemas 24 de fevereiro de 2010 Caracterização de Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento
Leia maisRedes de Computadores
Redes de Computadores Camada de Transporte Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br Departamento de Ciência da Computação Universidade Federal de Minas Gerais UFMG/DCC Redes de Computadores
Leia maisSistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !
Sistemas Distribuídos Aspectos de Projeto de SD Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com Aspectos de Projeto em SD! Transparência;! Abertura;! ;! Heterogeneidade;! Segurança;! Tratamento
Leia maisSistemas Distribuídos. Ricardo Ribeiro dos Santos
Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Julho/2003 Tópicos Características de um SD Modelos arquiteturais para implementação de SD Características
Leia maisRedes de Computadores e Aplicações Camada de aplicação IGOR ALVES
Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES Camada de aplicação Um protocolo da camada de aplicação define como processos de uma aplicação, que funcionam em sistemas finais diferentes,
Leia maisGerência de Entrada e Saída
Gerência de Entrada e Saída Dispositivos de Entrada e Saída (1) Constituídos de 2 partes: Mecânica Eletrônica Controladora ou Adaptadora Controladora Placa ligada a um slot livre, ou inserida diretamente
Leia maisINTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 10. Operações nos processos. Processos cooperativos, comunicação entre processos.
INTRODUÇÃO AOS SISTEMAS OPERACIONAIS outubro/2013 SEMANA 10 Operações nos processos. Processos cooperativos, comunicação entre processos. 1 - Introdução Um processo, ao longo da sua vida, passa por diferentes
Leia maisLista de exercícios - 1º bimestre 2016 REDES
Lista de exercícios - 1º bimestre 2016 REDES Jean Nicandros Stragalinos Neto. Prontuário: 1616251. Curso: ADS 2º Módulo. 1) Desenhe duas redes com 7 e 8 computadores e defina a configuração IP de cada
Leia maisSistemas Distribuídos Comunicação. Edeyson Andrade Gomes www.edeyson.com.br
Sistemas Distribuídos Comunicação Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Roteiro da Aula Comunicação entre Processos Protocolos Modelo OSI Modelo Cliente Servidor 3 Comunicação entre
Leia maisCamada de Transporte Protocolos TCP e UDP
Arquitetura de Redes de Computadores e Tecnologia de Implementação de Redes 2016.1 Camada de Transporte Protocolos TCP e UDP Curso Técnico Integrado em Informática Turma: INT.INF.3M Arquitetura de Redes
Leia maisConceitos de Sistemas Distribuídos
Conceitos de Sistemas Distribuídos Roteiro Definição de Sistemas Distribuídos (SD) Evolução Histórica Exemplos (SD) Modelos (Vantagens x Desvantagens) 2 O que é um Sistema Distribuído? Definição Coleção
Leia maisRede de computadores Cliente- servidor. Professor Carlos Muniz
Rede de computadores Professor Carlos Muniz Definição Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores.
Leia maisComunicação. Parte II
Comunicação Parte II Carlos Ferraz 2002 Tópicos Comunicação Cliente-Servidor RPC Comunicação de objetos distribuídos Comunicação em Grupo Transações Atômicas Comunicação Stream 2 Comunicação cliente-servidor
Leia maisSistemas Operacionais Aula 3
Sistemas Operacionais Aula 3 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer
Leia maisComunicação entre processos. Sistema centralizado
Sistemas Distribuídos Comunicação entre processos Sistema centralizado Comunicação entre processos Arquivo Memória compartilhada Sinal Fila de mensagem SO gerencia comunicação 2 Sistema distribuído Idéia
Leia maisCurso de Sistemas Distribuídos
Curso de Sistemas Distribuídos Sistemas de Arquivos Distribuídos: DFS Estudo de Caso: NFS Sistemas Distribuidos Sistema de Arquivos Distribuídos - NFS 1 Autoria Autoria 1a versão C. Geyer Obs.: uso de
Leia maisSistemas Operacionais. Entrada/Saída
Sistemas Operacionais Entrada/Saída Atualizado em 28/02/2014 Como ocorre a comunicação de E/S Aplicação Operações de E/S Chamadas de Sistema S.O. Subsistema de E/S Núcleo (Kernel) Drivers HARDWARE Controladoras
Leia maisSistemas Operacionais II
Introdução Instituto de Informátic ca - UFRGS Sistemas Operacionais II Comunicação e sincronização por troca de mensagens Aula 0 Em ambientes de memória distribuída a comunicação e a sincronização entre
Leia maisComunicação entre Processos
Comunicação entre Processos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Introdução Comunicação entre Processos: Soquetes Comunicação por datagrama UDP Comunicação
Leia maisInfra-Estrutura de Software
Infra-Estrutura de Software Entrada / Saída Diversidade de dispositivos Hardware de E/S Características de dispositivos Caracter: transferem bytes um a um. Ex.terminal Bloco: transferem bytes em bloco.
Leia maisInfra-Estrutura de Software. Entrada / Saída
Infra-Estrutura de Software Entrada / Saída Diversidade de dispositivos Hardware de E/S E/S: Como a CPU acessa a informação? ü Espaço de endereçamento: conjunto de endereços de memória que o processador
Leia maisRedes de Computadores
Redes de Computadores Camada de Transporte Parte I Prof. Thiago Dutra Agenda n Parte I n Introdução n Protocolos de Transporte Internet n Multiplexação e n UDP n Parte II n TCP
Leia maisSistemas Operacionais II
Modelo orientado a objetos: uma pequena revisão Instituto de Informátic ca - UFRGS Sistemas Operacionais II Modelos para programação distribuída (Remote Method Invocation) Aula 14 Programa é visto como
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 6ª Aula Entrada e Saída Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Estrutura da máquina de von Neumann Dispositivos Periféricos Interface com o mundo exterior
Leia maisRedes de Computadores
Redes de Computadores Prof. Marcelo Gonçalves Rubinstein Programa de Pós-Graduação em Engenharia Eletrônica Faculdade de Engenharia Universidade do Estado do Rio de Janeiro Ementa Introdução a Redes de
Leia maisAULA ANTERIOR: MODELOS FUNDAMENTAIS
AULA ANTERIOR: MODELOS FUNDAMENTAIS Modelos fundamentais de um sistema distribuído Permitem estabelecer quais as premissas existentes a respeito de aspetos chave. Permitem avaliar de forma objetiva as
Leia maisSistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos
Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação
Leia maisDesenvolvimento de Aplicações Distribuídas
Desafios e Características Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características
Leia maisSistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal
Sistemas Operacionais Aula 15: Sistemas de I/O Ezequiel R. Zorzal ezorzal@unifesp.br www.realidadeaumentada.com.br Objetivos Explorar a estrutura do subsistema de E/S de um sistema operacional Discutir
Leia maisDesenvolvimento de Aplicações Distribuídas
Nomeação Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura Comunicação
Leia maisRedes de Computadores
s de Computadores Prof. Macêdo Firmino Modelo TCP/IP e OSI Macêdo Firmino (IFRN) s de Computadores Setembro de 2011 1 / 19 Modelo de Camadas Para que ocorra a transmissão de uma informação entre o transmissor
Leia maisSistemas Distribuídos
Comunicação e Coordenação Clientes e Servidores março de 2015 Comunicação entre Processos Distribuídos troca de mensagens exige coordenação receive?!?...... send............ Coordenação passos para execução
Leia maisSistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Processos Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Processo Conceito: Um programa em execução 1. Ao digitar hello, os caracteres
Leia maisAPLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar
- Aula 3-1. REVISÃO SOBRE CONCEITOS FUNDAMENTAIS DE SISTEMAS DISTRIBUÍDOS Na segunda parte abordamos o tema tolerância a falhas, assunto este muito relacionado a redes de computadores, mas que nos mostra
Leia maisData and Computer Network Endereçamento IP
Endereçamento IP P P P Prof. Doutor Félix Singo Camadas do TCP/IP Data and Computer Network Aplicação: Camada mais alta Protocolos de Aplicações clientes e servidores HTTP, FTP, SMTP, POP Transporte: Estabelece
Leia maisSistemas Distribuídos
Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.
Leia maisSistemas Operacionais
Introdução Sistemas Operacionais Multithreading (multiprogramação leve) Aula 04 Forma diferente de enxergar a abstração de processo = Conjunto de recursos relacionados endereçamento, arquivos, filhos,
Leia maisTrabalho do Curso de Redes de Computadores COS765/MAB /1
Trabalho do Curso de Redes de Computadores COS765/MAB731 2015/1 Universidade Federal do Rio de Janeiro Rosa M.M. Leão e Daniel Sadoc Menasché Primeiro Período de 2015 1 Introdução O objetivo deste trabalho
Leia mais