Cap. 03 Processos. 3.1 Threads. 3.2 Virtualização. 3.3 Clientes Introdução às Threads Threads em Sistemas Distribuídos

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

Download "Cap. 03 Processos. 3.1 Threads. 3.2 Virtualização. 3.3 Clientes. 3.1.1 Introdução às Threads 3.1.2 Threads em Sistemas Distribuídos"

Transcrição

1 Cap. 03 Processos 3.1 Threads Introdução às Threads Threads em Sistemas Distribuídos 3.2 Virtualização Virtualização em Sistemas Distribuídos Arquiteturas de Máquinas Virtuais 3.3 Clientes Interface do Usuário Lado Cliente para Transparência de Distribuição Pg. 1/81

2 Cap. 03 Processos Servidores Aspectos Gerais de Projeto Clusters de Servidores Gerenciamento de Clusters de Servidores 3.5 Migração de Código Abordagens para Migração de Código Migração e Recursos Locais Migração em Sistemas Heterogêneos Pg. 2/81

3 Referências Bibliográficas Andrew S. Tanenbaum; Maarten van Steen - Distributed Systems: Principles and Paradigms, Prentice-Hall, 2007, ISBN-10: , ISBN-13: Lectures dos autores Andrew S. Tanenbaum e Maarteen van Steen ( e ) George Coulouris; Jean Dollimore; Tim Kindberg Sistemas Distribuídos: Conceitos e Projeto, Bookman, 4th Edition, 2007, ISBN Notas de Aula do Prof. Ricardo Anido do Instituto de Computação (IC) da UNICAMP - Pg. 3/81

4 Cap. 03 Processos Introdução Introdução problema - como diferentes tipos de processos desempenham um papel crucial em sistemas distribuídos?! da perspectiva de sistemas operacionais, o gerenciamento e escalonamento de processos é o aspecto mais importante para tratar mas ao discutirmos este tópico em sistemas distribuídos estes aspectos e outros igualmente importantes emergem. threads em sistemas distribuídos permite que a comunicação e processamento de clientes e servidores sejam sobrepostos, resultando em alto grau de performance. virtualização permite que uma aplicação e, possivelmente o seu ambiente incluindo o sistema operacional, sejam executados concorrentemente com outra aplicação e de forma totalmente independente do hardware subjacente. Pg. 4/81

5 3 Processos 3.1 Threads 3.1 Threads processo bloco base para sistemas distribuídos, por outro lado a experiência mostra que a granularidade processo suportada pelos sistemas operacionais não é suficiente; se um nível de granularidade mais fino (e.g., threads) for contemplado, o desenvolvimento de aplicações distribuídas atinge níveis melhores de performance; solução - nível de granularidade mais fino - threads. Pg. 5/81

6 3 Processos 3.1 Threads Introdução às Threads processo programa em execução, ou seja, é um programa que está sendo correntemente executado por um processador virtual do sistema operacional; daí a necessidade do sistema operacional criar processadores virtuais, cada qual para executar diferentes programas; para rastrear estes processadores virtuais, o sistema operacional mantém a Tabela de Processos contendo entradas para registradores do processador, mapa de memória, arquivos abertos, informações para bilhetagem, privilégios, etc. fato de múltiplos processos compartilharem concorrentemente os recursos computacionais é transparente, ou seja, o sistema operacional garante a independência dos processos. Pg. 6/81

7 3 Processos 3.1 Threads Introdução às Threads Threads como um processo, a thread executa sobre o seu código e independentemente de outras threads; entretanto, em contraste com processos, nenhum esforço é feito para prover transparência de concorrência. Implicações da abordagem de Múltiplas Threads: performance de aplicações multithreaded não necessita ser pior que as aplicações single threaded - alias, em muitos casos multithreaded leva a ganho de performance; threads não são protegidas umas das outras, assim, esforço adicional deve ser creditado aos desenvolvedores de aplicações. Pg. 7/81

8 3 Processos 3.1 Threads Introdução às Threads Antes de discutirmos o papel das threads em Sistemas Distribuídos, vejamos o seu uso em Sistemas Tradicionais: em sistema com uma única thread por processo, o processo será inteiramente bloqueado sempre que o bloqueio de uma chamada de sistema for executado, logo, sistemas multithreaded podem contornar este problema disparando um outra thread; uma outra vantagem do suporte a múltiplas threads é o fato de podermos explorar o paralelismo quando executando um programa em sistemas multiprocessados; sistemas multithreaded são também úteis no contexto de grandes aplicações, pelo fato de serem concebidas como uma coleção de programas, cada qual executado em um processo separado; Pg. 8/81

9 3 Processos 3.1 Threads Introdução às Threads multithreaded systems - esta abordagem é típica em Ambiente UNIX cooperação entre programas é implementada por meio do Mecanismo IPC (InterProcess Communication). Pg. 9/81

10 3 Processos 3.1 Threads Introdução às Threads pelo fato do IPC requerer intervenção do kernel, um processo irá geralmente efetuar mudança de modo de execução ( user mode para kernel mode ) => mudança do mapa de memória (MMU) bem como decarga de dados da TLB. Finalmente, uma boa razão em Engenharia de Software para usar threads é o fato de que muitas aplicações podem ser facilmente estruturadas como uma coleção de threads cooperantes. Pg. 10/81

11 3 Processos 3.1 Threads Introdução às Threads Thread Implementation há duas abordagens: User Level Threads (ULT) e Kernel Level Threads (KLT). User Level Threads executada inteiramente no modo usuário. todas as operações são executadas inteiramente no modo usuário => implementações podem ser extremamente eficientes; serviços providos pelo kernel em nome do processo que suporta a thread => se o kernel bloquear a thread => processo é bloqueado; threads são utilizadas quando há muitos eventos externos (bloqueio de threads com base em eventos) => se o kernel não distinguir as threads não há como suportar eventos entre as mesmas. Pg. 11/81

12 3 Processos 3.1 Threads Introdução às Threads Kernel Level Threads executada inteiramente no modo kernel, ou seja, todas as operações se comportam como system calls operações que bloqueiam a thread não mais são um problema kernel dispara um outra thread para atender o mesmo processo; tratamento de eventos externos kernel, responsável por tratar todos os eventos, escalona a thread associada ao evento; problema é (pode ser) a perda de eficiência toda operação de thread requer interrupção (trap) do kernel. Solução: união dos dois conceitos, normalmente referenciado como lightweight processes (LWP). significado tradicional (Unix System V / Solaris) executa no espaço do usuário em cima de uma única thread do kernel e compartilha os recursos e espaço de endereçamento com outros LWPs dentro do mesmo processo. Pg. 12/81

13 3 Processos 3.1 Threads Introdução às Threads Thread Implementation há duas abordagens: User Level Threads (ULT) e Kernel Level Threads (KLT). Pg. 13/81

14 3 Processos 3.1 Threads Threads e Sistemas Distribuídos Threads - possibilitam o bloqueio da chamada de sistema sem o efetivo bloqueio de todo o processo que as suporta. esta propriedade torna as threads particularmente atrativas em sistemas distribuídos por tornar mais simples a comunicação; ou seja, threads possibilitam a manutenção de múltiplas conexões lógicas ao mesmo tempo (e.g., clientes multithreaded, servidores multithreaded ). na sequência discutiremos clientes e servidores multithreaded Pg. 14/81

15 3 Processos 3.1 Threads Threads e Sistemas Distribuídos Multithreaded Clients para proporcionar alto grau de transparência, sistemas distribuídos que operam em redes amplas, devem esconder a demora na troca de mensagens; modo usual para esconder a latência de comunicação é executar outras tarefas logo após iniciar uma comunicação (e.g., troca de mensagens). e.g., Cliente Web arquivos podem ser descarregados através de várias threads, cada uma executando uma requisição http... uma vez obtido os arquivos, o browser pode apresentá-los. Pg. 15/81

16 3 Processos 3.1 Threads Threads e Sistemas Distribuídos Multiple Request/Response Calls cliente invoca várias chamadas simultaneamente através de várias threads; na sequência, aguarda pelos resultados. se as chamadas forem atendidas por diferentes servidores, o tempo para download é bem menor por outro lado, exige suporte do cliente ao paralelismo real de fluxos ( streams ). alternativas para melhorar a performance: thread mais barato que criar um processo; servidores com múltiplas threads tiram proveito dos multiprocessadores; escondendo a latência da rede atender a uma nova requisição enquanto uma requisição anterior está sendo completada. Pg. 16/81

17 3 Processos 3.1 Threads Threads e Sistemas Distribuídos Multithreaded Servers - não somente simplifica o código, mas facilita o desenvolvimento de servidores que exploram o paralelismo para atingir alto desempenho até mesmo em sistemas monoprocessados. Pg. 17/81

18 3 Processos 3.1 Threads Threads e Sistemas Distribuídos e.g., considere um servidor de arquivo que ocasionalmente é bloqueado para esperar pelo disco (operação de I/O); dois projetos/abordagens são possíveis: servidor de arquivo multithreaded ; servidor de arquivo single threaded. que análise você faz destas abordagens?! que vantagens e desvantagens há em cada uma das abordagens?! Há alguma outra abordagem?! executar o servidor de arquivo com uma máquina de estados finitos!! Pg. 18/81

19 3 Processos 3.1 Threads Threads e Sistemas Distribuídos Máquina de Estado Finito (Finite State Machine - FSM) nesta abordagem o servidor utiliza chamadas não bloqueantes para enviar e receber (replay/send), ou seja, para toda mensagem enviada/recebida (replay/request) o estado da solicitação é explicitamente salvo em tabelas para posteriormente ser recuperado. Pg. 19/81

20 3 Processos 3.1 Threads Threads e Sistemas Distribuídos Qual a melhor estrutura? em servidores com altas demandas de entrada/saída, utiliza-se simplesmente chamadas bloqueantes pois a estrutura dos servidores pode ser simplificada; programas com suporte a múltiplas threads tendem a ser menores e mais fáceis de serem compreendidos em razão do controle de fluxo simplificado. Pg. 20/81

21 3 Processos 3.2 Virtualização 3.2 Virtualização Processos e Threads possibilitam a concepção de programas que se comportam como se fossem executados simultaneamente, ou seja, se rapidamente chaveados cria-se a ilusão do paralelismo. resource virtualization - camada de abstração entre o hardware (processador, memória, disco, conexão, etc.) e a camada logo acima que consome estes recursos (e.g., aplicações). objetivo é prover a separação do que é real e de fato está disponível do que será apresentado para o usuário final. Pg. 21/81

22 3 Processos 3.2 Virtualização Virtualização em Sistemas Distribuídos Na prática, todo sistema computacional (distribuído) disponibiliza uma interface de programação no nível mais alto (Fig. a) em essência, virtualização estende ou substitui a interface tal que possa imitar o comportamento de um outro sistema (Fig. b). Pg. 22/81

23 3 Processos 3.2 Virtualização Virtualização em Sistemas Distribuídos 1970s - introdução da virtualização foi uma necessidade de executar sistemas legados em hardware de mainframes ; software não incluia somente aplicações, mas de fato o próprio sistema operacional para o qual o software foi projetado. Nas décadas seguintes, o cenário mudou em razão: hardware tornou-se mais barato; computadores com maior suporte computacional; nro de sistemas operacionais diminuiu; ou seja, virtualização tornou-se um problema menor. Pg. 23/81

24 3 Processos 3.2 Virtualização Virtualização em Sistemas Distribuídos 1990s - cenário no qual a virtualização é retomada. enquanto hardware e software de camadas mais baixas mudam razoavelmente rápido, software em camadas de alto nível de abstração são mais estáveis; ou seja, software legados não mais podem ser mantidos no mesmo passo das plataformas para as quais foram construídos. Papel da Virtualização auxilia na portabilidade de interfaces legadas para a nova plataforma bem como dá abertura para uma grande classe de aplicações correntes. Virtualização oferece suporte a uma diversidade de plataformas e máquinas, permitindo que cada aplicação seja executada na sua própria máquina virtual com bibliotecas e sistema operacional. Pg. 24/81

25 3 Processos 3.2 Virtualização Arquiteturas de Máquinas Virtuais Virtualização pode ocorrer em diferentes níveis, mas é fortemente dependente das interfaces disponibilizadas pelos componentes; geralmente, um sistema computacional disponibiliza quatro diferentes tipos de interfaces. Pg. 25/81

26 3 Processos 3.2 Virtualização Arquiteturas de Máquinas Virtuais machine instructions - interface entre hardware e software consistindo de instruções de máquina que podem ser invocadas por qualquer programa; privileged machine instructions - interface entre hardware e software consistindo de instruções de máquinas que podem ser invocadas por programas com privilégio; system calls - interface entre sistema operacional e aplicação consistindo de chamadas de sistema do sist. operacional; library calls - interface que consiste de chamadas de bibliotecas, geralmente formada pelo que é conhecido por application programming interface. Pg. 26/81

27 3 Processos 3.2 Virtualização Arquiteturas de Máquinas Virtuais Essência da Virtualização imitar o comportamento das interfaces, independente de onde estejam na arquitura de software.... virtualização vem se tornando incrivelmente importante no que tange a confiabilidade e segurança em sistemas distribuídos,... justificativa - possibilitam a isolação completa da aplicação e do seu ambiente, assim, uma falha causada por um erro ou por um ataque não irá afetar a máquina como um todo. Abordagens para prover Virtualização: Process Virtual Machine Virtual Machine Monitor Pg. 27/81

28 3 Processos 3.2 Virtualização Arquiteturas de Máquinas Virtuais Process Virtual Machine - sistema que essencialmente provê um conjunto de instruções abstrato (e.g., inst. interpretadas ou emuladas) utilizado para executar aplicações. Java Virtual Machine (JVM) Pg. 28/81

29 3 Processos 3.2 Virtualização Arquiteturas de Máquinas Virtuais Virtual Machine Monitor - sistema implementado com uma camada que blinda o hardware original, mas oferece o conjunto completo de instruções do hardware como uma interface. Vmware; VirtualBox Pg. 29/81

30 3 Processos 3.3 Clientes 3.3 Clientes Discutimos nas seções prévias o Modelo Cliente/Servidor, seus papéis e como interagem um com o outro. na sequência, discutiremos a anatomia do Cliente e na próxima seção a anatomia do Servidor. Pg. 30/81

31 3 Processos 3.3 Clientes Interface do Usuário Máquina Cliente tem como principal função oferecer os meios pelos quais usuários interagem como servidores remotos; grosseiramente, há duas abordagens através das quais estas interações são suportadas: Networked Application with its own Protocol General Solution to allow Access Pg. 31/81

32 3 Processos 3.3 Clientes Interface do Usuário Networked Application with its own Protocol - para cada serviço remoto, o cliente contempla em separado um componente que contacta o serviço remoto através da rede; tudo é processado e armazenado no servidor. Pg. 32/81

33 3 Processos 3.3 Clientes Interface do Usuário e.g., Agenda em um PDA Personal Digital Assistant de Usuário que deseja sincronizar seus dados em um repositório remoto;... neste caso um protocolo no nível de aplicação irá manipular a sincronização dos dados (como apresentado na Fig. abaixo). Pg. 33/81

34 3 Processos 3.3 Clientes Interface do Usuário General Solution to allow Access - acesso direto aos serviços remotos através de interfaces convenientes de usuário.... máquina cliente não tem necessidade de armazenar e nem mesmo manter um protocolo dependente da aplicação;... esta abordagem ( thin-client approach ) vem recebendo mais atenção na medida que dispositivos móveis vem se tornando mais sofisticados e a conectividade na Internet aumentando. Pg. 34/81

35 3 Processos 3.3 Clientes Interface do Usuário General Solution to allow Access - acesso direto aos serviços remotos através de interfaces de usuário convenientes.... máquina cliente é utilizada apenas como terminal. Pg. 35/81

36 3 Processos 3.3 Clientes Interface do Usuário X Window System - utilizado para controlar terminais mapeados por bit, tais como: monitor, teclado e mouse ; pode ser vista como parte do sistema operacional que controla o terminal coração do sistema (X Kernel). Pg. 36/81

37 3 Processos 3.3 Clientes Interface do Usuário X Window System - aspecto interessante é o de que X Kernel e Aplicações X não necessariamente residem na mesma máquina; X Kernel contém todos os drivers para terminanis específicos e, normalmente, é altamente dependente do hardware. X Protocol protocolo de comunicação no nível de aplicação pelo qual uma instância Xlib pode trocar dados e eventos com X Kernel, ou seja, X Kernel reage aos eventos de teclado ou mouse enviando pacotes de evento para o Xlib. Várias aplicações podem se comunicar ao mesmo tempo com o X Kernel, mas uma o faz com permissões especiais (Window Manager) - look and feel do display. Pg. 37/81

38 3 Processos 3.3 Clientes Lado Cliente para Trans. de Distribuição Em muitos casos, o software Cliente contempla mais do que apenas Interface de Usuário, p.ex., parte do nível de dados e de processamento podem ser executados no lado cliente;... nestes casos a interface do usuário é relativamente pequena em contraste com o processamento e comunicação. além da interface do usuário e software relacionado à aplicação, o lado cliente compreende componentes para oferecer transparência de distribuição. idealmente, um cliente não deveria estar ciente que está se comunicando com um processo remoto; já em servidores, a distribuição é frequentemente menos transparente por razões de desempenho e correção. Pg. 38/81

39 3 Processos 3.3 Clientes Lado Cliente para Trans. de Distribuição transparência de acesso geralmente contemplada através da geração de um apêndice no cliente a partir da interface do servidor, ou seja, da definição do que o servidor irá oferecer.... o apêndice ( stub ) disponibiliza a mesma interface disponível no servidor, mas esconde as possíveis diferenças de arquitetura de máquina bem como de comunicação; transparência de acesso geração de um apêndice do lado cliente é dependente da interface que o servidor oferece. Pg. 39/81

40 3 Processos 3.3 Clientes Lado Cliente para Trans. de Distribuição transparência de localização e migração permitir que o lado cliente do software possa rastrear a localização do servidor;... nestes casos é crucial a utilização de um conveniente sistema de nomes que possibilite a localização. Pg. 40/81

41 3 Processos 3.3 Clientes Lado Cliente para Trans. de Distribuição transparência de replicação múltiplas invocações podem ser tratadas pelo apêndice ( stub ) no cliente.... lado cliente coleta de forma transparente todas as respostas e repassa uma única resposta à aplicação. Pg. 41/81

42 3 Processos 3.3 Clientes Lado Cliente para Trans. de Distribuição transparência de falha mascarar falhas de comunicação e de servidor através do middleware do cliente.... middleware do cliente pode ser configurado para repetidamente reestabelecer a conexão com o servidor, ou talvez, tentar um outro servidor após n tentativas. transparência de concorrência pode ser tratada através de servidores especiais intermediários especiais monitores de transações o que requer menor suporte do cliente. transparência de persistência frequentemente tratada inteiramente no servidor por se tratar de armazenamento não volátil para recuperação posterior, caso necessário. Pg. 42/81

43 3 Processos 3.4 Servidores 3.4 Servidores servidor processo que implementa serviço(s) específico(s) em nome de um coleção de clientes e normalmente são organizados de modo que aguarda requisição(ões) do(s) cliente(s).... em essência o servidor aguarda a requisição de um cliente e na sequência garante que a mesma seja atendida, para em seguida esperar/aguardar pela próxima requisição;... para estabelecer a comunicação, clientes enviam requisições para um end point - (também chamado port ) na máquina onde o processo servidor está executando.... na prática, o mapeamento é 1-para-1 entre porta e serviço. Pg. 43/81

44 3 Processos 3.4 Servidores Aspectos Gerais de Projeto Classificação/Categorização dos Servidores: interactive servers - próprio servidor trata a requisição e, se necessário, retorna a resposta para o cliente que requisitou; concurrent servers - não manipula diretamentea a requisição, mas a repassa para um outro processo/thread; processo/thread passa o ser o responsável por responder e, na sequência, servidor fica a espera da próxima requisição; e.g., servidor com suporte para múltiplas threads ou processos, onde um processo é instanciado para atender a requisição. e.g., Sistema UNIX thread ou processo que trata a requisição é responsável por retornar a resposta ao cliente requisitante. Pg. 44/81

45 3 Processos 3.4 Servidores Aspectos Gerais de Projeto Como um Cliente contacta um Servidor?! normalmente clientes enviam requisições para end points ou ports que, normalmente estão associados a serviços bem conhecidos. ftp-data 20 File Transfer [Default Data] ftp 21 File Transfer Control telnet 23 Telnet 24 any private mail service smtp 25 Simple Mail Transfer login 49 Login Host Protocol no entanto, há serviços que não requerem um end point (já atribuído), e.g., time-of-day server. Pg. 45/81

46 3 Processos 3.4 Servidores Aspectos Gerais de Projeto daemon mantém informações do end point corrente para cada serviço implementado pelo servidor local; cliente inicialmente contacta o daemon para requerer o end point e na sequência contacta o servidor específico. Pg. 46/81

47 3 Processos 3.4 Servidores Aspectos Gerais de Projeto... daemon mantém informações do end point corrente para cada serviço implementado pelo servidor local;... neste contexto, implementar cada serviço por um servidor em separado (processo em separado) representa alto custo de recursos;... outro cenário semelhante é o de vários servidores executando simultaneamente, muitos deles esperando por uma requisição;... em ambos os casos, é mais eficiente manter um único servidor (possivelmente maior em capacidade - superserver ) ouvindo cada um dos end points associados a cada um dos serviços; e.g., inetd (Internet Service Daemon) é um superserver daemom no UNIX responsável por gerenciar serviços Internet tais como: FTP, POP3 e Telnet. Pg. 47/81

48 3 Processos 3.4 Servidores Aspectos Gerais de Projeto superservers - servidores que ouvem em diversas portas, ou seja, oferece vários serviços independentes; é mais eficiente ter um único superserver ouvindo cada end point associado a um serviço específico. Pg. 48/81

49 3 Processos 3.4 Servidores Aspectos Gerais de Projeto superservers - servidores que ouvem em diversas portas, ou seja, oferece vários serviços independentes; e.g., inetd (Internet Service Daemon) é um superserver daemom em Sistemas UNIX responsável por gerenciar serviços Internet tais como: FTP, POP3 e Telnet.... assim quando um segmento TCP ou UDP chega para uma porta destino em particular, inetd instancia o servidor apropriado para tratar a conexão em curso; vantagem - para serviços que não espera que sejam executados com alta carga, este método é mais eficiente, pois o servidor específico é executado somente quando necessário. Pg. 49/81

50 3 Processos 3.4 Servidores Aspectos Gerais de Projeto Aspecto de Projeto Interrupção de Servidor: e.g., como interromper o download de arquivo grande de um Servidor FTP?!... finalizar abruptamente a aplicação?! out-of-band data - permite o tratamento de interrupções na comunicação, ou seja, dados out-of-band serão tratados pelo servidor antes de algum outro dado do cliente. stateless server - não mantém informação de estado dos seus clientes e pode alterar o seu próprio estado sem necessidade de informar a qualquer cliente que houve mudanças. e.g., Servidor Web é um bom exemplo de servidor sem estado, pois o mesmo simplesmente responde a requisições HTTP. Pg. 50/81

51 3 Processos 3.4 Servidores Aspectos Gerais de Projeto... uma forma particular de projeto stateless é quando o servidor mantém o que é conhecido como soft state - mantém-se estado em favor de um cliente, mas por um tempo limitado. stateful servers - em contraste com os servidores stateless, estes últimos geralmente mantém as informações por longos períodos, ou seja, as informações são persistentes. e.g., imagine um servidor de arquivo que permite ao cliente manter a cópia local de um arquivo por razões de desempenho. Obs.: melhoria de performance sobre servidores stateless é frequentemente um importante benefício de um projeto stateful! Pg. 51/81

52 3 Processos 3.4 Servidores Aspectos Gerais de Projeto e.g., imagine um servidor de arquivo que permite ao cliente manter a cópia local de um arquivo, até mesmo para desempenho de operações de atualização.... esta abordagem pode melhorar o desempenho de operações de leitura/escrita como percebido pelo cliente;... este servidor poderá manter uma tabela com entradas para client, file de modo a rastrear que cliente tem permissão de atualização sobre qual arquivo;... se o servidor sofre alguma pane, o mesmo terá que recuperar a tabela de cliente, file ou, diferentemente, não poderá garantir que as mais recentes atualizações de um dado arquivo; esta abordagem melhora a performance das operações. Pg. 52/81

53 3 Processos 3.4 Servidores Clusters de Servidores server cluster - coleção de máquinas conectadas através de uma rede, onde cada máquina executa um ou mais servidores. os clusters de servidores que iremos considerar aqui são aqueles cujas máquinas estão interconectadas por uma LAN; normalmente, clusters de servidores estão organizados em 03 camadas como qualquer arquitetura multicamadas. e.g., muitos clusters de servidores contém servidores dedicados para o processamento de aplicações. Pg. 53/81

54 3 Processos 3.4 Servidores Clusters de Servidores Organização Geral server cluster - logicamente organizados em três camadas: logical switch ; application e database system. Pg. 54/81

55 3 Processos 3.4 Servidores Clusters de Servidores Organização Geral... no entanto, nem todos os clusters de servidores seguem esta separação estrita (03 camadas): logical switch ; application servers e database system. e.g., fluxo de mídia por meio de cluster de servidores normalmente acomoda arquitetura em duas camadas, pois cada máquina se comporta como um servidor dedicado de mídia. e.g., quando um cluster de servidores oferece muitos serviços, pode acontecer que diferentes máquinas executem diferentes servidores de aplicação e, assim, é necessário que o switch seja capaz de distinguir os serviços para encaminhar as requisições. Pg. 55/81

56 3 Processos 3.4 Servidores Clusters de Servidores Organização Geral aspecto de projeto de cluster de servidores esconder o fato de que há múltiplos servidores, ou seja, aplicações cliente não precisam conhecer nada acerca da organização do cluster. se considerarmos aspectos como escalabilidade e disponibilidade, um cluster de servidores deve contemplar muitos pontos de acesso, com cada ponto de acesso implementado por uma máquina dedicada e em separado; um modo padrão de acessar um cluster de servidores é estabelecer uma conexão TCP e enviar requisições da camada de aplicação como parte de um sessão. Pg. 56/81

57 3 Processos 3.4 Servidores Clusters de Servidores Organização Geral TCP handoff mecanismo de repasse de responsabilidade no qual um servidor que recebe uma solicitação de conexão a repassa para uma de suas réplicas; cabe a esta máquina o dever de responder ao solicitante da requisição, cuja requisição foi repassada. Pg. 57/81

58 3 Processos 3.4 Servidores Clusters de Servidores Organização Geral TCP handoff - as it is based on passing the duty of servicing the TCP connection to the selected replica. Pg. 58/81

59 3. Processos 3.4 Servidores Clusters de Servidores Servidores Distribuídos Como discutido anteriormente, quando cluster de servidores disponibilizam um único ponto de acesso, esconde-se do cliente como o mesmo está organizado (vantagem);... mas por outro, se este ponto de acesso falha, o cluster torna-se indisponível (desvantagem); Este problema pode ser eliminado oferendo vários pontos de acesso bem como os seus respectivos endereços;... e.g., DNS (Domain Name System) pode retornar vários endereços, todos pertencentes ao mesmo host.... ainda assim, nesta abordagem, será necessário novas tentativas pelos clientes, se um dos endereços falha. Pg. 59/81

60 3. Processos 3.4 Servidores Clusters de Servidores Servidores Distribuídos O que pode ser melhorado? adição de estabilidade e flexibilidade neste caso tanto pelo cliente quanto pelo servidor; estabilidade manutenção do ponto de acesso por um longo período; flexibilidade flexibilidade na configuração do cluster de servidores. servidor distribuído - nada mais do que um conjunto dinâmico de máquinas, como pontos de acesso que podem variar mas que aparecem para o mundo exterior como um máquina única.... clientes podem se beneficiar deste modelo em razão da estabilidade, robustez e alto desempenho do servidor.... vamos nos concentrar como um ponto de acesso estável pode ser mantido em um sistema distribuído?! Pg. 60/81

61 3. Processos 3.4 Servidores Clusters de Servidores Servidores Distribuídos resposta - podemos utilizar serviços de rede disponíveis como a suporte a mobilidade no IPv6;... um nó móvel está associado a rede nativa ( home network ) e da qual recebeu um endereço estável ( home address - HoA);... a rede nativa ( home network ) tem um roteador conhecido por home agent - responsável pelo tráfego para o nó móvel ( mobile node ) quando o mesmo está fora da rede nativa;... quando um nó móvel se associa a rede que está visitando ( foreign network ), ele irá receber um endereço temporário ( care-of address CoA) através do qual é atingível. Pg. 61/81

62 3. Processos 3.4 Servidores Clusters de Servidores Servidores Distribuídos Este princípio pode ser usado para oferecer um endereço estável para o Servidor Distribuído e.g., um único endereço de contato. Pg. 62/81

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

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

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 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

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

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013 MC714 Sistemas Distribuídos 2 semestre, 2013 Virtualização - motivação Consolidação de servidores. Consolidação de aplicações. Sandboxing. Múltiplos ambientes de execução. Hardware virtual. Executar múltiplos

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

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

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Processos I: Threads, virtualização e comunicação via protocolos Prof. MSc. Hugo Souza Nesta primeira parte sobre os Processos Distribuídos iremos abordar: Processos e a comunicaçã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 Aula 4 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Migração de Código Em

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia 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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura

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

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Arquitetura Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Sistemas monolíticos Sistemas em camadas Sistemas micro-núcleo Modelo Cliente-Servidor Máquinas

Leia mais

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza Sistemas Distribuídos Processos I Prof. MSc. Hugo Souza Até agora vimos a organização como um todo dos SDS, com o mapeamento estrutural e suas devidas características descritas em elementos, regras, conceitos,

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

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 07 Arquitetura de Sistemas Operacionais Prof. Maxwell Anderson www.maxwellanderson.com.br Introdução Conceitos já vistos em aulas anteriores: Definição de Sistemas Operacionais

Leia mais

Redes de Computadores. Prof. Dr. Rogério Galante Negri

Redes de Computadores. Prof. Dr. Rogério Galante Negri Redes de Computadores Prof. Dr. Rogério Galante Negri Rede É uma combinação de hardware e software Envia dados de um local para outro Hardware: transporta sinais Software: instruções que regem os serviços

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

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

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

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

Estruturas do Sistema de Computação

Estruturas do Sistema de Computação Estruturas do Sistema de Computação Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Estruturas do Sistema de

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas

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

Sistema Operacional Correção - Exercício de Revisão

Sistema Operacional Correção - Exercício de Revisão Prof. Kleber Rovai 1º TSI 22/03/2012 Sistema Operacional Correção - Exercício de Revisão 1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções? Não funcionaria.

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s: Tecnologia em Redes de Computadores Redes de Computadores Professor: André Sobral e-mail: alsobral@gmail.com Conceitos Básicos Modelos de Redes: O O conceito de camada é utilizado para descrever como ocorre

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Turma de Redes AULA 06 www.eduardosilvestri.com.br silvestri@eduardosilvestri.com.br Estrutura do Sistema Operacional Introdução É bastante complexo a estrutura de um sistema operacional,

Leia mais

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira Wireshark Captura de Protocolos da camada de aplicação Maicon de Vargas Pereira Camada de Aplicação Introdução HTTP (Hypertext Transfer Protocol) 2 Introdução Camada de Aplicação Suporta os protocolos

Leia mais

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP SMTP "Protocolo de transferência de correio simples (ou em inglês Simple Mail Transfer Protocol ) é o protocolo padrão para envio de e- mails através da

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br Tópicos da Aula Apresentação do curso Introdução Definição de sistemas distribuídos Exemplo Vantagens e desvantagens Convergência digital Desafios Visão

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

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

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science (Tradução e Adaptação Ricardo Anido - IC/Unicamp) Capítulo 03: Processos Versão: 20 de março de 2014

Leia mais

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback SMTP, POP, IMAP, DHCP e SNMP Professor Leonardo Larback Protocolo SMTP O SMTP (Simple Mail Transfer Protocol) é utilizado no sistema de correio eletrônico da Internet. Utiliza o protocolo TCP na camada

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

Comparação SDs X Scs

Comparação SDs X Scs Prof. Alexandre Lima Sistemas Distribuídos Cap 9 1/7 Comparação SDs X Scs Distribuição inerente Economia Velocidade Confiabilidade Crescimento incremental Descrição Algumas aplicações envolvem máquinas

Leia mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores, independentemente

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br

Sistemas Distribuídos. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Agosto/2003 Tópicos Conceitos de HW em SD Multiprocessadores e Multicomputadores Conceitos de SW

Leia mais

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima INFORMÁTICA FUNDAMENTOS DE INTERNET Prof. Marcondes Ribeiro Lima Fundamentos de Internet O que é internet? Nome dado a rede mundial de computadores, na verdade a reunião de milhares de redes conectadas

Leia mais

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas Arquitetura de Sistemas Operacionais Capítulo 4 Estrutura do Sistema Operacional Cap. 4 Estrutura do Sistema 1 Sistemas Operacionais Pitágoras Fadom Divinópolis Material Utilizado na disciplina Sistemas

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos

Leia mais

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress. Sistemas Operacionais Aula 3 Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.com Nunca cone em um computador que você não pode jogar pela janela.

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as

Leia mais

Profs. Deja e Andrei

Profs. Deja e Andrei Disciplina Sistemas Distribuídos e de Tempo Real Profs. Deja e Andrei Sistemas Distribuídos 1 Conceitos e Projetos de Sistemas Distribuídos Objetivos: Apresentar uma visão geral de processamento distribuído,

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

Leia mais

MODELO CLIENTE SERVIDOR

MODELO CLIENTE SERVIDOR SISTEMAS DISTRIBUÍDOS Modelo Cliente Servidor Modelo que estrutura um S.O. como um grupo de processos cooperantes, chamados servidores, que oferecem serviços a processos usuários, denominados clientes;

Leia mais

Figura 01 Kernel de um Sistema Operacional

Figura 01 Kernel de um Sistema Operacional 01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Software em Sistemas Distribuídos Aplicativo ou Sistema Operacional Sincronismo Interação Controles Um sistema operacional moderno provê dois serviços fundamentais para o usuário

Leia mais

Redes. Pablo Rodriguez de Almeida Gross

Redes. Pablo Rodriguez de Almeida Gross Redes Pablo Rodriguez de Almeida Gross Conceitos A seguir serão vistos conceitos básicos relacionados a redes de computadores. O que é uma rede? Uma rede é um conjunto de computadores interligados permitindo

Leia mais

3 Arquitetura do Sistema

3 Arquitetura do Sistema 3 Arquitetura do Sistema Este capítulo irá descrever a arquitetura geral do sistema, justificando as decisões de implementação tomadas. Na primeira seção iremos considerar um conjunto de nós interagindo

Leia mais

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos Aula 23 Distribuídos SOs de Rede Em sistemas operacionais de rede você sabe quando é local e quando é remoto. Assim, o trabalho não muda, com exceção de comandos para acesso remoto: - telnet - ftp - etc.

Leia mais

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS Quando falamos em arquitetura, normalmente utilizamos esse termo para referenciar a forma como os aplicativos computacionais são estruturados e os hardwares

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES 09/2013 Cap.3 Protocolo TCP e a Camada de Transporte 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores

Leia mais

Sistemas Cliente-Servidor

Sistemas Cliente-Servidor Sistemas Cliente-Servidor Disciplina Bancos de Dados II (INE 5616 2006-1) Curso de Sistemas de Informação Prof. Renato Fileto INE/CTC/UFSC 1 1 Cliente - Servidor Arquitetura cliente/servidor: Os servidores

Leia mais

1.1 Porque um nível de aplicação proxy?

1.1 Porque um nível de aplicação proxy? 1.0 Introdução Os proxies são principalmente usados para permitir acesso à Web através de um firewall (fig. 1). Um proxy é um servidor HTTP especial que tipicamente roda em uma máquina firewall. O proxy

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

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O Guia de Conectividade Worldspan Go Res! A V A N Ç A D O Í n d i c e Considerações Iniciais...2 Rede TCP/IP...3 Produtos para conectividade...5 Diagnosticando problemas na Rede...8 Firewall...10 Proxy...12

Leia mais

Sistemas Operacionais. Conceitos de um Sistema Operacional

Sistemas Operacionais. Conceitos de um Sistema Operacional Sistemas Operacionais Conceitos de um Sistema Operacional Modo usuário e Modo Kernel Como já vimos são ambientes de execução diferentes no processador Há um conjunto de funções privilegiadas acessadas

Leia mais

Introdução à Computação Móvel IP Móvel. Movimentação de Host. Movimentação de Host. Francisco José da Silva e Silva

Introdução à Computação Móvel IP Móvel. Movimentação de Host. Movimentação de Host. Francisco José da Silva e Silva Introdução à Computação Móvel IP Móvel Francisco José da Silva e Silva Francisco Silva 1 Movimentação de Host Francisco Silva 2 Movimentação de Host Se um host não estiver no enlace identificado por seu

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: comunicação orientada por mensagem e comunicação orientada por fluxo Prof. MSc. Hugo Souza Continuando o módulo 03 da primeira unidade, iremos abordar sobre

Leia mais

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET 1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com

Leia mais

Visão Geral de Sistemas Operacionais

Visão Geral de Sistemas Operacionais Visão Geral de Sistemas Operacionais Sumário Um sistema operacional é um intermediário entre usuários e o hardware do computador. Desta forma, o usuário pode executar programas de forma conveniente e eficiente.

Leia mais

Relatorio do trabalho pratico 2

Relatorio do trabalho pratico 2 UNIVERSIDADE FEDERAL DE SANTA CATARINA INE5414 REDES I Aluno: Ramon Dutra Miranda Matricula: 07232120 Relatorio do trabalho pratico 2 O protocolo SNMP (do inglês Simple Network Management Protocol - Protocolo

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

FIREWALL. Prof. Fabio de Jesus Souza. fabiojsouza@gmail.com. Professor Fabio Souza

FIREWALL. Prof. Fabio de Jesus Souza. fabiojsouza@gmail.com. Professor Fabio Souza FIREWALL Prof. Fabio de Jesus Souza fabiojsouza@gmail.com Professor Fabio Souza O que são Firewalls? Os firewalls são sistemas de segurança que podem ser baseados em: um único elemento de hardware; um

Leia mais

Configurando o DDNS Management System

Configurando o DDNS Management System Configurando o DDNS Management System Solução 1: Com o desenvolvimento de sistemas de vigilância, cada vez mais usuários querem usar a conexão ADSL para realizar vigilância de vídeo através da rede. Porém

Leia mais

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais Laboratório de Sistemas Operacionais Aula 1 Flávia Maristela (flavia@flaviamaristela.com) Tudo o que já vimos antes... Introdução

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

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

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

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02. Prof. Gabriel Silva

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02. Prof. Gabriel Silva FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02 Prof. Gabriel Silva Temas da Aula de Hoje: Revisão da Aula 1. Redes LAN e WAN. Aprofundamento nos Serviços de

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

Rede de Computadores

Rede de Computadores Escola de Ciências e Tecnologia UFRN Rede de Computadores Prof. Aquiles Burlamaqui Nélio Cacho Luiz Eduardo Eduardo Aranha ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO.

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO. UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO Xen Hypervisor Glauco Neves 07132022 Guilherme Pacheco 07232063 INE 5412-0432

Leia mais

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede O sistema de nome de domínio (DNS) é um sistema que nomeia computadores e serviços de rede e é organizado em uma hierarquia de domínios.

Leia mais