250 likes | 423 Views
Sistemas Distribuídos. OBJETIVO. aplicação centralizada. aplicação distribuída. máquina 1. máquina 1. máquina 2. máquina n. O que é uma Aplicação Distribuída?. Uma aplicação que executa simultaneamente em várias máquinas
E N D
Sistemas Distribuídos OBJETIVO
aplicação centralizada aplicação distribuída . . . máquina 1 máquina 1 máquina 2 máquina n O que é uma Aplicação Distribuída? • Uma aplicação que executa simultaneamente em várias máquinas • Um grupo de processos que executa em máquinas distintas e trabalha de forma coordenada e cooperativa para realizar uma determinada tarefa
Sistema Distribuído • conjunto de nós de processamento • independentes • heterogêneos • características e objetivos distintos • interligados (rede de comunicação) • interagem e cooperam
Porquê? • Distribuição Geográfica (organizações físicas distribuídas) • Extensibilidade, modularidade • Partilha de recursos • Maior disponibilidade (replicação) • Maior desempenho (carga computacional distribuída)
Condicionantes da Evolução • Tecnologia • Redes de computadores • Computadores pessoais • Sistemas abertos • Arquitetura de Computadores • Requisitos • Utilizadores finais • Programadores • Gestores
Evolução das Redes de Computadores • Terminais ligados ao mainframe • Interligação dos sistemas centrais • Oferta de comunicação de dados pelos operadores públicos • X.25; RDIS; ATM • Redes locais • Internet • Wireless • Interligação de TODOS os dispositivos onde quer que estejam + distribuição = Computação ubíqua
Evolução dos Computadores Pessoais • Equipamentos simples e autónomos • Baixo custo • Interface atraente e intuitiva • Mercado dominado pela Wintel: Windows + Intel + Office • Miríade de aplicações mas… para que servem exatamente os computadores
Evolução da Arquitetura de Computadores • Grande aumento da: • potência de cálculo, memória, e disco • Utilização de componentes de h/w standard • Multiprocessamento económico e eficaz • Alguma uniformização do s/w de sistema • SO: Windows, Unix, IBM MVS • BD’s: Oracle, Informix,Sybase, SQL-Server, DB2 • Redução de equipamentos centrais: downsizing custo e dimensão, modularidade e extensibilidade dos servidores
Consequências da Evolução Tecnológica • Grande disponibilidade da tecnologia (clientes, servidores, e interligações) • Distribuição da tecnologia pelo mundo • Grande descoordenação e heterogeneidade • Sistema compatíveis com a distribuição e modo de vida
Requisitos dos Utilizadores • Transparência • Partilha de informação • Melhoria de comunicação entre pessoas • Segurança e proteção • Fiabilidade e disponibilidade
Requisitos dos programadores • Interfaces normalizadas • Ambientes de programação independentes das características do hardware e das redes • Controle sobre o desempenho, fiabilidade, disponibilidade, segurança
Requisitos dos Gestores • Investimento reduzido • Modularidade e extensibilidade na evolução do sistema • proteção do investimento anterior • Adequação às equipas técnicas • Otimização da gestão dos recursos • Desempenho, disponibilidade, fiabilidade, segurança
Funcionamento Geral • A estrutura de um sistema distribuído pode ser visualizada em camadas. A camada mais interna corresponde ao hardware, que suporta todas as outras camadas do software. Em seguida vem o núcleo, que é a primeira camada de software a envolver o hardware, sobre esse núcleo (kernel) situa-se o sistema operacional propriamente dito, que fornece o suporte necessário à execução de programas. E, em seguida, tem-se a camada mais externa, correspondente ao nível de aplicação.
Funcionamento Geral • Em um sistema distribuído, a existência de computadores autônomos é transparente (não visível) para o usuário, que não percebe a existência de múltiplos processadores. • Um sistema distribuído é um caso especial de rede, cujo software lhe fornece maior grau de coesão e transparência. Desta forma, a distinção entre uma rede e um sistema distribuído está no software (especialmente no sistema operacional) não no hardware.
Funcionamento Geral • Os sistemas distribuídos permitem que uma aplicação seja dividida em diferentes partes, que se comunicam através de linhas de comunicação, e cada parte podendo ser processada em um sistema independente; • “Sistema Distribuído é aquele que roda em um conjunto de máquinas sem memória compartilhada, máquinas que mesmo assim aparecem como único computador para seus usuários” (Lamport, 1978).
Vantagens do Sistema Distribuído • Economia: Os microprocessadores oferecem uma melhor relação preço/performance do que a oferecida por mainframes. • Velocidade: Um sistema distribuído pode ter um poder de processamento maior que o de qualquer mainframe. • Confiabilidade: Se uma máquina sair do ar, o sistema como um todo pode sobreviver. • Crescimento incremental: O poder computacional pode crescer gradualmente.
Vantagens do Sistema Distribuído(cont.) • Compartilhamento de dados:permite que mais de um usuário acesse uma base de dados comum. • Compartilhamento de dispositivos: permite que mais de um usuário possa ter acesso a vários periféricos. • Flexibilidade: Espalha a carga de trabalho por todas as máquinas disponíveis ao longo da rede.
Desvantagens do Sistema Distribuído • Software: Existência de software para sistemas distribuídos é pequena até o momento; • Redes: As redes de comunicação podem saturar ou causar outros problemas; • Segurança: Fácil acesso a dados também se aplica a dados confidenciais (secretos);
Item Descrição Compartilhamento de dados Permite vários usuários acessarem uma base de dados comum Compartilhamento de dispositivos Permitem vários usuários acessarem recursos caros como impressoras coloridas Comunicação Torna a comunicação entre humanos mais fácil através de mensagens Economia Microprocessadores oferecem custo/benefício maior do que mainframes Velocidade Um sistema distribuído pode ter maior poder computacional do que um mainframe Distribuição Inerente Algumas aplicações envolvem máquinas espacialmente separadas Flexibilidade Espalha a carga de trabalho através das máquinas disponíveis da maneira mais efetiva em relação ao custo computacional Crescimento incremental Poder computacional pode ser adicionado com pequenos incrementos Sistemas Distribuídos X Sistemas Centralizados