Modelos de Sistemas Distribuídos O Modelo Cliente-Servidor
|
|
- Vagner Eger di Castro
- 8 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 V 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 3
4 Roteiro Roteiro 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 4
5 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 5
6 Modelos de SDs Modelos de SDs 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 6
7 Modelos de SDs Modelos de SDs Objetivos gerais de um projeto de modelo Garantir ou melhorar Confiabildade Gerenciabilidade Adaptabilidade Relação custo/desempenho Ou enfim Atender algumas das questões de projeto Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 7
8 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 8
9 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 Mais simples, único Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 9
10 Camadas de software Camadas de software Middleware Conceito 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 10
11 Camadas de software Camadas de software Middleware Exemplos CORBA Java RMI WS DCOM.Net Remoting Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 11
12 Camadas de software Camadas de software 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 12
13 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 13
14 Camadas de software Middleware Limitações 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 14
15 Comparação com o Modelo OSI O Modelo OSI Modelo padrão para Redes 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 15
16 Comparação com o Modelo OSI O Modelo OSI 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 16
17 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 17
18 Modelo Cliente/Servidor Modelo Cliente/Servidor Um dos modelos mais citados e usados Prós Contras Simplicidade Eficiência (em muitos casos) Perde em escalabilidade Perde em TF Obs.: conforme caso Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 18
19 Modelo Cliente/Servidor Modelo Cliente/Servidor Possui 2 grandes componentes clientes servidor Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 19
20 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 20
21 Modelo Cliente/Servidor Modelo Cliente/Servidor Partes (componentes) Clientes 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 21
22 Modelo Cliente/Servidor Modelo Cliente/Servidor Partes Servidor Ciclo de vida permanente 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 22
23 Modelo Cliente/Servidor Modelo Cliente/Servidor Partes Servidor Usualmente não conhece clientes Usualmente em localização conhecida Ou com nome conhecido Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 23
24 Modelo Cliente/Servidor 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 24
25 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) Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 25
26 Modelo Cliente/Servidor Modelo Cliente/Servidor Interação (cont.) Servidor Envia a resposta Por exemplo, via um send Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 26
27 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 27
28 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 Exemplo: UDP Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 28
29 Clientes e Servidores Modelo Cliente/Servidor Grupo de processos... Cliente Kernel Request Reply Servidor Kernel Rede Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 29
30 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 30
31 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 (em máquinas idênticas) Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 31
32 Modelo Cliente/Servidor A pilha de protocolos Clientes e Servidores Camada Request/Reply Enlace de dados Física Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 32
33 Clientes e Servidores Modelo Cliente/Servidor A pilha de implementada em software implementadas em hardware Camada Request/Reply Enlace de dados Física Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 33
34 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) 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) Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 34
35 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 35
36 Clientes e Servidores Em sistemas largamente distribuídos (SLD) É 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 36
37 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 37
38 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 38
39 Exemplo de Cliente e Servidor Exemplo de Cliente e Servidor Será apresentado um esboço de um cliente e um servidor de arquivos em C Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 39
40 Exemplo de Cliente e Servidor Exemplo de Cliente e Servidor Composto de três programas header.h: 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 40
41 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 Cliente: WRITE: escreve pedaço de arquivo DELETE: apaga arquivo existente 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 41
42 Exemplo de Cliente e Servidor Exemplo de Cliente e Servidor Uso de Primitivas de send/receive bloqueantes tamanho de mensagens constante Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 42
43 Exemplo de Cliente e Servidor Exemplo de Cliente e Servidor Uso de Primitivas de send/receive 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 43
44 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 44
45 Arquivos (cont.) Exemplo de Cliente e Servidor Sample.c Código do servidor Loop infinito Recebe mensagem (pedido) do cliente Identifica tipo do pedido Processa pedido Responde ao cliente Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 45
46 Arquivos (cont.) Exemplo de Cliente e Servidor Procedure.c 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 46
47 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 47
48 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 48
49 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 49
50 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 50
51 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); Exemplo de Cliente e Servidor Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 51
52 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 52
53 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 53
54 } 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 54
55 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 55
56 Endereçamento Endereçamento de servidores 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 56
57 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 57
58 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 Exemplo: TCP/IP 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) 1. Request para Replay para Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 58
59 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 59
60 Endereçamento por processo Endereçamento por processo 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 60
61 Endereçamento por processo Endereçamento por processo Duas alternativas para escolha do número do processo: 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 61
62 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 62
63 Endereçamento por processo Endereçamento por processo o kernel que contém o processo devolve uma mensagem do tipo here I am Transparência Gera carga extra no sistema 3 1. Broadcast 2. Here I am 3. Request 4. Replay Cliente Kernel Servidor Kernel Rede Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 63
64 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 64
65 Endereçamento por name server Endereçamento por name server 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 65
66 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 66
67 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 67
68 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 68
69 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 69
70 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 70
71 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 71
72 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 72
73 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 73 Performance
74 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 74 preferida por projetistas de
75 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 75 A primitiva de bufferização mais empregada
76 Bufferização Primitivas não-bufferizadas discartando mensagens 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 76
77 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 77
78 Bufferização Primitivas bufferizadas: Mailboxes 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 Servidor Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 78 Rede A Kernel
79 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 Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 79
80 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 80
81 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 1 é necessário o ack Cliente 2 Servidor Kernel 3 Kernel 1. Request 2. Reply 3. Ack Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 81
82 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 82
83 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 83
84 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. Servidor Cliente Nenhum processo usa o endereço Unknown Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 84
85 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 85
86 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 86
87 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 87
88 The End! Curso de Sistemas Operacionais Distribuídos O Modelo Cliente Servidor 88
89
Sistemas 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 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 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 maisCurso 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 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
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Comunicação em Sistemas Distribuídos Sumário Modelo Cliente e Servidor Troca de Mensagens Remote Procedure Call Comunicação
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Modelo cliente e servidor Slide 2 Nielsen C. Damasceno Modelos Cliente - Servidor A principal diferença entre um sistema centralizado e um sistema distribuído está na comunicação
Leia maisUNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos
Leia maisComunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor
Comunicação em Sistemas Distribuídos Paradigma / Os processos em um SD estão lógica e fisicamente separados. Precisam se comunicar para que possam interagir O desempenho de um SD depende criticamente do
Leia maisSistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental
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 maisTópicos em Sistemas Distribuídos. Modelos de Comunicação
Tópicos em Sistemas Distribuídos Modelos de Comunicação Comunicação em SD Comunicação entre processos Sockets UDP/TCP Comunicação em grupo Broadcast Multicast Comunicação entre processos Conceitos básicos
Leia maisSistemas Distribuídos 59. Sistemas Distribuídos 61. "Receive não-bloqueante:
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 Área Compartilhda!
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 maisParadigma Cliente/Servidor
Paradigma Cliente/Servidor Mário Meireles Teixeira UFMA Departamento de Informática Dezembro, 2012 Comunicação em Sistemas Distribuídos! Os processos em um SD estão lógica e fisicamente separados. Precisam
Leia maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
Leia maisSistemas Distribuídos Capítulos 3 e 4 - Aula 4
Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos
Leia maisComunicação em Sistemas Distribuídos. Bruno M. Carvalho Sala: 3B2 Horário: 35T34
Comunicação em Sistemas Distribuídos Bruno M. Carvalho Sala: 3B2 Horário: 35T34 Comunicação em Sistemas Distribuídos Protocolos regras que os processos que estão se comunicando tem de seguir Protocolos
Leia mais3. Comunicação em Sistemas Distribuídos
3. Comunicação em 3.1.Troca de mensagens As mensagens são objetos de dados cuja estrutura e aplicação são definidas pelas próprias aplicações que a usarão. Sendo a troca de mensagens feita através de primitivas
Leia maisComunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais
Comunicação Inter-Processos Conceitos Iniciais 1 Características para Comunicação Inter-Processos. Passagem de Mensagem pode ser suportada por duas operações de comunicação (send e receive). A comunicação
Leia maisSistemas Distribuídos. Coulouris Capítulo 4
Sistemas Distribuídos Coulouris Capítulo 4 Mensagens Para comunicar-se com outros processos, um processo envia uma MENSAGEM para um DESTINO; um outro processo nesse destino recebe a mensagem. As operações
Leia maisSISTEMAS DISTRIBUIDOS
1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização
Leia maisRedes de Computadores. Protocolos de comunicação: TCP, UDP
Redes de Computadores Protocolos de comunicação: TCP, UDP Introdução ao TCP/IP Transmission Control Protocol/ Internet Protocol (TCP/IP) é um conjunto de protocolos de comunicação utilizados para a troca
Leia maisMODELO CLIENTE SERVIDOR
SISTEMAS DISTRIBUÍDOS Modelo Cliente Servidor Modelo que estrutura um S.O. como um grupo de processos cooperantes, chamados servidores, que oferecem serviços a processos usuários, denominados clientes;
Leia maisMÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos
MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada
Leia maisConsiderações no Projeto de Sistemas Cliente/Servidor
Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis
Leia maisSistemas distribuídos:comunicação
M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.
Leia maisArquitetura de Computadores II
Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Sistemas de Troca de Mensagens O Sistema de Comunicação provê tipicamente os seguintes serviços para as aplicações:
Leia maisSistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br
Sistemas Distribuídos RPC x RMI Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Chamada Remota a Procedimento Definição Passagem de Parâmetros STUBS Semântica de Falhas 2 RPC Chamada Remota a
Leia maisNotas da Aula 15 - Fundamentos de Sistemas Operacionais
Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos
Leia maisCapítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos
Capítulo 8 Sistemas com Múltiplos Processadores 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos 1 Sistemas Multiprocessadores Necessidade contínua de computadores mais rápidos modelo
Leia maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisAPLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE
1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)
Leia maisCAMADA DE TRANSPORTE
Curso Técnico de Redes de Computadores Disciplina de Fundamentos de Rede CAMADA DE TRANSPORTE Professora: Juliana Cristina de Andrade E-mail: professora.julianacrstina@gmail.com Site: www.julianacristina.com
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação- Protocolos, Tipos, RPC Capítulo 4 Agenda Protocolos em Camadas Pilhas de Protocolos em Sistemas Distribuídos Tipos de Comunicação
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para
Leia maisModelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com
Modelos de Arquiteturas Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Arquitetura de Sistemas Distribuídos Clientes e Servidores Peer-to-Peer Variações Vários Servidores Proxy Código Móvel
Leia maisIntrodução ao Modelos de Duas Camadas Cliente Servidor
Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Voltando ao exemplo da calculadora... Rede local
Leia maisREDES DE COMPUTADORES
REDES DE COMPUTADORES 09/2013 Cap.3 Protocolo TCP e a Camada de Transporte 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores
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 maisCamada de Transporte, protocolos TCP e UDP
Camada de Transporte, protocolos TCP e UDP Conhecer o conceito da camada de transporte e seus principais protocolos: TCP e UDP. O principal objetivo da camada de transporte é oferecer um serviço confiável,
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: comunicação orientada por mensagem e comunicação orientada por fluxo Prof. MSc. Hugo Souza Continuando o módulo 03 da primeira unidade, iremos abordar sobre
Leia maisSistemas Distribuídos. Aleardo Manacero Jr.
Sistemas Distribuídos Aleardo Manacero Jr. Conteúdo Conceitos fundamentais Estratégias de controle: relógios e algoritmos de sincronismo Serviços: arquivos e memória Corba Processamento distribuído Sistemas
Leia maisDefinição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão
DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes
Leia maisArquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares
Arquitetura TCP/IP Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares Tópicos Problema de resolução de endereço Mapeamento direto Associação dinâmica ARP
Leia maisSistemas Distribuídos. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br
Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Novembro/2003 Tópicos Tolerância a falhas em comunicação em grupo Tolerância a falhas em comunicação
Leia maisSoftware de rede e Modelo OSI André Proto UNESP - São José do Rio Preto andre.proto@sjrp.unesp.br O que será abordado Hierarquias de protocolos (camadas) Questões de projeto relacionadas às camadas Serviços
Leia maisSistemas Distribuídos RPC
Sistemas Distribuídos RPC Disciplina: Sistemas Distribuídos Prof.: Edmar Roberto Santana de Rezende Faculdade de Engenharia de Computação Centro de Ciências Exatas, Ambientais e de Tecnologias Pontifícia
Leia maisIntrodução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)
Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema
Leia maisSistemas Distribuídos. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br
Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Agosto/2003 Tópicos Conceitos de HW em SD Multiprocessadores e Multicomputadores Conceitos de SW
Leia maisSistemas Distribuídos
Sistemas Distribuídos Aula 4 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Migração de Código Em
Leia maisIFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
Leia maisMÓDULO 8 Modelo de Referência TCP/IP
MÓDULO 8 Modelo de Referência TCP/IP A internet é conhecida como uma rede pública de comunicação de dados com o controle totalmente descentralizado, utiliza para isso um conjunto de protocolos TCP e IP,
Leia maisPadrões Arquiteturais. Sistemas Distribuídos: Broker
Padrões Arquiteturais Sistemas Distribuídos: Broker Sistemas Distribuídos Tendências: Sistemas Comp. com múltiplas CPUs Redes locais com centenas de hospedeiros Benefícios Economia Desempenho e escalabilidade
Leia maisArquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo
Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante
Leia maisSISTEMAS DISTRIBUÍDOS
Arquiteturas www.pearson.com.br capítulo 2 slide 1 2.1 Estilos Arquitetônicos Formado em termos de componentes, do modo como esses componentes estão conectados uns aos outros, dos dados trocados entre
Leia maisRedes de Computadores. Camada de Transporte
Redes de Computadores Camada de Transporte Objetivo! Apresentar as características da camada de transporte da arquitetura TCP/IP! Apresentar os serviços fornecidos pela camada de transporte! Estudar os
Leia maisSistemas Cliente-Servidor
Sistemas Cliente-Servidor Disciplina Bancos de Dados II (INE 5616 2006-1) Curso de Sistemas de Informação Prof. Renato Fileto INE/CTC/UFSC 1 1 Cliente - Servidor Arquitetura cliente/servidor: Os servidores
Leia maisSISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as
Leia maisProgramação distribuída e paralela (C. Geyer) RPC 1
Programação distribuída e paralela (C. Geyer) RPC 1 Autores C. Geyer Local II-UFRGS Versão v6 2008-2 Disciplinas SOII Programação distribuída e paralela (C. Geyer) RPC 2 Bibliografia base original dos
Leia maisSistemas Operacionais Gerência de Dispositivos
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência
Leia maisProf. Samuel Henrique Bucke Brito
- Arquitetura da Internet: TCP/IP www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito Introdução Toda a estrutura atual da Internet está fundamentada na suíte de protocolos
Leia maisADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia
ADDRESS RESOLUTION PROTOCOL Thiago de Almeida Correia São Paulo 2011 1. Visão Geral Em uma rede de computadores local, os hosts se enxergam através de dois endereços, sendo um deles o endereço Internet
Leia maisDistributed Systems Principles and Paradigms
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science (Tradução e Adaptação Ricardo Anido - IC/Unicamp) Capítulo 04: Comunicação Versão: 20 de março de 2014
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Arquitetura Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Sistemas monolíticos Sistemas em camadas Sistemas micro-núcleo Modelo Cliente-Servidor Máquinas
Leia maisAula 03-04: Modelos de Sistemas Distribuídos
UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)
Leia maisCapítulo 7 CAMADA DE TRANSPORTE
Capítulo 7 CAMADA DE TRANSPORTE INTRODUÇÃO (KUROSE) A Camada de Rede é uma peça central da arquitetura de rede em camadas A sua função é a de fornecer serviços de comunicação diretamente aos processos
Leia maisTRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores, independentemente
Leia maiswww.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com
SERVIÇOS DE REDES DE COMPUTADORES Prof. Victor Guimarães Pinheiro/victor.tecnologo@gmail.com www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com Modelo TCP/IP É o protocolo mais usado da atualidade
Leia maisProjeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com
Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Exemplos de Sistemas Distribuídos Compartilhamento de Recursos e a Web Principais Desafios para a Implementação
Leia mais4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?
Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer
Leia maisProcessos e Threads (partes I e II)
Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa
Leia maisUSO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP
USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP SMTP "Protocolo de transferência de correio simples (ou em inglês Simple Mail Transfer Protocol ) é o protocolo padrão para envio de e- mails através da
Leia maisRedes de Computadores. Prof. André Y. Kusumoto andre_unip@kusumoto.com.br
Redes de Computadores Prof. André Y. Kusumoto andre_unip@kusumoto.com.br Open Systems Interconnection Modelo OSI No início da utilização das redes de computadores, as tecnologias utilizadas para a comunicação
Leia maisSistemas Operacionais Entrada / Saída. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)
Sistemas Operacionais Entrada / Saída Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Tópicos Princípios do hardware de E/S Princípios do software de E/S Camadas do software
Leia maisCapítulo 7 CAMADA DE TRANSPORTE
Capítulo 7 CAMADA DE TRANSPORTE SERVIÇO SEM CONEXÃO E SERVIÇO ORIENTADO À CONEXÃO Serviço sem conexão Os pacotes são enviados de uma parte para outra sem necessidade de estabelecimento de conexão Os pacotes
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Introdução Um Modelo Arquiteturial dene o modo no qual os componentes de sistemas interagem e o modo no qual eles são mapeados
Leia maisProf. Marcelo Cunha Parte 5 www.marcelomachado.com
Prof. Marcelo Cunha Parte 5 www.marcelomachado.com Criado em 1974 Protocolo mais utilizado em redes locais Protocolo utilizado na Internet Possui arquitetura aberta Qualquer fabricante pode adotar a sua
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,
Leia maisTeleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010
Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010 Prof. Silvana Rossetto (DCC/IM/UFRJ) 1 13 de julho de 2010 Questões 1. Qual é a diferença fundamental entre um roteador
Leia maisCap 03 - Camada de Aplicação Internet (Kurose)
Cap 03 - Camada de Aplicação Internet (Kurose) 1. Qual a diferença entre um Programa de computador e um Processo dentro do computador? R. Processo é um programa que está sendo executado em uma máquina/host,
Leia maisOrganização de Computadores 1
Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central
Leia maisSISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA
SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis
Leia maisRoteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido
Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura
Leia maisProf. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013
MC714 Sistemas Distribuídos 2 semestre, 2013 Virtualização - motivação Consolidação de servidores. Consolidação de aplicações. Sandboxing. Múltiplos ambientes de execução. Hardware virtual. Executar múltiplos
Leia maisSMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback
SMTP, POP, IMAP, DHCP e SNMP Professor Leonardo Larback Protocolo SMTP O SMTP (Simple Mail Transfer Protocol) é utilizado no sistema de correio eletrônico da Internet. Utiliza o protocolo TCP na camada
Leia maisRedes de Computadores Modelo de referência TCP/IP. Prof. MSc. Hugo Souza
Redes de Computadores Modelo de referência TCP/IP Prof. MSc. Hugo Souza É uma pilha de protocolos de comunicação formulada em passos sequenciais de acordo com os serviços subsequentes das camadas pela
Leia maisSistemas Distribuídos. Introdução
Sistemas Distribuídos Introdução Definição Processos Um sistema distribuído é um conjunto de computadores independentes, interligados por uma rede de conexão, executando um software distribuído. Executados
Leia maisSistemas Distribuídos
Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos
Leia maisProtocolos Hierárquicos
Protocolos Hierárquicos O que é a Internet? Milhões de elementos de computação interligados: hospedeiros = sistemas finais Executando aplicações distribuídas Enlaces de comunicação fibra, cobre, rádio,
Leia maisMárcio Leandro Moraes Rodrigues. Frame Relay
Márcio Leandro Moraes Rodrigues Frame Relay Introdução O frame relay é uma tecnologia de chaveamento baseada em pacotes que foi desenvolvida visando exclusivamente a velocidade. Embora não confiável, principalmente
Leia maisRedes de Computadores Aula 3
Redes de Computadores Aula 3 Aula passada Comutação: circuito x pacotes Retardos e perdas Aula de hoje Protocolo em camadas Aplicações C/S x P2P Web Estruturando a Rede Como organizar os serviços de uma
Leia mais