Processos, Threads e o Modelo Cliente/Servidor

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

Download "Processos, Threads e o Modelo Cliente/Servidor"

Transcrição

1 Processos, Threads e o Modelo Cliente/Servidor Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA 29 de novembro de 2011 Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

2 Agenda 1 Threads em Sistemas Distribuídos 2 Migração de Código 3 Modelo Cliente/Servidor 4 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor 5 Questões de Projeto de Aplicações Servidoras Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

3 Threads em Sistemas Distribuídos Threads em Sistemas Distribuídos Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

4 Threads em Sistemas Distribuídos Introdução Processos formam um importante bloco de construção em sistemas distribuídos; Operações envolvendo processos (criação, destruição, comunicação) são relativamente caras. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

5 Threads em Sistemas Distribuídos Definição de Thread Mecanismo que permite a um processo ter mais de um fluxo de controle; Threads compartilham o mesmo espaço de endereçamento. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

6 Threads em Sistemas Distribuídos Threads em Sistemas não Distribuídos: Benefícios O processo inteiro não necessita ficar bloqueado ao realizar uma chamada bloqueante ao sistema; Exemplo de uso: planilha de cálculo Pode-se explorar paralelismo em sistemas multiprocessados; Simplifica o desenvolvimento de aplicações inerentemente concorrentes; Melhor desempenho para aplicações complexas que tradicionalmente eram implementadas através de múltiplos processos comunicando-se através de mecanismos IPCs Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

7 Threads em Sistemas Distribuídos Threads em Sistemas Distribuídos: Clientes multithreaded Clientes multithreaded. Exemplo: Web Browsers: Documento HTML consiste de um arquivo de texto e vários outros de imagens, ícones, etc... Pode-se esconder a grande latência na comunicação apresentando cada objeto assim que estiver disponível: estabelecimento de múltiplas conexões Melhoria no desempenho geral pode ser obtido no caso de servidores Web replicados em várias máquinas. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

8 Threads em Sistemas Distribuídos Threads em Sistemas Distribuídos: Múltiplos RPCs Considere um cliente que realiza diversos RPCs, cada um para uma thread diferente; Ele deve esperar o retorno de cada resultado; Alternativamente, poder-se-ia realizar as RPCs através de threads independentes; Se as RPCs são destinadas a servidores diferentes, pode-se esperar um ganho linear, se comparado a realizar uma RPC após a outra. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

9 Threads em Sistemas Distribuídos Servidores multithreaded: Objetivos Melhor desempenho: Iniciar uma thread para tratar uma requisição custa menos que iniciar um novo processo; Servidores que possuem uma única thread não são escaláveis a sistemas multiprocessados; Pode-se esconder a latência da rede, reagindo a uma nova requisição enquanto os resultados da anterior estiverem sendo entregues. Melhor estrutura: Muitos servidores demandam fortemente E/S. A utilização de chamadas bloqueantes simplifica a estrutura do código; Programas multithreaded tendem a ser menores e mais fáceis de entender, por possuírem um fluxo de controle simplificado. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

10 Threads em Sistemas Distribuídos Servidores multithreaded Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

11 Threads em Sistemas Distribuídos Sincronização de Programas Concorrentes Semáforos; Monitores. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

12 Migração de Código Migração de Código Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

13 Migração de Código Migração de Código Carzaniga et al. define mobilidade de código como a capacidade de mudar dinamicamente as ligações entre o código e a localização onde executa. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

14 Migração de Código Migração de Código: Motivações Melhoria do desempenho global: processos podem ser movidos de máquinas muito carregadas para máquinas com cargas mais leves. Carga é usualmente expressa em termos do comprimento da fila de processos da CPU ou de sua utilização; Diminuição da carga na rede: Exemplo: uma aplicação cliente que requeira muitas operações em banco de dados ou validação de formulário no cliente; Exploração de processamento paralelo: Exemplo: busca de informações na Web através de várias instâncias de um agente móvel; Extensão dinâmica da funcionalidade de aplicações: Exemplo: descoberta dinâmica de recursos e vinculação do código cliente apenas quando for necessário o acesso ao servidor; Em grades oportunistas, liberação dos recursos da máquina. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

15 Migração de Código Migração de Código: Cuidados relacionados à Segurança Confiar cegamente em um código carregado dinamicamente nem sempre é uma boa ideia... Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

16 Migração de Código Migração de Código: Necessidades Para efetuar a migração de um processo, algumas informações de estado (também chamadas de contexto) devem ser salvas e transportadas para sua nova localização; Fuggetta descreve que um processo consiste basicamente de três segmentos: segmento de código, segmento de recursos e segmento de execução. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

17 Migração de Código Alternativas para Migração de Código Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

18 Migração de Código Alternativas para Migração de Código Migração Forte: mecanismo que migre os três segmentos e reinicia o processo exatamente no mesmo estado e na mesma posição de código em que ele estava antes da migração Migração Fraca: somente o segmento de código é transferido e talvez alguns dados de inicialização. O programa transferido é sempre executado a partir de seu estado inicial; Migração é iniciada pelo emissor (proativa): a aplicação deixa o local onde está executando e migra para uma outra localidade na rede por iniciativa própria (e.g. programas de busca em bases de dados na web); Migração iniciada pelo receptor (reativa): a iniciativa da migração parte de uma aplicação executando na máquina de destino (e.g. applets Java). Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

19 Migração de Código Migração Forçada Expressa a habilidade do sistema em suportar a migração de um processo a qualquer momento, mediante a solicitação de uma entidade externa; Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

20 Migração de Código Etapas do Processo de Migração Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

21 Migração de Código Etapas do processo de migração 1 O fluxo de execução é interrompido; 2 O estado da entidade a ser migrada é capturado; 3 O código e o estado da entidade migrada são transportados para a máquina de destino; 4 O código e o estado da entidade migrada são restaurados; 5 A execução é reiniciada. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

22 Migração de Código Migração de Recursos Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

23 Migração de Código Migração de Recursos 1 Recurso compartilhado: após o término do processo de migração o acesso ao recurso continua disponível (e.g. uma impressora de rede); 2 Recurso já disponível: Exemplo: uma aplicação gera uma série de arquivos de saída em uma unidade de fita. Após a migração, a nova máquina na qual a aplicação executa também tenha disponível uma unidade de fita. A aplicação poderá continuar a gerar os arquivos de saída no novo dispositivo; 3 Recurso referenciado: a referência ao recurso utilizado é migrada juntamente com o seu estado e seu código. Assim, ao chegar em seu destino, ele deve tentar se reconectar através da rede ao recurso na antiga máquina. Exemplo: uma base de dados; 4 Recurso despachado: o recurso deverá ser migrado inteiramente junto com o estado e o código da aplicação. Exemplo: arquivos utilizados pela aplicação. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

24 Migração de Código Tipos de Recursos Fixos: os recursos não podem ser migrados. Exemplo: hardware local; Vinculados: os recursos podem, a princípio, serem migrados mas a um alto custo; Não vinculados: os recursos podem facilmente serem movidos junto com o objeto. Exemplo: uma cache. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

25 Migração de Código Vinculação Objeto-Recurso Por identificador: o objeto requer uma instância específica do recurso. Exemplo: um banco de dados específico; Por valor: o objeto requer o valor de um recurso. Exemplo: entradas na cache; Por tipo: o objeto requer somente que um dado tipo de objeto esteja disponível. Exemplo: monitor colorido. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

26 Migração de Código Ações de Migração Relativas aos Recursos Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

27 Migração de Código Migração em Sistemas Heterogêneos Principal problema: A máquina alvo pode não ser adequada para execução do código migrado; O contexto do processo/thread é dependente do hardware local, sistema operacional e ambiente de execução. Solução: utilização de uma máquina abstrata implementada em diferentes plataformas; Soluções atuais: Uso de linguagens interpretadas que executam em uma máquina virtual, como Java; Uso de VMMs (Virtual Machine Monitors), o que permite a migração completa do sistema operacional junto com as aplicações. Exemplo: substituição de uma máquina em um cluster, um ambiente de computação de longo tempo de execução. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

28 Modelo Cliente/Servidor Modelo Cliente/Servidor Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

29 Modelo Cliente/Servidor Introdução ao Modelo Cliente/Servidor Uma questão fundamental em sistemas distribuídos é a definição de como devemos organizar os processos; Um modelo bastante popular organiza os processos em clientes que requisitam serviços de servidores. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

30 Modelo Cliente/Servidor Comunicação Cliente Servidor Através de um protocolo simples sem conexão Utilizado quando a rede é razoavelmente confiável, como a maioria das LANs; Vantagem: eficiência; Desvantagem: dificuldades de tornar a aplicação resistente a falhas de transmissão; Se o cliente não recebe resposta, ele não tem como detectar se a mensagem original foi perdida ou se isto ocorreu com a resposta; O cliente pode reenviar a requisição; Para requisições como retorne o saldo da minha conta isto não gera problemas mas para mensagens do tipo transfira ,00 da minha conta o reenvio da requisição seria desastroso. Através de protocolo confiável orientado a conexão Desvantagem: desempenho relativamente baixo; Funciona muito bem em WANs; Exemplo: praticamente todas as aplicações na Internet utilizam conexões TCP/IP. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

31 Modelo Cliente/Servidor Exemplo CS: Arquivo de Cabeçalho Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

32 Modelo Cliente/Servidor Exemplo CS: um Servidor Simples Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

33 Modelo Cliente/Servidor Exemplo CS: um Cliente Simples Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

34 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

35 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Camadas de uma Aplicação Uma aplicação CS pode ser estruturada em três níveis: 1 Interface com o usuário 2 Processamento 3 Dados Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

36 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Camada de Interface com o Usuário Consiste dos programas que permitem a interação dos usuários com a aplicação; Pode ser muito simples, utilizando uma interface a caractere simples ou mais sofisticado utilizando interfaces gráficas; Exemplo simples: interface de terminal onde o mainframe controla toda a interação inclusive o monitor e teclado; Exemplo sofisticado: Interface de sistema que permite ao usuário arrastar o ícone que representa o arquivo para uma lixeira provocando sua exclusão. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

37 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Camada de Processamento Contêm a funcionalidade principal da aplicação; Exemplo: uma ferramenta de busca na Internet; Ela deve transformar a string que o usuário digitou em uma ou mais consultas a um grande banco de dados e formatar os resultados obtidos em páginas HTML a serem apresentadas para o usuário. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

38 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Exemplo: Ferramenta de Busca Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

39 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Camada de Dados Na sua forma mais simples consiste de um sistema de arquivos mas é comum que sejam utilizados banco de dados; Além de apenas armazenar dados pode também também tratar sua consistência e realizar funções como gerar uma notificação quando uma dada condição ocorrer; Estas ações são muitas vezes implementadas através de stored procedures. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

40 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Um Segundo Exemplo Considere um sistema de suporte à decisão para uma corretora de valores: Uma camada frontal implementa a interface com o usuário; Uma camada de dados armazena os dados financeiros; Uma camada de processamento realiza a análise dos dados, o que eventualmente exige métodos e técnicas sofisticados de estatística e inteligência artificial. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

41 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Arquiteturas Multi-divididas A distinção entre os três níveis lógicos sugere várias possibilidades para a distribuição física de uma aplicação C/S; A organização mais simples requer apenas dois tipos de máquinas: 1 Cliente: que executa os programas que compreendem a interface com o usuário; 2 Servidor: que implementa as camadas de processamento e de dados. Esta organização é conhecida como Cliente/Servidor em duas camadas; No entanto, diversas outras arquiteturas podem ser utilizadas. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

42 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Possíveis Organizações Cliente/Servidor Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

43 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Alternativas de Organização Cliente/Servidor (a) Na alternativa (a), executa-se no cliente só a parte da interface dependente do terminal; Na alternativa (b), todo o software de interface com usuário executa no cliente; Exemplo da alternativa (c): verificação de consistência do preenchimento de um formulário feito no cliente; Na alternativa (d), a aplicação executa na máquina cliente, indo para o servidor somente as operações sobre as base de dados. Exemplo: muitas aplicações bancárias; Na alternativa (e), o disco local no cliente mantêm parte dos dados. Exemplo: browser web mantendo uma cache; Recentemente tem-se evitado as alternativas (d) e (e) devido a problemas de gerenciamento e por tornar o sofware cliente dependente da plataforma subjacente do cliente; Clientes gordos (abordagens (d) e (e)); Clientes magros (abordagens (a) a (c)): mais fáceis de gerenciar. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

44 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Arquitetura em Três Camadas A divisão vista anteriormente apresenta diversas possibilidades de distinção entre máquinas clientes e servidoras; No entanto, um servidor pode também agir como cliente, resultando em uma arquitetura em três níveis: Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

45 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Arquitetura em Três Camadas Nesta arquitetura, programas que formam o nível de processamento residem em um servidor separado; Um exemplo típico é o processamento de transações, onde o monitor de transações coordena as transações em servidores de dados possivelmente diferentes; Outro exemplo é a organização usual de sites na Web, onde o servidor Web age como ponto de entrada para um site, passando requisições para um servidor de aplicação no qual ocorre o processamento propriamente dito. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

46 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Servidores de Aplicação São softwares que fornecem uma infraestrutura de serviços para a execução de aplicações distribuídas; São executados em servidores e são acessados pelos clientes através de uma conexão de rede; Vantagem: simplificam o desenvolvimento de aplicações através dos serviços implementados, fazendo com que os desenvolvedores possam concentrar a maior parte do tempo na implementação da lógica de negócio; Serviços típicos: integração com bancos de dados, segurança, garantia de disponibilidade, balanceamento de carga e tratamento de exceções; Exemplos: WebLogic Server (BEA), JBoss (Red Hat), WebSphere Application Server (IBM), JRun (Adobe), Apache Geronimo (Apache Software Foundation), Oracle OC4J (Oracle Corporation), Sun Java System Application Server (Sun Microsystems), Glassfish, Appaserver, Base4 e Zope. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

47 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Distribuição Horizontal A distribuição do modelo CS em múltiplas camadas vista anteriormente é conhecida por distribuição vertical; O modelo CS pode também ser distribuído horizontalmente, dividindo-se o cliente ou servidor em partes logicamente equivalentes; Um exemplo popular é um servidor Web replicado em várias máquinas de forma a prover um balanceamento da carga de trabalho. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

48 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Distribuição Horizontal de Servidor Web Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

49 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Cluster de Servidores Conjunto de máquinas conectadas por uma rede de alta largura e baixa latência onde cada máquina executa um ou mais servidores; Normalmente organizado logicamente em três camadas: 1 Comutador: responsável pelo roteamento das requisições de clientes; 2 Servidores de aplicação / computação; 3 Sistema distribuído de arquivos / banco de dados. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

50 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Cluster de Servidores Logical switch (possibly multiple) Application/compute servers Distributed file/database system Client requests Dispatched request First tier Second tier Third tier Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

51 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Comutadores de Camada de Transporte O comutador aceita requisições de conexão TCP; Ele identifica o melhor servidor para tratar a requisição e repassa o pacote a ele; O servidor enviará a resposta ao cliente requisitante, mas insere o endereço IP do comutador como endereço fonte no cabeçalho do pacote IP, realizando uma falsificação (spoofing). Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

52 Distribuição Horizontal e Vertical do Modelo Cliente/Servidor Comutadores de Camada de Transporte Logically a single TCP connection Response Server Client Request Switch Request (handed off) Server Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

53 Questões de Projeto de Aplicações Servidoras Questões de Projeto de Aplicações Servidoras Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

54 Questões de Projeto de Aplicações Servidoras Organização de Servidores Servidor interativo: o próprio servidor manipula a requisição e, se necessário, retorna uma resposta ao cliente; Servidor concorrente: repassa para uma thread ou processo em separado a requisição e imediatamente espera pela próxima requisição. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

55 Questões de Projeto de Aplicações Servidoras Vinculação Cliente-Servidor Através de portas conhecidas designadas pela Autoridade para Atribuição de Números na Internet (Iana). Ex: FTP-21, HTTP-80 Através de um daemon que registra os servidores em execução; Através de um super-servidor, que escuta em várias portas e repassa a requisição a um servidor específico. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

56 Questões de Projeto de Aplicações Servidoras Vinculação Cliente-Servidor Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

57 Questões de Projeto de Aplicações Servidoras Interrupção do Servidor Exemplo: usuário deseja interromper a transferência de um enorme arquivo para o servidor FTP; Uma abordagem é o usuário sair abruptamente da aplicação cliente, o que automaticamente interromperá a conexão com o servidor; O servidor encerrará a conexão antiga, entendendo que o cliente falhou; Esta prática é muito adotada na Internet atual... Outra alternativa é permitir o envio de dados fora da banda; Neste caso o servidor pode escutar em uma porta de controle separada da qual passam os dados normais. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

58 Questões de Projeto de Aplicações Servidoras Servidores Com e Sem Estado 1 Sem Manter Estado: Não é mantida nenhuma informação a respeito dos clientes e suas requisições; Exemplo: um servidor Web tipicamente não armazena estado. Após a requisição ser processada, o servidor Web esquece completamente do cliente; Cada requisição deve ser auto-contida; Fácil recuperação em caso de falha. 2 Mantendo Estado: O servidor mantêm informações persistentes sobre seus clientes; Exemplo: um servidor de arquivo que sabe quais clientes possuem quais arquivos abertos; Normalmente leva a um melhor desempenho na execução das operações disponibilizadas; Em caso de falha, deve-se recurar o estado do servidor. Francisco Silva (UFMA/LSD) Cliente/Servidor 29 de novembro de / 58

Arquiteturas. capítulo

Arquiteturas. capítulo Arquiteturas capítulo 2 Modelos de arquitetura de sistemas distribuídos Clientes realizam pedidos a servidores Client invocation invocation Server result Server result Client Key: Process: Computer: Modelos

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

Processos ca 3 pítulo

Processos ca 3 pítulo Processos capítulo 3 Introdução: Threads Para executar um programa, o sistema operacional cria um determinado números de processos virtuais. O sistema operacional mantém uma tabela de processos que contém

Leia mais

ach 2147 desenvolvimento de sistemas de informação distribuídos

ach 2147 desenvolvimento de sistemas de informação distribuídos ach 2147 desenvolvimento de sistemas de informação distribuídos arquiteturas e processos de sistemas distribuídos Daniel Cordeiro 18 e 20 de abril de 2017 Escola de Artes, Ciências e Humanidades EACH USP

Leia mais

Sistemas Distribuídos Capítulo 3 - Aula 3

Sistemas Distribuídos Capítulo 3 - Aula 3 Sistemas Distribuídos Capítulo 3 - Aula 3 Aula passada Arquitetura de SDs Estilo Arquitetônico Arquitetura de Sistemas Sistemas Autogerenciáveis Aula de hoje Threads Threads em SDs Processos Clientes Processos

Leia mais

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião Processos Sistemas operacionais modernos criam vários processadores virtuais, cada um para executar um programa. Para monitorar

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens Roteiro... Conceitos de SD, vantagens e desvantagens Infra-estrutura de um SD Considerações de projeto Sistemas Distribuídos Aula 4 Karine de Pinho Peralta Modelos de Comunicação - comunicação entre processos

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Processos Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 - Processos Conceito originado do campos de sistemas operacionais no qual, em geral, são definidos como programas em execução

Leia mais

Fundamentos de Sistemas Operacionais. Threads. Prof. Edwar Saliba Júnior Março de Unidade Threads

Fundamentos de Sistemas Operacionais. Threads. Prof. Edwar Saliba Júnior Março de Unidade Threads Threads Prof. Edwar Saliba Júnior Março de 2007 1 Definição Partes de um processo que compartilham mesmo espaço de endereçamento Sub-rotina de um programa executada paralelamente ao programa chamador (execução

Leia mais

Camada de Aplicação da Arquitetura TCP/IP

Camada de Aplicação da Arquitetura TCP/IP Arquitetura de Redes de Computadores e Tecnologia de Implementação de Redes 2016.1 Camada de Aplicação da Arquitetura TCP/IP Curso Técnico Integrado em Informática Turma: INT.INF.3M Arquitetura de Redes

Leia mais

Prof. Marcelo Cunha Parte 6

Prof. Marcelo Cunha Parte 6 Prof. Marcelo Cunha Parte 6 www.marcelomachado.com ARP (Address Resolution Protocol) Protocolo responsável por fazer a conversão entre os endereços IPs e os endereços MAC da rede; Exemplo: Em uma rede

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.

Leia mais

Introdução à Informática. Aula 05. Redes de Computadores. Prof. Fábio Nelson

Introdução à Informática. Aula 05. Redes de Computadores. Prof. Fábio Nelson Aula 05 Redes de Computadores Sistemas de Comunicação de Dados Sistemas computadorizados que transmitem dados por meio de linhas de comunicação, como, por exemplo, linhas telefônicas ou cabos. História:

Leia mais

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 13

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 13 INTRODUÇÃO AOS SISTEMAS OPERACIONAIS outubro/2013 SEMANA 13 Conceitos sobre s. Visão geral, s de usuário e de, modelos de multiing, ciclo de vida. Exemplos nos sistemas operacionais. 1 - Introdução Thread

Leia mais

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 11ª Aula Threads Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano baseados no livro

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Introdução Slide 1 Nielsen C. Damasceno Introdução Tanenbaum (2007) definiu que um sistema distribuído é aquele que se apresenta aos seus usuários como um sistema centralizado, mas

Leia mais

O que é um sistema distribuído?

O que é um sistema distribuído? Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores

Leia mais

Nuvem e Virtualização Redes Programáveis

Nuvem e Virtualização Redes Programáveis Nuvem e Virtualização Redes Programáveis Visão Geral da Nuvem A computação em nuvem envolve muitos computadores conectados em uma rede, possibilitando que eles sejam fisicamente localizados em qualquer

Leia mais

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU SOP - TADS Threads Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula Processos [1/3] Conceito:

Leia mais

Estruturas de Sistemas Operacionais

Estruturas de Sistemas Operacionais Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema

Leia mais

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores Fundamentos de Sistemas Operacionais de Arquitetura Aberta CST em Redes de Computadores Introdução Computadores Computadores são compostos, basicamente, de CPU, memória e dispositivos de entrada e saída

Leia mais

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles. Web Services Web Service é um componente de software identificado por uma URI que independe de implementação ou de plataforma e pode ser descrito, publicado e invocado sobre uma rede por meio de mensagens

Leia mais

Arquitetura de Computadores Sistemas Operacionais II

Arquitetura de Computadores Sistemas Operacionais II Definição de Processo Arquitetura de Computadores Sistemas Operacionais II Processo é o mesmo de Programa? Programa Estrutura estática Instruções + Dados Processo Entidade Ativa Instância de um Programa

Leia mais

Replicação em sistemas web

Replicação em sistemas web Sistemas Distribuídos abril de 2018 Servidores Web tolerância a falhas desempenho/escalabilidade desempenho: uso de servidores mais potentes (scale-up x scale-out) caching uso de servidores replicados

Leia mais

Java para Web & EJB. Teoria, prática e questões Módulo Introdução e Servlets

Java para Web & EJB. Teoria, prática e questões Módulo Introdução e Servlets Java para Web & EJB Teoria, prática e questões Módulo Introdução e Servlets Introdução ao Desenvolvimento Web com Java Tópicos Aplicações, componentes e containers web Aplicações web Modelo de aplicações

Leia mais

Características de Sistemas Distribuídos

Características de Sistemas Distribuídos Características de Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br 2002-2003 Carlos A. G. Ferraz 2 Tópicos O conceito de Sistemas Distribuídos Infra-estrutura básica Exemplos Vantagens e desvantagens

Leia mais

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização Hardware: Componentes Básicos Arquitetura dos Computadores Dispositivos de Entrada Processamento Dispositivos de Saída Armazenamento Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Sistema de

Leia mais

Bruno Antunes da Silva UFSCar - Sorocaba

Bruno Antunes da Silva UFSCar - Sorocaba Bruno Antunes da Silva UFSCar - Sorocaba Introdução HDFS Arquitetura Leitura e escrita Distribuição de nós Controle de réplicas Balancer MapReduce Conclusão Aplicações web com grandes quantidades de dados

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Introdução aos Sistemas Distribuídos 1 Sumário Evolução Problema/Contexto O que é um Sistema Distribuído? Vantagens e Desvantagens

Leia mais

Replicação em sistemas web

Replicação em sistemas web Sistemas Distribuídos maio de 2015 Servidores Web tolerância a falhas desempenho/escalabilidade desempenho: uso de servidores mais potentes (scale-up x scale-out) caching Servidores Web tolerância a falhas

Leia mais

Backup e Restauração Banco de Dados. Evandro Deliberal

Backup e Restauração Banco de Dados. Evandro Deliberal Backup e Restauração Banco de Dados Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal Redes de armazenamento: Tecnologias e Virtualização Agenda I. DAS e Introdução a

Leia mais

Disciplina: Redes de Computadores I (R1)

Disciplina: Redes de Computadores I (R1) UNIVERSIDADE FEDERAL DO PIAUI UFPI Colégio Técnico de Teresina CTT Professor: José Valdemir dos Reis Junior Disciplina: Redes de Computadores I (R1) 56. Uma das desvantagens da utilização de redes de computadores

Leia mais

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 9 Threads Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Threads Uma thread

Leia mais

ARQUITETURA DE SISTEMAS OPERACIONAIS. VISÃO GERAL DE UM SISTEMA OPERACIONAL Prof. André Luís Alves E. M. DR. LEANDRO FRANCESCHINI

ARQUITETURA DE SISTEMAS OPERACIONAIS. VISÃO GERAL DE UM SISTEMA OPERACIONAL Prof. André Luís Alves E. M. DR. LEANDRO FRANCESCHINI ARQUITETURA DE SISTEMAS OPERACIONAIS VISÃO GERAL DE UM SISTEMA OPERACIONAL Prof. André Luís Alves E. M. DR. LEANDRO FRANCESCHINI INTRODUÇÃO Programas computacionais (ou software) constituem o elo entre

Leia mais

SISTEMAS OPERACIONAIS DE REDE

SISTEMAS OPERACIONAIS DE REDE SISTEMAS OPERACIONAIS DE REDE Questão 01 O sistema operacional gerencia o sistema de arquivos, que irá armazenar as informações/arquivos. Para esta tarefa, durante a formatação do disco rígido, são criados

Leia mais

Características de Sistemas Distribuídos

Características de Sistemas Distribuídos Tópicos O conceito de Características de Carlos Ferraz cagf@cin.ufpe.br Infra-estrutura básica Exemplos Vantagens e desvantagens Convergência digital Características 2002-2003 Carlos A. G. Ferraz 2 O Conceito

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Thaís Vasconcelos Batista UFRN DIMAp http://www.dimap.ufrn.br/~thais thais@ufrnet.br Programa do Curso INTRODUÇÃO Conceitos Básicos Sistemas em Rede X Sistemas Distribuídos Necessidade

Leia mais

14/08/2009. Módulo 4

14/08/2009. Módulo 4 ASP.NET Módulo 4 Objetivo Apresentar ao aluno os conceitos do ASP.Net, suas características e funcionamento; Demonstrar como deve ser criado um Web site; Criação de web form; Mostrar os principais controles

Leia mais

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão Unidade 5 Camada de Transporte e Aplicação Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 5.1 Protocolo UDP 5.2 Protocolo TCP 5.3 Principias Protocolos de Aplicação 5.3.1 SMTP

Leia mais

Gerenciamento de Redes: Protocolo SNMP

Gerenciamento de Redes: Protocolo SNMP Gerenciamento de Redes: Protocolo SNMP Protocolo SNMP (do inglês Simple Network Management Protocol Protocolo Simples de Gerência de Rede) é um protocolo usado para gerenciar redes TCP/IP complexas. Com

Leia mais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais Sistemas Operacionais e Introdução à Programação Módulo 1 Sistemas Operacionais 1 Competências: SOP 1. Compreender as abstrações de um sistema operacional e operar um sistema operacional Unix/Linux como

Leia mais

Prof. Samuel Henrique Bucke Brito

Prof. Samuel Henrique Bucke Brito RM-OSI: Modelo de Referência www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito Quando surgiram as redes de computadores havia um grande problema de compatibilidade entre

Leia mais

Sistema centralizado O Paradigma Cliente/Servidor

Sistema centralizado O Paradigma Cliente/Servidor centralizado O Paradigma Cliente/Servidor Computador central (mainframe) + conjunto de terminais + recursos centralizados recursos mainframe terminais 2 distribuído Relações entre entidades Grupo de computadores

Leia mais

Matéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto

Matéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto Matéria: Sistema Computacional - SC Prof.: Esp.: Patrícia Dias da Silva Peixoto SISTEMA OPERACIONAL E TIPOS DE SISTEMAS OPERACIONAIS O QUE É UM SISTEMA OPERACIONAL (S.O.). Por mais complexo que possa parecer,

Leia mais

TELECOMUNICAÇÕES Prof. Ricardo Rodrigues Barcelar

TELECOMUNICAÇÕES Prof. Ricardo Rodrigues Barcelar - Aula 0 - REVISÃO DE REDES DE COMPUTADORES 1. INTRODUÇÃO Esta é uma revisão que visa trazer a tona alguns conceitos vistos na disciplina de Redes de Computadores vistos no semestre passado. 2. REVISÃO

Leia mais

Cliente-servidor Código móvel Agentes de software Processos pares. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Cliente-servidor Código móvel Agentes de software Processos pares. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR n n n n Cliente-servidor Código móvel Agentes de software Processos pares Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Arquiteturas em Sistemas Distribuídos Cliente- Servidor Client invocation

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana, Prof. Dra. Regina Helena Carlucci Santana e Sarita Mazzini Bruschi baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum

Leia mais

SISTEMAS OPERACIONAIS DE REDE

SISTEMAS OPERACIONAIS DE REDE ESPECIALIZAÇÃO EM REDES E COMPUTAÇÃO DISTRIBUÍDA 2011/1 Edital 005/2011 PROVA OBJETIVA Página 1 de 5 SISTEMAS OPERACIONAIS DE REDE Questão 01 Qual a função de um servidor DNS (Domain Name System)? a) Servir

Leia mais

Arquitectura de Sistemas Paralelos e Distribuídos Modelos de Sistemas

Arquitectura de Sistemas Paralelos e Distribuídos Modelos de Sistemas Modelos de Sistemas MSc. Eugénio Alberto Macumbe Modelos de Sistemas Um modelo de arquitectura de SD está preocupado com a localização das partes e o relacionamento entre elas. Os exemplos incluem os modelos

Leia mais

Gerenciador de Banco de Dados

Gerenciador de Banco de Dados Gerenciador de Banco de Dados Os bancos de dados requerem tipicamente um grande espaço de armazenamento. Os bancos de dados corporativos são medidos geralmente em gigabytes, ou, para os maiores, terabytes

Leia mais

Arquiteturas de Sistemas Distribuídos

Arquiteturas de Sistemas Distribuídos Arquiteturas de Sistemas Distribuídos Sistema distribuído O processamento de informações é distribuído em vários computadores ao invés de confinado em uma única máquina. Bastante comum em qualquer organização

Leia mais

PTC Aula Princípios das aplicações de rede 2.2 A Web e o HTTP. (Kurose, p ) (Peterson, p ) 21/03/2017

PTC Aula Princípios das aplicações de rede 2.2 A Web e o HTTP. (Kurose, p ) (Peterson, p ) 21/03/2017 PTC 3450 - Aula 05 2.1 Princípios das aplicações de rede 2.2 A Web e o HTTP (Kurose, p. 62-73) (Peterson, p. 425-444) 21/03/2017 Muitos slides adaptados com autorização de J.F Kurose and K.W. Ross, All

Leia mais

Programação com Sockets

Programação com Sockets Programação com LP4 Ciência da Computação 1 Comunicação entre processos Nível mais baixo É um tipo particular de modelo de programação em redes utilizado em várias linguagens como: C, C++ e Java São estruturas

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

Flávia Rodrigues. Silves, 26 de Abril de 2010

Flávia Rodrigues. Silves, 26 de Abril de 2010 Flávia Rodrigues STC5 _ Redes de Informação e Comunicação Silves, 26 de Abril de 2010 Vantagens e Desvantagens da Tecnologia Acessibilidade, quer a nível pessoal quer a nível profissional; Pode-se processar

Leia mais

Arquiteturas. Capítulo 2

Arquiteturas. Capítulo 2 Arquiteturas Capítulo 2 Agenda Estilos Arquitetônicos Arquiteturas de Sistemas Arquiteturas Centralizadas Arquiteturas Descentralizadas Arquiteturas Híbridas Arquiteturas e Middleware Sistemas Distribuídos

Leia mais

Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operacionais 1 Introdução aos Sistemas Operacionais 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Conceitos sobre sistemas operacionais 1.5 Chamadas

Leia mais

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS Marcelo Henrique dos Santos Marcelo Henrique dos Santos Email: Site: marcelosantos@outlook.com www.marcelohsantos.com.br TECNOLOGIA EM JOGOS

Leia mais

SISTEMAS DISTRIBUÍDOS ARQUITETURAS. Slides cedidos pela Professora Aline Nascimento

SISTEMAS DISTRIBUÍDOS ARQUITETURAS. Slides cedidos pela Professora Aline Nascimento SISTEMAS DISTRIBUÍDOS ARQUITETURAS Slides cedidos pela Professora Aline Nascimento INTRODUÇÃO A organização dos SDs trata em grande parte dos componentes de software que constituem o sistema Os componentes

Leia mais

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA: Sistemas Distribuídos Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com! EMENTA: Plano de Curso! Conceitos. Comunicação entre processos (IPC). Programação de aplicações cliente- servidor. Sincronização

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

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1 Conceito Básicos de Programação com Objetos Distribuídos Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1 Autoria Autor C. Geyer Local Instituto de Informática UFRGS disciplina : Programação

Leia mais

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I Arquitetura de Rede Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I 2 Tipos de arquiteturas Cliente-Servidor Peer-to-Peer Arquitetura Híbrida Cliente-Servidor

Leia mais

Redes de Computadores. Disciplina: Informática Prof. Higor Morais

Redes de Computadores. Disciplina: Informática Prof. Higor Morais Redes de Computadores Disciplina: Informática Prof. Higor Morais 1 Agenda Sistemas de Comunicação Histórico das Redes de Comunicação de Dados Mídias de Comunicação Meios de Transmissão Padrões e Protocolos

Leia mais

SISTEMAS DISTRIBUÍDOS PROCESSOS. Slides cedidos pela professora Aline Nascimento

SISTEMAS DISTRIBUÍDOS PROCESSOS. Slides cedidos pela professora Aline Nascimento SISTEMAS DISTRIBUÍDOS PROCESSOS Slides cedidos pela professora Aline Nascimento INTRODUÇÃO Diferentes tipos de processos desempenham papel crucial em sistemas distribuídos. O conceito de um processo é

Leia mais

Curso: Redes de Computadores

Curso: Redes de Computadores Curso: Redes de Computadores Cadeira de Introdução a Sistemas Operacionais. Bibliografia Sistemas Operacionais Modernos Andew S. Tanembaum Sistema Operacionais Abraham Silberchatz, Peter Galvin e Greg

Leia mais

Data Warehouse ETL. Rodrigo Leite Durães.

Data Warehouse ETL. Rodrigo Leite Durães. Data Warehouse ETL Rodrigo Leite Durães rodrigo_l_d@yahoo.com.br Introdução Um dos desafios da implantação de um DW é a integração dos dados de fontes heterogêneas e complexas, padronizando informações,

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Transporte Parte I Prof. Thiago Dutra Agenda n Parte I n Introdução n Protocolos de Transporte Internet n Multiplexação e n UDP n Parte II n TCP

Leia mais

Sistemas Distribuídos Aula 3

Sistemas Distribuídos Aula 3 Sistemas Distribuídos Aula 3 Aula passada Processos IPC Características Ex. sinais, pipes, sockets Aula de hoje Threads Kernel level User level Escalonamento Motivação: Servidor Web Considere Servidor

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Comunicação em Grupo Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 10.4 pág. 304-311 2 Comunicação em Grupo Suponha que se deseja um serviço de arquivos único

Leia mais

Avanços e Perspectivas do Projeto Integrade na UFMA

Avanços e Perspectivas do Projeto Integrade na UFMA Avanços e Perspectivas do Projeto Integrade na UFMA Francisco José da Silva e Silva Universidade Federal do Maranhão - UFMA Departamento de Informática Laboratório de Sistemas Distribuídos - LSD Agosto

Leia mais

Arquitecturas de Software Enunciado de Projecto 2007 2008

Arquitecturas de Software Enunciado de Projecto 2007 2008 UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Enunciado de Projecto 2007 2008 1 Introdução Na primeira metade da década de 90 começaram a ser desenvolvidas as primeiras

Leia mais

Arquitetura de Software para Computação Móvel

Arquitetura de Software para Computação Móvel Introdução à Computação Móvel Arquitetura de Software para Computação Móvel Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

Arquitetura de Computadores. Processamento Paralelo

Arquitetura de Computadores. Processamento Paralelo Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple

Leia mais

Gerenciamento de Redes. Alan Santos

Gerenciamento de Redes. Alan Santos Gerenciamento de Redes Alan Santos Ciclo de gerenciamento Quando falamos de gerenciamento de redes devemos primeiro estabelecer o que será gerenciado e o que se espera como resultado desse gerenciamento.

Leia mais

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída 11 1 Introdução Recentes avanços em redes de computadores impulsionaram a busca e o desenvolvimento de meios para facilitar e acelerar o desenvolvimento de aplicações em sistemas distribuídos, tornando

Leia mais

Servidor de Armazenamento em Nuvem

Servidor de Armazenamento em Nuvem Aula 10 Servidor de Armazenamento em Nuvem Prof. Roitier Campos Gonçalves Cloud Computing modelo tecnológico que habilita de forma simplificada o acesso on-demand a uma rede, a qual possui um pool de recursos

Leia mais

Programação Concorrente

Programação Concorrente INE 5410 Programação Concorrente Professor: Lau Cheuk Lung (turma A) INE UFSC lau.lung@inf.ufsc.br Conteúdo Programático 1. 2. Programação Concorrente 3. Sincronização 1. Condição de corrida, região critica

Leia mais

Experiência 04: Comandos para testes e identificação do computador na rede.

Experiência 04: Comandos para testes e identificação do computador na rede. ( ) Prova ( ) Prova Semestral ( ) Exercícios ( ) Prova Modular ( ) Segunda Chamada ( ) Exame Final ( ) Prática de Laboratório ( ) Aproveitamento Extraordinário de Estudos Nota: Disciplina: Turma: Aluno

Leia mais

Programação Paralela e Distribuída

Programação Paralela e Distribuída INE 5645 Programação Paralela e Distribuída Professor: Lau Cheuk Lung (turma A) INE UFSC lau.lung@inf.ufsc.br Conteúdo Programático 1. Introdução 2. Programação Paralela 3. Controle de Concorrência 4.

Leia mais

SIDs: ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

SIDs: ARQUITETURA DE SISTEMAS DISTRIBUÍDOS SIDs: ARQUITETURA DE SISTEMAS DISTRIBUÍDOS Modelos: Para que um sistema, ao ser projetado, alcance as características de um sistema distribuído, esse deve ser desenvolvido em cima de algum modelo de computação

Leia mais

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES Camada de aplicação Um protocolo da camada de aplicação define como processos de uma aplicação, que funcionam em sistemas finais diferentes,

Leia mais

Fundamentos de Redes e Sistemas Distribuídos Aula 03 Camadas

Fundamentos de Redes e Sistemas Distribuídos Aula 03 Camadas Fundamentos de Redes e Sistemas Distribuídos Aula 03 Camadas Prof. Dr. Rodrigo Clemente Thom de Souza Camada de Aplicação É a única camada vista pela maioria dos usuários!!! Objetivo: Fornecer serviços

Leia mais

Redes de Computadores

Redes de Computadores Instituto Superior Politécnico de Ciências e Tecnologia Redes de Computadores Prof Pedro Vunge I Semestre de 2017 SUMÁRIO I - Introdução às Redes de Computadores 1.4 Principais componentes de uma rede

Leia mais

Vamos fazer um pequeno experimento

Vamos fazer um pequeno experimento 1 Vamos fazer um pequeno experimento Dividam-se em dois grupos: Mestre Escravo Projeto de Sistemas Distribuídos Comunicação entre Processos Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com

Leia mais

1- Confiabilidade ( 2 ) Proteção contra perdas e estragos. 2- Integridade ( 3 ) Proteção contra interferência de cortes de funcionamento

1- Confiabilidade ( 2 ) Proteção contra perdas e estragos. 2- Integridade ( 3 ) Proteção contra interferência de cortes de funcionamento Grupo 11 1. Em um SID a segurança é de grande importância, ela deve garantir que apenas usuários autorizados acessem recursos e garantir que a informação transmitida pela rede somente possa ser alcançada

Leia mais

Sistemas Distribuídos Aula 10

Sistemas Distribuídos Aula 10 Sistemas Distribuídos Aula 10 Aula passada Arquitetura P2P Bittorrent Distributed Hash Table (DHT) Aula de hoje Modelo computação distribuída RPC Marshalling e stubs Semântica operacional RMI Computação

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com ENLACE X REDE A camada de enlace efetua de forma eficiente e com controle de erros o envio

Leia mais

Processos e Threads. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Processos e Threads. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Processos e Threads Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Tópicos Conceito de Processos Escalonamento

Leia mais

Sistemas Operacionais Aula 3

Sistemas Operacionais Aula 3 Sistemas Operacionais Aula 3 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas Arquitetura Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Agosto/2003 Tópicos Processos em SD Threads 2 Processos em SD Processo=Programa em execução... Do

Leia mais

Objetos e Componentes Distribuídos: EJB e CORBA

Objetos e Componentes Distribuídos: EJB e CORBA : EJB e CORBA 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 Maranhão Objetivos

Leia mais

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação

Leia mais

Cleverson A. Fargiani

Cleverson A. Fargiani 1 Cleverson A. Fargiani IBM Cognos Now! BAM Business Activity Monitoring 2008 IBM Corporation 2 Agenda do Workshop de Cognos Now! Soluções de Gerenciamento de Desempenho Conceito de BI Operacional & BI

Leia mais

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO RIO GRANDE DO NORTE DEPARTAMENTO ACADÊMICO DE TECNOLOGIA DA INFORMAÇÃO

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO RIO GRANDE DO NORTE DEPARTAMENTO ACADÊMICO DE TECNOLOGIA DA INFORMAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO RIO GRANDE DO NORTE DEPARTAMENTO ACADÊMICO DE TECNOLOGIA DA INFORMAÇÃO http:// www.cefetrn.br/datinf ARQUITETURA TCP/IP Nome: Curso: Turma: LISTA DE EXERCÍCIO

Leia mais