Mullender: Definir exatamente um SD é perigoso; Uma característica importante (ou que pode ser importante no futuro) pode ser esquecida.

Tamanho: px
Começar a partir da página:

Download "Mullender: Definir exatamente um SD é perigoso; Uma característica importante (ou que pode ser importante no futuro) pode ser esquecida."

Transcrição

1 1 Cap. 1 Caracterização Definições: Tanenbaum: Nós usamos o termo Sistema Distribuído com o sentido de um Sistema Operacional Distribuído ; Mullender: Um SD é um sistema com vários EPs e vários dispositivos de armazenamento, conectados entre si por uma rede ; Lamport: Um SD é aquele que não permite que você produza qualquer tipo de trabalho quando ocorre uma pane numa máquina que você nem sabia que existia ; Coulouris: Um SD consiste de um conjunto de computadores autônomos conectados por uma rede, cada um deles equipado com um Software de SD. Definições mais recentes: Tanenbaum: Um SOD é aquele que, para seus usuários, parece um SO centralizado, mas executa sobre múltiplas CPUs independentes. O conceito chave aqui é transparência, ou seja, os múltiplos processadores utilizados devem ser invisíveis (transparentes) para o usuário. Outra forma de expressar a mesma idéia é dizer que o usuário enxerga o sistema como um processador virtual único, e não como um conjunto de máquinas distintas ; Mullender: Definir exatamente um SD é perigoso; Uma característica importante (ou que pode ser importante no futuro) pode ser esquecida. Schroeder: Avaliação de um candidato a SD através de sintomas: o Vários EPs; o Hardware de interconexão; o Os EPs falham independentemente; o Estado do sistema compartilhado. Coulouris (ed. 2): Compartilhamento de recursos; Abertura; Concorrência; Independência de escala; Tolerância a falhas; Transparência. Coulouris (ed. 3): Heterogeneidade; Abertura; Segurança; Independência de escala; Tratamento de falhas; Concorrência; Transparência. Tanenbaum disse que vários sistemas apresentados como distribuídos na verdade não eram. Regra geral: se é possível dizer qual máquina é responsável por uma tarefa, então não é um SD. Exemplos de SDs:

2 1 Unix Distribuído. O Unix talvez seja o sistema operacional multiusuário mais conhecido. Quando os SDs começaram a ser pesquisados, o Unix era largamente utilizado. Muitos pesquisadores adotaram o modelo Unix como meta: Um modelo Unix que pudesse explorar os recursos de muitos computadores; Desempenho superior ao de uma estação isolada. A versão 4BSD do Unix foi extendida para suportar IPC. Este recurso foi extendido e explorado na construção dos 1 os SDs. O Unix introduziu o conceito de sistemas tipo cliente-servidor ao possibilitar a construção de servidores acessíveis através de IPC. Foi usado como modelo na implementação de vários sistemas: A Sun usou-o no desenvolvimento do NFS (Network File System); Também serviu de modelo na implementação do RPC (Remote Procedure Call); NIS (Network Information System); Amoeba (DOS); Mach (DOS); Chorus (DOS); Andrew (FS); Kerberos (Segurança). O modelo cliente-servidor implementa o compartilhamento de recursos, um dos principais objetivos que motivaram o desenvolvimento das redes locais. O acesso aos servidores é feito por meio de requisições, que são mensagens enviadas pelo cliente contendo pedidos de ações a serem feitas pelo servidor. Ao enviar uma requisição, dizemos que o cliente invoca o servidor. A operação completa, desde o envio da requisição até o recebimento da resposta, é chamada de invocação remota. Um servidor pode ser cliente de outro servidor. Assim, o modelo cliente-servidor só é válido para uma única requisição. Clientes são entidades ativas, enquanto servidores são passivos. Servidores permanecem rodando, esperando pela chegada de requisições. Clientes só executam no período em que sua aplicação é necessária. Os recursos de uma rede podem ser encapsulados em objetos. Nesse caso, clientes e servidores podem ser objetos escritos em uma linguagem OO. A invocação remota é substituída pela chamada remota de um método do objeto servidor. 2 Internet. A Internet é um grande sistema distribuído, fornecendo serviços para seus usuários como: WWW, , FTP, etc. Esses serviços são fornecidos da mesma maneira em qualquer lugar. O usuário pode fazer uso deles onde quiser, com a máquina que quiser e quando quiser. Provedores fornecem o acesso para usuários caseiros. Empresas podem contratar linhas de maior capacidade. Todos eles são conectados através de redes de alta capacidade, os backbones, qure são fornecidas por provedores de atacado. A Internet manipula diferentes tipos de dados, incluindo multimídia. Os usuários podem ouvir rádios, ver TV, filmes, participar de reuniões e até fazer ligações telefônicas. Um aspecto interessante da Internet é que ela possui transparência de escala, permitindo que seu tamanho e aplicações cresçam por várias ordens de magnitude. Apesar das linhas apresentarem restrições de capacidade, elas suportam várias aplicações distribuídas. A mais conhecida é o . O principal problema do é encontrar o destinatário através de um endereço como ou Esse tipo de endereço não dá informações de como encontrar o destinatário (roteamento). Na rede destino não diz em que máquina está o destinatário. 3 Intranets. 2

3 3 Intranets são pedaços da Internet administrados em separado e que possuem controle de segurança próprio. Podem estar ou não ligados à grande rede. 3 Computação móvel e ubiquitous. Integração de pequenos diispositivos móveis com a Internet e acréscimo de poder de processamento em máquinas e equipamentos: Laptops e notebooks; Handtops, celulares, etc.; Dispositivos sem fio; Dispositivos embutidos em máquinas de lavar, aparelhos de som, microondas, carros, geladeiras, etc. A computação móvel também é chamada de nômade. Nesse modelo, o usuário acessa a rede fora de seu ambiente normal (casa ou escritório) através de dispositivos que ele carrega consigo. Computação ubiquitous é realizada por vários dispositivos pequenos e baratos que estão presentes em nosso ambiente (casa, escritório, ou qualquer outro lugar). O termo sugere uma situação em que seu uso será tão grande que sua presença será ignorada. Quer dizer, seu comportamento será transparente. 4 WWW. A Web é um sistema em constante evolução que se baseia em documentos hipertextos. Os usuários organizam seu conhecimento por meio de links. Esse sitema foi concebido em 1945 por Bush. Sua implementação só foi possível com o surgimento da Internet. A Web é um sistema aberto. Pode ser extendido e implementado de várias formas sem alterar o funcionamento da base já instalada. Sua operação é baseada em comunicação e documentação padrões distribuídos livremente. P. ex.: Há vários navegadores; São implementados em plataformas diferentes; Há várias implementações de servidores. Qualquer navegador pode recuperar páginas de qualquer servidor. Também é aberta em relação ao tipo de mídia publicado: Páginas (texto); Programas; Imagens; Música; Vídeo; Documentos (Word, PS, PDF, etc.). Se alguém inventar um novo tipo de mídia, objetos desse tipo podem ser publicados na Web imediatamente. Basta criar um driver para tratar esta nova mídia. Os navegadores são construídos para aceitarem novas funcionalidades por meio de plug-ins. As páginas receberam funcionalidade para aceitar dados, e não apenas mostrá-los. A Web evolui de um sistema de visualização para um sistema de prestação de serviços, como compra de bens, transações bancárias, etc. Para realizar esses serviços, não houve modificações estruturais. A Web apresenta 3 principais componentes tecnológicos padrões: HTML: linguagem para especificar conteúdo e layout das páginas; URL: identificadores de documentos e outros recursos;

4 HTTP: protocolo que define a arquitetura cliente-servidor da Web. 4 Mais recentemente, a Web recebeu acréscimos como páginas dinâmicas.e formulários. P. ex.: Ao preencher um formulário e apertar o botão que executa a transação, o navegador faz uma requisição ao servidor; Bin Laden O navegador envia uma requisição de pesquisa (q) por Bin Laden ; Quem pode pesquisar é um programa (o navegador não está pedindo um arquivo). Ele é search. A URL do servidor é O tipo de serviço é WWW (http); O resultado dessa pesquisa é uma página mostrada ao usuário. Essa página não existe (dinâmica). Após seu envio para o navegador, ela não será mantida. No começo, esses programas eram escritos em CGI, mas hoje há várias opções: PERL, Python, Java, etc. Problemas da Web: Recursos removidos podem continuar apontados por outras páginas; O conteúdo não necessariamente é confiável; Sistemas de pesquisa (ex. google, altavista, etc.) são imperfeitos e podem não localizar coisas com precisão; Está em andamento um sistema de padronização de metadados para registrar melhor o conteúdo das páginas - sistemas de pesquisa poderiam melhorar seu desempenho baseado nisso; A diversidade de tipos de dados na Web é um problema para uma linguagem estática como o HTML (todos os tipos de dados são tratados da mesma forma - a diferença é implementada pelos plug-ins). Isso levou ao desenvolvimento do XML (Extensible Markup Language). XML é uma linguagem de descrição de dados, que torna-os portáveis entre as aplicações. Sites muito acessados têm problemas de escala - o acesso pode ficar lento. Os navegadores (e proxys) implementam caches, mas não há mecanismo para indicar que um site foi atualizado (um conteúdo só pode ser renovado em períodos fixos). Isso obriga o usuário a fazer refresh de uma página se quiser ver se ela foi atualizada; Sites com anúncios obrigam os navegadores a buscar sempre a última versão em vez de usar o cache; Páginas não são um meio apropriado para representar todas as informações. Isso levou ao uso de applets e muitas imagens para tornar a interface mais aceitável. Também gasta mais tempo para fazer um download completo. Características principais 1 - Heterogeneidade Aplica-se a redes, computadores, sistemas operacionais, linguagens de programação e implementações de diferentes desenvolvedores. A Internet é composta de vários tipos de redes diferentes, mas todas implementam o Protocolo IP; Plataformas diferentes podem ter representações diferentes de inteiros, reais, etc. Apesar da necessidade de toda máquina ligada à Internet ter uma implementação do IP, os SOs não possuem a mesma interface (chamadas). Linguagens diferentes possuem diferentes formas de representar dados. Isso deve ser considerado se elas devem se comunicar umas com as outras;

5 Programas escritos por desenvolvedores diferentes não se comunicam, a menos que usem padrões comuns (comunicação, dados, estruturas, passagem de parâmetros, etc.). 5 Middleware Camadas de software que fornecem abstrações de programação e mascaram a heterogeneidade dos elementos abaixo. Ex.: CORBA. Alguns middlewares suportam apenas uma linguagem (ex. Java RMI). Todos são implementados sobre o IP - mascaram diferenças entre as redes. Todos precisam tratar diferenças de SOs e hardware. Para resolver os problemas de heterogeneidade, os middlewares fornecem modelos computacionais uniformes para os programadores. Possíveis modelos incluem: Invocação remota de objetos; Notificação remota de eventos; Acesso remoto com SQL; Transações distribuídas. Heterogeneidade e código móvel Código móvel: código que pode ser enviado de um computador para outro e rodar no destino. Ex.: applets Java. O código depende do tipo de arquitetura de origem. A abordagem com máquinas virtuais permite fazer código executável em qualquer plataforma. Ex.: um compilador Java produz código para a JVM, que pode rodar em qualquer plataforma com JVM implementada. Esta solução não é aplicável a todas as linguagens. Ex.: não existe uma VM para C. 2 - Abertura Determina se um sistema pode ser estendido e implementado de várias formas. Grau com que novos serviços de recursos compartilhados podem ser inseridos. Não pode ser alcançada sem tornar públicas as documentações das interfaces dos principais softwares do sistema. Palavra chave = publicação! Grande desafio para os projetistas de um sistema (distribuído) = juntar componentes desenvolvidos por diferentes pessoas. Ex. sistema de publicação da Internet = RFCs (Request for Comments). Inclui discussões e padronização de protocolos. Ex.: CORBA. Série de documentos técnicos separados por área, incluindo especificações completas das interfaces dos serviços. Abertura em relação ao hardware: permite a adição de computadores na rede. Ao software: permite a introdução de novos serviços e a reimplementação dos velhos. Em qualquer caso, permite a independência em relação aos vendedores. 3 - Segurança O tipo de serviço prestado por um sistema distribuído provavelmente é alto valor intrínsico. Sua segurança é de grande importância. A segurança de recursos de informação tem 3 componentes:

6 Confidencialidade: proteção contra acesso não autorizado; Integridade: proteção contra estragos; Disponibilidade: proteção contra interferências no seu funcionamento. 6 Toda a comunicação em um SD ocorre sobre redes. O desafio é enviar informação sensível em mensagens de forma segura. Outro problema é garantir a identidade de quem recebe e de quem envia alguma coisa. Problemas atualmente não completamente resolvidos: Ataques de negação de serviço: atualmente a ação possível é procurar os responsáveis depois que um ataque ocorre. Segurança de código móvel: garantias para quem recebe e para quem envia. 4 - Independência de Escala Um SD deve operar de forma eficiente independente da escala, desde uma pequena intranet até a Internet. Um sistema é escalável se continuar efetivo após um incremento significativo de recursos e usuários. Ex.: Internet de 1979 a 1999 Data Computadores Servidores WWW 12/ / / Ex.: número de computadores e servidores WWW na história da Web (1993 a 1999) Data Computadore Servidores % s WWW 07/ ,008 07/ ,4 07/ / Um SD escalável apresenta os seguintes desafios: Controlar o custo de recursos físicos: à medida que a demanda por recursos cresce, é necessário estender o sistema para atendê-la. Ex.: um certo número de usuários podem ser atendidos por um FS. Se os usuários aumentam, é necessário introduzir novos FS para evitar um gargalo. Em geral, para um sistema com N usuários ser escalável, a quantidade de recursos físicos deve ser O(N) proporcional a N. Ex.: um FS para 20 usuários. Se N passa para 40, é necessário ter 2 FSs. Controlar a perda de desempenho: considere um conjunto de dados proporcional ao número de usuários. Ex.: tabela de conversão de nomes do DNS. Algoritmos que usam estruturas hierárquicas (ex. Árvore B) escalam melhor que aqueles que usam estruturas lineares (ex. Listas). Mesmo com estruturas hierárquicas, o aumento do número de usuários causa perdas de desempenho, que não devem ser superiores a O(log n). Prevenindo o esgotamento de recursos: ex.: números usados como endereços Internet (32 bits ). Os endereços se esgotaram por volta do ano O IPv6 adota 128 bits de

7 7 SD Cap. 1-4 endereços. Infelizmente, não há solução correta para o problema. Não há garantias de que 128 bits não se esgotarão também. Números maiores ocupam mais espaço nas mensagens. Evitando gargalos de desempenho: algoritmos devem ser descentralizados. Ex.: antecessor do DNS era um arquivo central que devia ser baixado pelos servidores que precisavam dele. O DNS substituiu esse sistema por uma organização descentralizada. Alguns recursos podem ser acessados muito frequentemente. Ex.: uma página de Internet. Nesse caso, pode-se usar cache e replicação. Idealmente, o sistema e o software de aplicação não devem ser modificados conforme a escala. Difícil de alcançar! Soluções: dados replicados, cache, múltiplos servidores. 5 - Tratamento de falhas Computadores falham! Não é uma questão de SE eles vão falhar, mas de QUANDO! Numa falha, um computador pode devolver um resultado errado, mas, em geral, eles param antes de dar a resposta. Num SD, falhas são parciais: outros componentes continuam funcionando. O tratamento de falhas é bastante difícil. Técnicas possíveis de tratamento: Detecção de falhas: p. ex.: checksums podem ser usados para detectar alterações de pacotes de rede. No cap. 2, veremos que é difícil (ou mesmo impossível) detectar falhas como crash de servidores. O desafio é gerenciar falhas que não podem ser detectadas, mas podem ser presumidas. Mascaramento de falhas: as falhas detectadas podem ser escondidas ou tornadas menos severas: Mensagens podem ser retransmitidas; Dados podem ser armazenados em + de um disco - se um falha, o outro pode continuar em uso. No pior caso, essas técnicas podem não funcionar. P. ex. o 2o. disco pode estar corrompido também. Tolerar falhas: a maioria dos serviços na Internet apresentam falhas. Não seria prático tratar todas elas e escondê-las dos usuários. P. ex. um servidor pode não estar no ar. O navegador não pode ficar indefinidamente a espera de que ele volte. Nesse caso, um erro é apresentado ao usuário. Recuperação de falhas: envolve o projeto de software. P. ex. roll-back numa falha de servidor. Redundância: Ex.: 2 rotas para acessar um servidor importante; No DNS, as tabelas são replicadas em pelo menos 2 servidores diferentes; Um BD pode ser replicado em vários servidores; Servidores projetados para detectar falhas em seus pares; Clientes são redirecionados a um backup quando um servidor falha. 6 - Concorrência Há possibilidade de um recurso ser acessado por vários clientes ao mesmo tempo. O servidor de um recurso pode atender um cliente de cada vez. Isso limita o throughput. P. ex. cada recurso é encapsulado em um objeto. Invocações são executadas em threads concorrentes É possível que sua operação possa ser conflitante, produzindo inconsistências Resultado: qualquer objeto que gerencie um recurso compartilhado deve garantir que ele opere com correção num ambiente concorrente. Seus dados devem se manter consistentes.

8 8 7 - Transparência ANSA (Advanced Networks Systems Architecture) e ISO (International Standards Organization) definem 8 formas de transparência: Acesso: recursos remotos e locais são acessados com as mesmas operações; Localização: acesso aos recursos sem saber sua localização; Concorrência: vários processos acessam os mesmos recursos compartilhados sem interferência; Replicação: múltiplas instâncias de recursos são usadas sem conhecimento sobre réplicas; Falhas: permite aos usuários completarem suas tarefas independente de falhas em software ou hardware; Mobilidade: permite a movimentação de recursos e clientes sem afetar a operação dos usuários; Desempenho: permite ao sistema ser reconfigurado para melhorar o desempenho; Escala: permite mudanças de escala sem alterar aplicações ou algoritmos. Cap. 2 - Modelos de Sistemas Um modelo de arquitetura define a forma como os componentes se relacionam entre si. Também define a forma como são mapeados numa rede de computadores. Dificuldades e ameaças aos SDs: Grande variação nas formas de utilização: p. ex.: Variação de carga - algumas páginas são pouco acessadas enquanto outras recebem milhões de acessos por dia; Partes de um sistema podem estar desconectadas; Algumas aplicações precisam de grande largura de banda. Grande variação de ambientes: Há heterogeneidade de hardware, SO e redes; Redes sem fio operam a uma fração das LANs; Há diferenças de escala: sistemas com dezenas de computadores até milhões. Problemas internos: Relógios não sincronizados; Atualizações conflitantes; Muitas formas de falhas de hardware e software envolvendo componentes do sistema. Ameaças externas: Ataques à integridade de dados e ao sigilo; Negação de serviço. 2.2 Modelos arquiteturais Arquitetura de um sistema: sua estrutura em termos de especificação de componentes separados. Objetivo geral: garantir que a estrutura vai atender necessidades atuais e futuras Principais objetivos: fazer o sistema confiável, manuseável, adaptável e custo-efetivo. Simplificação inicial: classificação dos processos em clientes, servidores e pares. Variações do modelo cliente-servidor: Mobilidade de código de um processo p/ outro permite a delegação de tarefas. P. ex. clientes podem fazer download de código dos servidores para executá-los localmente; Códigos e objetos podem ser movidos para reduzir o tráfego;

9 SDs podem ser projetados para permitir a adição e remoção de computadores e outros dispositivos móveis - podem descobrir os serviços disponíveis e oferecer serviços para outros Camadas de software Aplicações, serviços Middleware Sistema operacional Plataforma Hardware e rede Middleware: Camada de software que mascara a heterogeneidade de um sistema; Fornece um modelo para os programadores; Fornece blocos de construção de componentes de software que trabalham uns com os outros; Ultrapassa o nível de comunicação e permite abstrações como Invocação Remota, comunicação de grupos, notificação de eventos, replicação de dados, transmissão de multimídia em tempo real. Limitações do middleware Ex.: transferência de grande número de s do servidor para o cliente. Aplicação TCP; Considere uma rede não confiável; TCP possui alguma detecção de erros e correção; Mas não há recuperação possível de erros graves ou interrupções; Nesse sentido, o serviço de pode acrescentar tolerância a falhas através de um registro do trabalho já feito. O correto comportamento de um SD depende de verificações, correção de erros, medidas de segurança em vários níveis. É preciso acessar dados dentro do espaço de endereçamento das aplicações. Tentativas de realizar as verificações através dos sistemas de comunicação padrões garante apenas parte das necessidades de correção Arquiteturas de sistemas Projeto de SD - aspectos + evidentes: Divisão de responsabilidades entre componentes (aplicações, servidores, etc.); Colocação de componentes em computadores da rede. Esses itens têm grandes implicações no desempenho, confiabilidade e segurança. Cliente Server Cliente Server

10 10 Modelo cliente-servidor Historicamente o modelo mais conhecido e mais usado. Servidores podem ser clientes: Servidores WWW podem ser clientes do FS local; Também podem ser clientes do DNS; Um engenho de pesquisa é um cliente (dos sites que visita) e um servidor (dos usuários que pedem pesquisas); Serviços com múltiplos servidores Clien t Serv Clien t Serv Serv Os servidores podem dividir o conjunto de dados. Também podem manter cópias replicadas. Replicação aumenta o desempenho, a disponibilidade e a tolerância a falhas. Servidores proxy e cache Um cache é um armazém de objetos mais usados mais perto que os objetos originais. Ao receber um objeto, ele é adicionado ao cache, eventualmente substituindo um mais velho. Ao precisar de um objeto, o cache é consultado primeiro. Se houver uma versão atualizada, ela é usada. Se não, é feita uma solicitação do objeto ao seu servidor. Caches podem ser residentes em cada cliente ou residir em um proxy, sendo compartilhados por todos. Caches são bastante utilizados: Navegadores possuem caches das páginas recentemente visitadas uma função especial do protocolo HTTP permite verificar se as páginas estão atualizadas; Servidores proxy fornecem páginas já acessadas aos clientes de uma rede finalidade é aumentar o desempenho podem ser usados para outras finalidades. Ex.: acessar sites através de um firewall. Cliente Proxy Web Serv Cliente Web Serv

11 11 Processos pares (peer) Processos que são similares e desempenham os mesmos papéis. Interagem de forma cooperativa para realizar atividades distribuídas, sem distinção entre clientes e servidores. Aplicação Aplicação Código de coordenação Código de coordenação Aplicação Código de coordenação A não existência de um servidor torna a comunicação mais demorada, já que há atrasos consideráveis caso se precise procurar algo por todos os processos Variações no modelo cliente-servidor Novas situações: Uso de código móvel e agentes móveis; Necessidade de computadores de baixo custo; Necessidade de adicionar e remover dispositivos móveis. Código móvel Ex.: a) Cliente Applet Web Server b) Cliente Applet Web Server Vantagem: Não há atrasos na rede, não gasta banda.

12 12 SD Cap. 1-4 Apesar da padronização, algumas aplicações apresentam funcionamento incomum. P. ex.: um broker: O cliente faz download de um código para acompanhar o valor das ações; O servidor mantém os valores e informa periodicamente o código das mudanças - push - não é o cliente que pede, mas o servidor que comunica os dados. Um código móvel é uma ameaça potencial à segurança dos recursos locais de um sistema. Por isso, navegadores dão acesso limitado aos applets baixados da Internet. Agentes móveis Processo (código + dados) que viaja de máquina para máquina numa rede para executar uma tarefa para alguém. Ex.: coletar dados, retornando com o resultado. Podem invocar recursos locais (ex. Bancos de dados), eventualmente acessando grandes conjuntos de dados. Com isso, economizam banda de rede porque o acesso é local, com melhor tempo de resposta. Agentes móveis são uma ameaça potencial aos recursos das máquinas que visitam. O ambiente local deve decidir: A identidade do emissor do agente; Que privilégios dar ao agente que chega; Que recursos ele pode acessar. Os próprios agentes são vulneráveis: Podem ser atacados nos hosts em que chegam; Talvez não possam realizar sua tarefa se não puderem acessar os recursos de que precisam. A tarefa de um agente móvel pode ser realizada por outros meios: Ex.: invocação remota. Assim, sua aplicação ainda é restrita. Network Computers Um computador típico possui: Sistema operacional; Aplicações instaladas conforme a necessidade do usuário; Pertence a uma plataforma determinada. A proposta de um NC possui os seguintes objetivos: Sistema operacional e aplicações são baixados de um servidor remoto; Aplicações executam localmente, mas os arquivos são acessados remotamente; Como todos os arquivos são acessados em um servidor, os usuários podem mudar de computador sem problemas; Processador e memória podem ser limitados para reduzir custos; Se o NC tem um disco, ele é usado para manter um mínimo de software; A maior parte dele é usada como cache para os arquivos mais recentes; Os objetos mantidos no cache são invalidados quando atualizados no servidor principal. Thin Clients Camada de software que suporta uma interface para o usuário local enquanto executa aplicações em computadores remotos.

13 13 SD Cap. 1-4 As aplicações rodam em computadores de grande capacidade, multiprocessadores ou clusters, com um SO como Unix ou Windows NT/2000/XP. Problema: aplicações gráficas interativas (ex. Autocad), cujo envio de telas pela rede pode causar grandes atrasos. Implementações: X11 (sistema de janelas), WinFrame da Citrix, VNC da AT&T. Dispositivos móveis e comunicação espontânea Dispositivos móveis estão se tornando populares: Notebooks; Laptops; PDAs; Celulares; Cameras digitais; Computadores vestíveis relógios, etc. Dispositivos embutidos (máquinas de lavar, geladeiras, micro-ondas, etc.). Esses dispositivos podem realizar comunicação sem fio: Grandes distâncias: GSM (centenas de Kbps), CDPD; Centenas de metros: WAVELAN; Poucos metros: BlueTooth, infravermelho, HomeFR 10 Mbps. GSM: Global System Mobile Communication CDPD: também conhecido como Mobile IP WAVELAN: LAN sem fio BlueTooth: padrão de comunicação por rádio HomeRF: Home Radio Frequency: sistema de comunicação por rádio Comunicação espontânea é o termo que indica que os dispositivos móveis se comunicam com as redes para estabelecer seu funcionamento. Principais recursos da comunicação espontânea: Fácil conexão com redes locais não há necessidade de cabos, plugs, etc.; Fácil integração com os serviços locais os dispositivos descobrem os recursos disponíveis e podem utilizá-los quando necessário. Desafio de conseguir conexão e integração fáceis: Ex.: endereços IP assumem que as máquinas pertencem a uma determinada subrede se o computador é movido para outra rede, ele não pode ser acessado com o mesmo endereço. Os usuários podem ter problemas de conexão à medida que viajam A natureza espontânea de sua conexão pode levar a problemas de segurança. Conectividade limitada: p. ex. O usuário pode sofrer desconexões intermitentes se viajar num trem que passa por túneis O usuário pode ser desconectado quando estiver numa região sem acesso como suportar o usuário para que ele possa trabalhar mesmo desconectado? Segurança e privacidade: p. ex. Usuários ou funcionários de uma instalação podem tentar se conectar num modo não supervisionado; Usuários podem ser espionados a medida que se movem por várias redes;

14 14 SD Cap. 1-4 Usuários podem acessar suas redes caseiras, o que pode tornar esses ambientes suscetíveis a ataques dados mantidos por um firewall podem ser interceptados quando o usuário acessa-os. Descobrir serviços: ao se conectar com uma rede, o dispositivo móvel deve identificar os recursos disponíveis (ex.: impressoras, fax, TVs, etc.) Não se pode esperar que os protocolos de todos os recursos sejam compatíveis; Deve haver meios de descobrir os recursos disponíveis e obter dados sobre eles; Quando so usuários quiserem, poderão fazer requisições sobre esses recursos; Um serviço de descoberta tem 2 interfaces: Serviço de registro: aceita registros dos servidores e mantém bancos de dados sobre os recursos disponíveis; Serviço de lookup (pesquisa): aceita requisições dos usuários e o BD por serviços que possam atendê-las; Ex.: usuário em um hotel com figuras numa câmera digital que deseja ver como elas saíram Interfaces e Objetos Definições de interface: conjunto de funções disponíveis para invocação em um processo (servidor, peer, etc.). Ex.: C++, Java, etc. Linguagens orientadas a objetos podem encapsular objetos com uma interface definida. Os métodos desses objetos podem ser invocados remotamente. Ex.: CORBA, RMI, etc Requisitos de projeto para arquiteturas distribuídas Compartilhamento de recursos foi lançado nos anos 60, com o sistemas timesharing. Ex. Sistemas operacionais multiusuários (Unix) ou sistemas de banco de dados multiusuários (Oracle). O surgimento de processadores baratos e de alto desempenho tirou o controle dos recursos de máquinas de grande capacidade passou-os para qualquer máquina da rede. A necessidade de compartilhamento de recursos físicos (impressoras, discos, etc.) levou aos SDs dos anos 70 e 80. Hoje, o compartilhamento atinge principalmente os dados. O principal desafio é controlar o acesso concorrente aos dados e evitar os conflitos de atualização. Questões de desempenho Derivado do uso de máquinas e linhas de comunicação limitadas, aparecem 3 principais elementos: Tempo de resposta: o acesso a recursos remotos leva a atrasos consideráveis nas respostas a requisições do usuário; Para melhorar os tempos de resposta, o software deve ser composto de poucas camadas; A quantidade de dados trocadas entre os processos deve ser pequena. Ex.: navegadores páginas acessadas do cache são rápidas; páginas só de texto mesmo remotas são rápidas; páginas com dados grandes acessadas remotamente são lentas. Throughput: taxa de realização de trabalho computacional. Num SD é a habilidade de realizar trabalho para todos os seus usuários. Valor afetado pela velocidade de clientes e servidores e pelas taxas de transferência. Considere dados localizados num servidor remoto:

15 o Os dados precisam passar do processo servidor para o processo cliente; o Nesse processo, eles atravessam várias camadas de software nos 2 lados; o O throughput de cada camada é importante, assim como o da rede. 15 Balanceamento de carga: uma das finalidades de um SD: permitir que aplicações e outros processos processem concorrentemente sem competição por recursos. P. ex.: rodar applets nos clientes permite ao servidor prestar um serviço melhor; Ex.: vários computadores para manter um só serviço. O DNS tem um recurso de lookup que devolve só um deles na pesquisa de um domínio; Algumas vezes, é preciso mover um serviço parcialmente feito para ajustar a carga de um sistema. Qualidade de serviço Uma vez que um SD tenha o serviço que o usuário precisa, é preciso verificar sua qualidade. Propriedades que afetam a qualidade: Confiabilidade, segurança e desempenho. Recursos reconhecidos a pouco tempo como muito importantes para a qualidade: Adaptabilidade: para se adequar a mudanças; Disponibilidade de recursos. Aspectos de desempenho em QoS até pouco tempo eram tratados como tempo de resposta e throughput. Recentemente se considera que são as garantias de se respeitar limites de tempo. Algumas aplicações trabalham com dados de tempo crítico - cadeias que precisam ser processadas entre processos a uma taxa fixa. Ex.: vídeo. QoS é considerado hoje como a capacidade de atender deadlines. Alcançar isso depende de existir suficiente recurso de processamento e redes no momento certo. Quem deve garantir esses recursos é o sistema. Ex.: as redes que se conectam com a Internet hoje conseguem transferir dados a taxas satisfatórias até que elas se sobrecarreguem. Nesse caso, o desempenho se deteriora rapidamente. De forma nenhuma, isso pode ser considerado QoS. QoS é garantido pelo SO. Recursos críticos devem ser reservados para as aplicações que precisam de QoS. Gerentes de recursos devem dar garantias. Requisições de reserva que n\ão podem ser atendidas são descartadas. Uso de cache e replicação As questões de desempenho citadas podem parecer obstáculos para a construção de SDs. Na prática, há técnicas bastante pesquisadas como replicação de dados e cache. Vimos antes caches e proxies, sem discutir como as cópias de recursos são atualizadas quando o original é atualizado em um servidor. Diferentes aplicações podem usar diferentes protocolos de cache. Protocolo Web-caching (HTTP): proxies e web servers respondem da mesma forma a requisições dos clientes. O protocolo de consistência do cache procura garantir que os dados entregues ao cliente serão "frescos". Mas para garantir desempenho, disponibilidade e operação offline essa condição precisa ser relaxada. Navegadores ou proxies podem validar uma resposta do cache verificando o servidor original. Se falhar, o servidor envia os dados atualizados.

16 16 SD Cap. 1-4 Quando um dado é atualizado, o servidor não avisa navegadores e proxies - para isso, seria necessário manter uma relação dos atuais interessados em cada um dos seus recursos. Para permitir aos clientes identificar quando um recurso pode estar atualizado, o servidor fornece data e hora para expirar (determinado a partir da média de atualizações registradas). Esse recurso pode ser enganoso (dados na Web podem ser atualizados a qualquer momento). Os servidores anexam às páginas fornecidas um timestamp de validade e a hora no servidor. Navegadores podem saber quando um objeto do cache está para se tornar inválido quando sua idade (soma do momento em que o objeto foi colocado no cahe + tempo no servidor) se aproximar do momento em que a entrada vai expirar. Esse cálculo não depende que os relógios do servidor, do cliente e do proxy concordem entre si. Dependência Dependência é um alto grau de necessidade dos usuários em relação a um serviço. Dependência é relacionado com correção, segurança e tolerância a falhas. O desenvolvimento de técnicas para garantir a correção de programas distribuídos é alvo de várias pesquisas recentes. Há alguns resultados promissores, mas nenhum maduro o suficiente. Tolerância a falhas: aplicações que geram dependência devem continuar funcionando mesmo na presença de falhas. Confiabilidade é alcançada através de redundância. Isso é caro e há limites para o grau de redundância possível. Portanto, há limites para o grau de tolerância a falhas de um sistema. Uma aplicação crítica (ex. Controle de tráfego aéreo) necessita de alto grau de tolerância a falhas, que leva a um alto custo para manter réplicas de dados atualizadas. Segurança: dados e serviços críticos só devem residir em computadores a prova de ataques. Ex.: o BD de um hospital contém dados que só devem ser vistos por poucos médicos. Outros dados podem ser vistos por grupos maiores. Assim, não é possível fazer um sistema que carregue fichas de pacientes em notebooks porque eles são inseguros por natureza. 2.3 Modelos Fundamentais Um modelo contém os elementos mínimos para entender e raciocinar sobre os elementos essenciais de um sistema. Questões principais: Quais são as principais entidades do sistema? Como elas interagem? Que caracterísiticas afetam seu comportamento individual e coletivo? Finalidade de um modelo: Tornar explícitas todas as suposições relevantes do sistema modelado. Generalizar o que é possível ou não em geral, tomam a forma de algoritmos de finalidade geral ou regras (propriedades desejáveis) garantidos. As garantias são dadas por análise lógica ou prova matemática. Aspectos de SDs dos modelos fundamentais: Interação: processos interagem por mensagens e coordenação; o modelo de interação deve tratar dos atrasos inerentes à comunicação; também deve considerar a precisão com que um grupo de processos pode se sincronizar depende dos atrasos e da manutenção de noção de tempo entre todos os computadores;

17 17 SD Cap. 1-4 Falhas: definição dos tipos e classificação das falhas fornece uma base para a análise das falhas e o projeto do tratamento de cada tipo; Segurança: a natureza modular e abertura dos SDs expõem-os a ataques externos e internos. O modelo de segurança define e classifica as formas de ataque, permite análise de ameaças e o projeto de métodos de resistência Modelo de Interação Um programa simples é controlado por um algoritmo sequencial, cujos passos são realizados numa cadência conhecida. O algoritmo não interfere nem sofre interferências externas. Ele também define os conteúdos das variáveis e os estados dos programas em um dado momento. SDs são constituídos de múltiplos processos. Seu comportamento pode ser descrito por um algoritmo distribuído: uma definição de passos + transmissão de mensagens entre os processos. As mensagens são usadas para transferir informações e para coordenar as atividades. Elementos difíceis de determinar: Taxa de andamento de cada processo; Momento em que uma mensagem é enviada; Estados do algoritmo - é preciso considerar as falhas em 1 ou + processos, extravio de mensagens, etc. A seguir, vemos 2 fatores que afetam a interação de processos num SD. Desempenho dos canais de comunicação Latência: o atraso entre a transmissão e recepção de uma mensagem. Inclui: Tempo para o 1o. bit sair do transmissor e atingir seu destino; Atraso para acessar a rede - maior em redes carregadas; Atraso dos serviços de comunicação dos SOs origem e destino. Banda: capacidade de transmissão total em um certo momento; Jitter: variação de tempo para entregar uma série de mensagens - importante em multimídia, onde a diferença nos tempos de entrega pode causar distorções. Relógios e medição de tempo Cada computador possui seu relógio. Os processos locais usam-no para medir o tempo dos eventos locais. Relógios possuem diferenças em relação ao tempo real. A taxa de diferença mede a relação entre o relógio local e um relógio perfeito. Acertando todos os relógios de um SD ao mesmo tempo, após um certo período pode-se ter variações significativas. Duas variantes do modelo de interação É difícil impor limites de tempo para: Execução de um processo; Trânsito de uma msg; Taxa de variação de um relógio. Duas abordagens diferentes em relação ao tempo: Forte suposição; Nenhuma suposição. SDs síncronos definem os seguintes limites (inferiores e superiores):

18 Tempo para realizar um passo; Tempo para transmitir uma msg; Taxa de variação do relógio local. 18 É possível sugerir valores, mas é difícil dar garantias sobre eles. Um SD síncrono tem a vantagem de permitir modelagem, que pode ser útil para verificar seu funcionamento. Pode-se usar timeouts, p. ex., para determinar falhas em serviços. SDs assíncronos são aqueles que não podem ser qualificados como síncronos (ex. Internet). Não possui limites: Processos podem demorar longos tempos arbitrários; Mensagens podem ser recebidas após longos tempos arbitrários; A taxa de variação dos relógios também é arbitrária. Na Internet, um pode levar dias ou segundos. A transferência de um arq. por FTP pode ser rápida, demorada ou inviável. O problema dos exércitos azul e vermelho assume mais um grau de dificuldade, caso o sistema seja assíncrono. Alguns problemas de projeto podem ser resolvidos mesmo nesse caso. Ex. a Web não possui limites para tempos de resposta, mas os navegadores podem permitir ao usuário outras atividades enquanto espera. Soluções válidas para SDs assíncronos também são válidas para SDs síncronos. Ordenação de eventos Há interesses em saber se um evento ocorre antes, depois ou concorrentemente em relação a outro evento em outro processo. P. ex.: considere a seguinte situação Em um newsgroup, X envia uma mensagem Matter; Y lê a msg de X e responde com Re: Matter; Z lê as 2 msgs e responde com Re: Matter. O resultado pode ser: Item Origem Assunto 23 Z Re: Matter 24 X Matter 25 Y Re: Matter Para resolver o problema, é preciso 3 coisas: Sincronizar todos os relógios envolvidos; Enviar o timestamp junto com a msg; Classificar as msgs pelo timestamp Modelo de falha Uma falha é um desvio daquilo que é considerado correto. O modelo falha determina como as falhas ocorrem para verificar seus efeitos. Falhas por Omissão Processos ou canais falham por não realizar o que se esperava que fizessem.

19 19 SD Cap. 1-4 Processos: principal ocorrência é o crash. Nesse caso, o processo pára e não realiza mais sua tarefa. O projeto de um serviço tolerante a falhas é simplificado se os serviços de que ele depende falham de forma limpa (ou funciona ou pára). Um processo falha em crash se outros processos podem determinar que isso aconteceu. Comunicação: Send m Receive Buffer de transmissão Buffer de recepção O canal de comunicação produz uma falha por omissão se: Não ocorre o transporte entre os buffers de transmissão e recepção (ex. falta de espaço em buffer); Erro de transmissão (detectado por checksums). As falhas podem ser classificadas por sua severidade. Todos os tipos de falhas apontadas aqui são falhas benignas (não causam interrupções sérias no sistema). Falhas arbitrárias O termo arbitrário (ou Bizantino) descreve o pior tipo de falha possível, onde um processo não pára (não há crash) mas pode alterar seus dados com valores errados, ou dar respostas erradas. Nesse caso, o processamento de uma requisição ocorre com uma sequência de passos equivocada. Canais de comunicação são especialmente sujeitos a esse tipo de falha: O conteúdo de uma mensagem pode ser corrompido; Mensagens não existentes podem ser entregues; Mensagens reais podem ser entregues + de uma vez. Em geral, o software de rede identifica todos esses casos com facilidade (ex. Checksums, números de sequência, etc.). Falhas de tempo Ocorrem em SDs síncronos (tempo de execução de processos, entrega de msgs, diferença entre relógios). Num SD assíncrono, um servidor pode responder muito lentamente, mas não se pode falar em falhas de tempo já que não há garantias. Mascarando falhas Componentes de SDs são construídos a partir de conjuntos de outros componentes. É possível construir serviços confiáveis a partir de elementos que apresentam falhas. As características das falhas permitem desenhar serviços que mascaram falhas em componentes dos quais o serviço depende. Formas de mascarar falhas: O serviço esconde sua ocorrência;

20 20 SD Cap. 1-4 A falha é convertida em um tipo + aceitável. Ex. Checksums mascaram msgs corrompidas uma falha arbitrária é convertida em falha por omissão. Crashes de processos podem ser mascarados o processo é substituído e seu estado é restaurado a partir de dados armazenados pelos predecessores. Confiabilidade da comunicação 1-para-1 Canais apresentam falhas por omissão, mas podem ser usados para construir serviços que mascaram essas falhas. Uma comunicação é confiável se ela apresentar: Validade: uma msg colocada no buffer de transmissão é sempre entregue no buffer de recepção; Integridade: a msg recebida é idêntica à enviada; msgs não são enviadas + de 1 vez; msgs não enviadas não são entregues.

Cap. 1 Caracterização

Cap. 1 Caracterização 1 SD Cap. 1-4 1 SD Cap. 1-4 Cap. 1 Caracterização Definições: Tanenbaum: Nós usamos o termo Sistema Distribuído com o sentido de um Sistema Operacional Distribuído ; Mullender: Um SD é um sistema com vários

Leia mais

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br Sistemas Distribuídos Introdução Edeyson Andrade Gomes www.edeyson.com.br SUMÁRIO Definições Características Desafios Vantagens Desvantagens 2 Definições DEFINIÇÕES Um sistema distribuído é uma coleção

Leia mais

Distributed Systems Concepts and Design

Distributed Systems Concepts and Design Distributed Systems, Cap 2, Coulouris Pag. 1 de 1 Distributed Systems Concepts and Design 2 Modelos de Sistemas Modelos de arquitetura de sistemas distribuídos, estão relacionado com o local onde estão

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS 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 mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Computação Aula 01-02: Introdução 2o. Semestre / 2014 Prof. Jesus Agenda da Apresentação Definição e surgimento de Sistemas Distribuídos Principais aspectos de Sistemas Distribuídos

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas 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 mais

Sistemas 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 mais

Projeto 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 Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Exemplos de SD Quais podem ser? Ex. de SD: Internet Internet é um conjunto de redes de computadores, de muitos tipos diferentes,

Leia mais

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa.

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa. CLUSTERS Pode-se pegar uma certa quantidade de servidores e juntá-los para formar um cluster. O serviço então é distribuído entre esses servidores como se eles fossem uma máquina só. Um cluster de servidores

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. 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 mais

Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes

Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes Arquiteturas e Modelos de sistemas Arquitetura Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes Localização dos componentes e relação entre eles Objetivo: garantir que

Leia mais

Sistemas Distribuídos

Sistemas 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 mais

Introdução aos Sistemas Distribuídos

Introdução aos Sistemas Distribuídos Material baseado no livro Distributed Systems: Concepts and Design, Edition 3, Addison-Wesley 2001. Introdução aos Sistemas Distribuídos Copyright George Coulouris, Jean Dollimore, Tim Kindberg 2001 email:

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Introdução Frederico Madeira LPIC 1, LPIC 2, CCNA fred@madeira.eng.br www.madeira.eng.br Referências - Coulouris, G.;Dollimore, J.; Kindberg, T.; SISTEMAS DISTRIBUIDOS CONCEITOS E

Leia mais

Sistemas Distribuídos. Introdução

Sistemas 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 mais

Projeto 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 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 mais

Tópicos em Sistemas Distribuídos. Modelos de Comunicação

Tó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 mais

REDES ESAF. leitejuniorbr@yahoo.com.br 1 Redes - ESAF

REDES ESAF. leitejuniorbr@yahoo.com.br 1 Redes - ESAF REDES ESAF 01 - (ESAF - Auditor-Fiscal da Previdência Social - AFPS - 2002) Um protocolo é um conjunto de regras e convenções precisamente definidas que possibilitam a comunicação através de uma rede.

Leia mais

Um pouco sobre Pacotes e sobre os protocolos de Transporte

Um pouco sobre Pacotes e sobre os protocolos de Transporte Um pouco sobre Pacotes e sobre os protocolos de Transporte O TCP/IP, na verdade, é formado por um grande conjunto de diferentes protocolos e serviços de rede. O nome TCP/IP deriva dos dois protocolos mais

Leia mais

Metas de um Sistema Distribuído

Metas de um Sistema Distribuído Metas de um Sistema Distribuído Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Introdução Aplicações em rede de computadores As redes de computadores atualmente estão em todos os lugares. Ex.: Internet, redes de telefones móveis, redes corporativas, em fábricas,

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Revisão. Karine Peralta karine.peralta@pucrs.br

Revisão. Karine Peralta karine.peralta@pucrs.br Revisão Karine Peralta Agenda Revisão Evolução Conceitos Básicos Modelos de Comunicação Cliente/Servidor Peer-to-peer Arquitetura em Camadas Modelo OSI Modelo TCP/IP Equipamentos Evolução... 50 60 1969-70

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula Complementar - MODELO DE REFERÊNCIA OSI Este modelo se baseia em uma proposta desenvolvida pela ISO (International Standards Organization) como um primeiro passo em direção a padronização dos protocolos

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS 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 mais

Redes de Computadores

Redes de Computadores Redes de Computadores Capítulo 1 Gustavo Reis gustavo.reis@ifsudestemg.edu.br - O que é a Internet? - Milhões de elementos de computação interligados: hospedeiros = sistemas finais - Executando aplicações

Leia mais

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Introduçã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 mais

Comunicaçã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 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 mais

Sistemas distribuídos:comunicação

Sistemas 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 mais

Modelos Fundamentais. Carlos Ferraz. cagf@cin.ufpe.br

Modelos Fundamentais. Carlos Ferraz. cagf@cin.ufpe.br Modelos Fundamentais Carlos Ferraz cagf@cin.ufpe.br O que vimos até agora (I) História Anos 60-70: sistemas centralizados (caros!) Anos 80: computadores pessoais (acessórios caros e pouco aproveitáveis!

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores... 1 Mobilidade... 1 Hardware de Rede... 2 Redes Locais - LANs... 2 Redes metropolitanas - MANs... 3 Redes Geograficamente Distribuídas - WANs... 3 Inter-redes... 5 Software de Rede...

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelos e arquitecturas 14/15 Sistemas Distribuídos 1 Modelos arquitecturais 14/15 Sistemas Distribuídos 2 Camadas de Software: o Middleware Aplicações Middleware Sistema Operativo

Leia mais

3. Comunicação em Sistemas Distribuídos

3. 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 mais

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

Aula 03-04: Modelos de Sistemas Distribuídos

Aula 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 mais

Curso: Sistemas de Informação Disciplina: Redes de Computadores Prof. Sergio Estrela Martins

Curso: Sistemas de Informação Disciplina: Redes de Computadores Prof. Sergio Estrela Martins Curso: Sistemas de Informação Disciplina: Redes de Computadores Prof. Sergio Estrela Martins Material de apoio 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura

Leia mais

Sistemas Distribuídos. Coulouris Capítulo 4

Sistemas 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 mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus Aula 05-06: Modelos de Sistemas Distribuídos (cont.) 2 O modelo peer-to-peer Surgiu no final da década de 1970 Se tornou mundialmente

Leia mais

MODELOS DE SISTEMAS DISTRIBUÍDOS

MODELOS DE SISTEMAS DISTRIBUÍDOS MODELOS DE SISTEMAS DISTRIBUÍDOS Edeyson Andrade Gomes www.edeyson.com.br Agenda Visão geral Modelos de Arquitetura de Sistemas Distribuídos MASD Camadas de softwares Arquiteturas de sistema Variações

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Capítulo 1 Introdução Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A apresentação utiliza algumas das figuras do livro

Leia mais

Capítulo II Modelos de Programação Distribuída (parte 2)

Capítulo II Modelos de Programação Distribuída (parte 2) Capítulo II Modelos de Programação Distribuída (parte 2) From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, Addison-Wesley From: Cardoso, Jorge, Programação de

Leia mais

Caracterização de Sistemas Distribuídos

Caracterização de Sistemas Distribuídos Aula 1 Caracterização de Sistemas Distribuídos Prof. Dr. João Bosco M. Sobral mail: bosco@inf.ufsc.br - página: http://www.inf.ufsc.br/~bosco Rodrigo Campiolo mail: rcampiol@inf.ufsc.br - página: http://ww.inf.ufsc.br/~rcampiol

Leia mais

Prof. Manuel A Rendón M

Prof. Manuel A Rendón M Prof. Manuel A Rendón M Tanenbaum Redes de Computadores Cap. 1 e 2 5ª. Edição Pearson Padronização de sistemas abertos à comunicação Modelo de Referência para Interconexão de Sistemas Abertos RM OSI Uma

Leia mais

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos Sistemas Distribuídos Sistemas de Arquivos Distribuídos Roteiro Sistema de arquivos distribuídos Requisitos Arquivos e diretórios Compartilhamento Cache Replicação Estudo de caso: NFS e AFS Sistemas Distribuídos

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 5 PROCESSOS 1. INTRODUÇÃO Em sistemas distribuídos é importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo é originário do campo de sistemas

Leia mais

SISTEMAS OPERACIONAIS LIVRES SERVICOS DE REDE LOCAL. Professor Carlos Muniz

SISTEMAS OPERACIONAIS LIVRES SERVICOS DE REDE LOCAL. Professor Carlos Muniz SISTEMAS OPERACIONAIS LIVRES SERVICOS DE REDE LOCAL Na internet, cada computador conectado à rede tem um endereço IP. Todos os endereços IPv4 possuem 32 bits. Os endereços IP são atribuídos à interface

Leia mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Objetos distribuídos e invocação remota Introdução Comunicação entre objetos distribuídos Chamada de procedimento remoto Eventos e notificações Objetos

Leia mais

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de 2007 - Página

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de 2007 - Página Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação 1 Introdução à Camada de Transporte Camada de Transporte: transporta e regula o fluxo de informações da origem até o destino, de forma confiável.

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas 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 mais

TECNOLOGIA WEB INTERNET PROTOCOLOS

TECNOLOGIA WEB INTERNET PROTOCOLOS INTERNET PROTOCOLOS 1 INTERNET Rede mundial de computadores. Também conhecida por Nuvem ou Teia. Uma rede que permite a comunicação de redes distintas entre os computadores conectados. Rede WAN Sistema

Leia mais

Camada de Transporte

Camada de Transporte Camada de Transporte Conceitos Básicos Redes de Computadores A. S. Tanenbaum Mário Meireles Teixeira. UFMA-DEINF Protocolos Protocolo: Conjunto de regras e formatos usados para comunicação entre entidades,

Leia mais

Sistemas Distribuídos. Modelos Arquiteturais

Sistemas Distribuídos. Modelos Arquiteturais 1 Sistemas Distribuídos Modelos Arquiteturais Joinvile Batista Junior Modelos Arquiteturais A : Dificuldades e Ameaças aos SDs B : Arquitetura de SDs C : Modelos de Sistemas Distribuídos D : Variações

Leia mais

milenaresende@fimes.edu.br

milenaresende@fimes.edu.br Fundação Integrada Municipal de Ensino Superior Sistemas de Informação A Internet, Intranets e Extranets milenaresende@fimes.edu.br Uso e funcionamento da Internet Os dados da pesquisa de TIC reforçam

Leia mais

1 Redes de comunicação de dados

1 Redes de comunicação de dados 1 Redes de comunicação de dados Nos anos 70 e 80 ocorreu uma fusão dos campos de ciência da computação e comunicação de dados. Isto produziu vários fatos relevantes: Não há diferenças fundamentais entre

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas 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 mais

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores Camadas de Serviço de Hardware e Software em Sistemas Distribuídos Arquiteutra de Sistemas Distribuídos Introdução Applications, services Adaptação do conjunto de slides do livro Distributed Systems, Tanembaum,

Leia mais

Redes de Computadores II

Redes de Computadores II Redes de Computadores II INTERNET Protocolos de Aplicação Intranet Prof: Ricardo Luís R. Peres As aplicações na arquitetura Internet, são implementadas de forma independente, ou seja, não existe um padrão

Leia mais

Redes de Dados. Aula 1. Introdução. Eytan Mediano

Redes de Dados. Aula 1. Introdução. Eytan Mediano Redes de Dados Aula 1 Introdução Eytan Mediano 1 6.263: Redes de Dados Aspectos fundamentais do projeto de redes e análise: Arquitetura Camadas Projeto da Topologia Protocolos Pt - a Pt (Pt= Ponto) Acesso

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

Leia mais

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Abertos Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Caracterização de Sistemas Distribuídos Coulouris, Dollimore and Kindberg. Distributed Systems: Concepts and

Leia mais

SISTEMAS DISTRIBUÍDOS (1. CICLO)

SISTEMAS DISTRIBUÍDOS (1. CICLO) SISTEMAS DISTRIBUÍDOS (1. CICLO) Capítulo 1 Introdução Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A apresentação utiliza algumas das figuras

Leia mais

Redes de Computadores (PPGI/UFRJ)

Redes de Computadores (PPGI/UFRJ) Redes de Computadores (PPGI/UFRJ) Aula 1: Apresentação do curso e revisão de interface de sockets 03 de março de 2010 1 2 O que é a Internet 3 4 Objetivos e página do curso Objetivos Apresentar a motivação,

Leia mais

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Informática I Aula 22 http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Critério de Correção do Trabalho 1 Organização: 2,0 O trabalho está bem organizado e tem uma coerência lógica. Termos

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução

Leia mais

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

Programação Distribuída

Programação Distribuída Unidade 4 Programação Distribuída Introdução de Sistemas Distribuídos Modelos de Sistemas Distribuídos Comunicação entre Processos Parte do material é retirado do Livro: From Coulouris, Dollimore and Kindberg

Leia mais

Gerência de Redes de Computadores Gerência de Redes de Computadores As redes estão ficando cada vez mais importantes para as empresas Não são mais infra-estrutura dispensável: são de missão crítica, ou

Leia mais

INTERNET = ARQUITETURA TCP/IP

INTERNET = ARQUITETURA TCP/IP Arquitetura TCP/IP Arquitetura TCP/IP INTERNET = ARQUITETURA TCP/IP gatewa y internet internet REDE REDE REDE REDE Arquitetura TCP/IP (Resumo) É útil conhecer os dois modelos de rede TCP/IP e OSI. Cada

Leia mais

ALGUNS CONCEITOS. Rede de Computadores

ALGUNS CONCEITOS. Rede de Computadores ALGUNS CONCEITOS Rede de Computadores Prof. Airton Ribeiro de Sousa E-mail: airton.ribeiros@gmail.com 1 OBJETIVO 1. Compartilhar recursos computacionais disponíveis sem considerar a localização física

Leia mais

Prof. Manuel A Rendón M

Prof. Manuel A Rendón M Prof. Manuel A Rendón M Kurose Redes de Computadores e a Internet Uma Abordagem Top-Down 5ª. Edição Pearson Cap.: 1 até 1.2.2 2.1.2 2.1.4 Como funciona uma rede? Existem princípios de orientação e estrutura?

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com O que veremos hoje... Evolução Histórica Motivação Conceitos Características

Leia mais

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. alexandref@ifes.edu.br. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. alexandref@ifes.edu.br. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim Redes TCP/IP alexandref@ifes.edu.br O que é a Internet? Milhões de elementos de computação interligados: hospedeiros = sistemas finais Executando aplicações Enlaces de comunicação: fibra, cobre, rádio,

Leia mais

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware. Camadas de Software - o Middleware Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Requerimentos para Arquitecturas Distribuídas

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Prof. Marcelo de Paiva Guimarães 1 Objetivos Apresentar uma visão geral de processamento distribuído, analisando os tópicos mais importantes sobre sistemas operacionais distribuídos,

Leia mais

Modelo de Camadas OSI

Modelo de Camadas OSI Modelo de Camadas OSI 1 Histórico Antes da década de 80 -> Surgimento das primeiras rede de dados e problemas de incompatibilidade de comunicação. Década de 80, ISO, juntamente com representantes de diversos

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Referências Caracterização de Sistemas Distribuídos Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Capítulo 9 Seções 9.1 a 9.3 Distributed Systems: concept

Leia mais

3. ( ) Para evitar a contaminação de um arquivo por vírus, é suficiente salvá-lo com a opção de compactação.

3. ( ) Para evitar a contaminação de um arquivo por vírus, é suficiente salvá-lo com a opção de compactação. 1. Com relação a segurança da informação, assinale a opção correta. a) O princípio da privacidade diz respeito à garantia de que um agente não consiga negar falsamente um ato ou documento de sua autoria.

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

UTFPR - Sistemas Distribuídos Prof. Cesar Augusto Tacla. Anotações. Copyright Cesar Augusto Tacla 2008 - 1 -

UTFPR - Sistemas Distribuídos Prof. Cesar Augusto Tacla. Anotações. Copyright Cesar Augusto Tacla 2008 - 1 - - 1 - - 2 - - 3 - Segundo (Garg, 2004), são sistemas compostos por múltiplos processadores conectados por uma rede de comunicação, sendo a rede de comunicação uma LAN (Ethernet) ou WAN (Internet). - 4

Leia mais

TRIBUNAL DE CONTAS DO DISTRITO FEDERAL

TRIBUNAL DE CONTAS DO DISTRITO FEDERAL TRIBUNAL DE CONTAS DO DISTRITO FEDERAL TÉCNICO EM ADMINISTRAÇÃO PÚBLICA E ANALISTA (EXCETO PARA O CARGO 4 e 8) GABARITO 1. (CESPE/2013/MPU/Conhecimentos Básicos para os cargos 34 e 35) Com a cloud computing,

Leia mais

Sistemas Distribuídos 59. Sistemas Distribuídos 61. "Receive não-bloqueante:

Sistemas 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 mais

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural Arquitetura e Protocolos de Rede TCP/IP Modelo Arquitetural Agenda Motivação Objetivos Histórico Família de protocolos TCP/IP Modelo de Interconexão Arquitetura em camadas Arquitetura TCP/IP Encapsulamento

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES O QUE É PROTOCOLO? Na comunicação de dados e na interligação em rede, protocolo é um padrão que especifica o formato de dados e as regras a serem seguidas. Sem protocolos, uma rede

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Universidade Federal do Pará Campus Universitário de Marabá Curso de Bacharelado em Sistemas de Informação Sistemas Distribuídos Prof.: Warley Junior warleyjunior05@gmail.com Plano de Ensino. Turma SI

Leia mais

SISTEMAS OPERACIONAIS. 01) Considere as seguintes assertivas sobre conceitos de sistemas operacionais:

SISTEMAS OPERACIONAIS. 01) Considere as seguintes assertivas sobre conceitos de sistemas operacionais: SISTEMAS OPERACIONAIS 01) Considere as seguintes assertivas sobre conceitos de sistemas operacionais: I. De forma geral, os sistemas operacionais fornecem certos conceitos e abstrações básicos, como processos,

Leia mais

Modelo de referência OSI. Modelo TCP/IP e Internet de cinco camadas

Modelo de referência OSI. Modelo TCP/IP e Internet de cinco camadas Modelo de referência OSI. Modelo TCP/IP e Internet de cinco camadas Conhecer os modelo OSI, e TCP/IP de cinco camadas. É importante ter um padrão para a interoperabilidade entre os sistemas para não ficarmos

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática /

Leia mais

A Camada de Rede. A Camada de Rede

A Camada de Rede. A Camada de Rede Revisão Parte 5 2011 Modelo de Referência TCP/IP Camada de Aplicação Camada de Transporte Camada de Rede Camada de Enlace de Dados Camada de Física Funções Principais 1. Prestar serviços à Camada de Transporte.

Leia mais

AGENTE PROFISSIONAL - ANALISTA DE REDES

AGENTE PROFISSIONAL - ANALISTA DE REDES Página 1 CONHECIMENTO ESPECÍFICO 01. Suponha um usuário acessando a Internet por meio de um enlace de 256K bps. O tempo mínimo necessário para transferir um arquivo de 1M byte é da ordem de A) 4 segundos.

Leia mais

Capítulo 5 Noções sobre TCP/IP

Capítulo 5 Noções sobre TCP/IP Capítulo 5 Noções sobre TCP/IP Endereços IP Arquitetura TCP/IP DHCP Redes classe A, B e C Protocolos TCP/IP Estudos complementares 3 Estudos complementares Consulte os capítulos 5 e 12 do livro: Capítulo

Leia mais

FACSENAC. Versão:1.5. Identificador do documento: Projeto Lógico de Redes. Versão do Template Utilizada na Confecção: 1.0. Histórico de revisões

FACSENAC. Versão:1.5. Identificador do documento: Projeto Lógico de Redes. Versão do Template Utilizada na Confecção: 1.0. Histórico de revisões FACSENAC ECOFROTA Documento de Projeto Lógico de Rede Versão:1.5 Data: 21/11/2013 Identificador do documento: Projeto Lógico de Redes Versão do Template Utilizada na Confecção: 1.0 Localização: FacSenac

Leia mais

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Abertos Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Caracterização de Sistemas Distribuídos Coulouris, Dollimore and Kindberg. Distributed Systems: Concepts and

Leia mais

Capítulo 8 - Aplicações em Redes

Capítulo 8 - Aplicações em Redes Capítulo 8 - Aplicações em Redes Prof. Othon Marcelo Nunes Batista Mestre em Informática 1 de 31 Roteiro Sistemas Operacionais em Rede Modelo Cliente-Servidor Modelo P2P (Peer-To-Peer) Aplicações e Protocolos

Leia mais

MASSACHUSETTS INSTITUTE OF TECHNOLOGY SLOAN SCHOOL OF MANAGEMENT. Fatores Tecnológicos, Estratégicos e Organizacionais

MASSACHUSETTS INSTITUTE OF TECHNOLOGY SLOAN SCHOOL OF MANAGEMENT. Fatores Tecnológicos, Estratégicos e Organizacionais MASSACHUSETTS INSTITUTE OF TECHNOLOGY SLOAN SCHOOL OF MANAGEMENT 15.565 Integração de Sistemas de Informação: Fatores Tecnológicos, Estratégicos e Organizacionais 15.578 Sistemas de Informação Global:

Leia mais

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet: Comunicação em uma rede Ethernet A comunicação em uma rede local comutada ocorre de três formas: unicast, broadcast e multicast: -Unicast: Comunicação na qual um quadro é enviado de um host e endereçado

Leia mais

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural Arquitetura e Protocolos de Rede TCP/IP Modelo Arquitetural Motivação Realidade Atual Ampla adoção das diversas tecnologias de redes de computadores Evolução das tecnologias de comunicação Redução dos

Leia mais

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br Sistemas Distribuídos Introdução Edeyson Andrade Gomes www.edeyson.com.br Agenda Definição de Sistemas Distribuídos Evolução Histórica Exemplos Comparação com Sistemas Centralizados Conclusão 2 Definição

Leia mais

Sistemas 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 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 mais