• Nenhum resultado encontrado

Sistemas Distribuídos Capítulo 1: Introdução

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas Distribuídos Capítulo 1: Introdução"

Copied!
18
0
0

Texto

(1)

2/28/2007 Sistemas Distribuídos

Sistemas Distribuídos

Capítulo 1: Introdução

J. Alves Marques

Departamento de Engenharia Informática

Índice

• Definição de sistema distribuído

• Razões para a distribuição

• Evolução tecnológica

• Evolução do enquadramento económico

(2)

2/28/2007 Sistemas Distribuídos

Sistemas Distribuídos:

Definições …

[…] is one in which the failure of a computer you didn't even know

existed can render your own computer unusable.

Leslie Lamport

[…] is a collection of loosely coupled processors interconnected by a

communication network. Processors do not share memory or clock.

A. Silberschatz

[…] is a collection of independent computers that appear to the users of

the system as a single computer.

A. Tanenbaum

Departamento de Engenharia Informática

Sistemas Distribuídos: Definição

• Um sistema distribuído possui as seguintes

características:

– Várias máquinas independentes, e potencialmente:

• Heterogéneas;

• Administradas por diferentes organizações com regras

diferentes de segurança, de gestão, etc.

– Redes de interligação entre essas máquinas;

– Não há estado partilhado entre as várias máquinas.

• Uma máquina multiprocessador autónoma não é

(nesta óptica) um sistema distribuído

(3)

2/28/2007 Sistemas Distribuídos

Middleware

Aplicações

Middleware

Sistema Operativo Bibliotecas (DLL) Protocolos Servidores Hardware Plataformas

Os Sistemas

Distribuídos são

suportados por

diversas

componentes

frequentemente

designadas por

plataformas de

Middleware

Departamento de Engenharia Informática

Problemas Agudizados pela Distribuição

Comunicação exclusivamente por mensagem

– Modelo de programação mais difícil

– Novos tipos de erros (timeout, …)

Modelo de faltas mais complexo

– Máquinas falham independentemente

– Redes podem perder pacotes, trocar a sua ordem, ...

Conhecimento parcial do estado do sistema

– Das outras máquinas, só se sabe realmente que uma mensagem chegou, ou não chegou

– Uma mensagem não chegou porque

• Se perdeu ? • O emissor falhou ? • O emissor está muito lento ?

(4)

2/28/2007 Sistemas Distribuídos

Problemas Agudizados pela Distribuição

Distribuição do sistema operativo

– Mais difícil de realizar mecanismos atómicos de sincronização, coordenação

Segurança

– Intrusos podem ler mensagens em trânsito, injectar novas mensagens – Não existe controlo sobre o software sistema e aplicações remotas

Heterogeneidade

– Máquinas com representações de dados diferentes, sistemas operativos diferentes, representação de dados

Desempenho

– Acesso remoto é necessariamente mais lento

– O termo de comparação de muitos utilizadores são as máquinas locais!!

Departamento de Engenharia Informática

Razões que justificaram a Distribuição

• Distribuição geográfica

– Organização com instalações em Lisboa, Porto, Paris, …

– Ligação entre organizações independentes

• Extensibilidade, modularidade

– Crescimento gradual

• Partilha de recursos

– Troca de informação entre departamentos, empresas

• Maior disponibilidade

– Replicação

• Maior desempenho

(5)

2/28/2007 Sistemas Distribuídos

O que tornou os Sistemas Distribuídos tão

importantes

• Tecnologia

– Redes de Computadores

– Computadores Pessoais

– Sistemas Abertos

– Arquitectura de Computadores

• Requisitos Empresariais

– Necessidade de integração do negócio

– Novas necessidades empresariais suportadas por novas tecnologias

– Digitalização

• Lei de Moore

• Efeito de Rede – Lei de Metcalf

Departamento de Engenharia Informática

Evolução das Redes de Computadores

• Redes Telefónicas

• Linhas Dedicadas fornecidas pelos Operadores de

Telecomunicações

• Oferta de Redes de dados pelos operadores públicos

– X.25

– RDIS

– ATM

• Redes locais

• Internet

• ADSL, Rede de Televisão por Cabo,

• GPRS, UMTS, WiFi, WiMax

(6)

2/28/2007 Sistemas Distribuídos

Redes

Actuais

Departamento de Engenharia Informática

Consequências da Evolução das Redes de

Computadores

• Todos os computadores ligados à rede local

• Todas as redes locais interligadas entre si

• Alto débito, baixo preço

• Interligação de TODOS os computadores

(empresas, organizações, domésticos, …)

• Interligação de TODOS os dispositivos (Laptops,

telemóveis, PDA, automóvel, frigoríficos, …)

• Interligação de cartões inteligentes, Tags RFID,

(7)

2/28/2007 Sistemas Distribuídos

Evolução dos Computadores Pessoais

• Equipamentos simples, completos e autónomos

• Baixo custo

• Interface atraente e simples

• Mercado dominado por Wintel

• Miríade de aplicações

• Os PDA e os telefones móveis são computadores

• Todos os equipamentos sofisticados têm computadores

• Cartões inteligentes, tags RFID são computadores (ainda

com recursos muito limitados)

Departamento de Engenharia Informática

Evolução da Arquitectura de

Computadores

• Grande aumento da

– Potência de cálculo

– Capacidade de memória

– Capacidade de disco

• Possibilidade de utilização de plataformas standard

• Multiprocessamento económico e eficaz

• Alguma uniformização das plataformas de sistema

operativo e software de base

– Sistemas operativos (Unix, Windows, IBM MVS)

– Bases de dados (Oracle, SQL-Server, DB2)

(8)

2/28/2007 Sistemas Distribuídos

Sistemas Abertos

• Normalização oficial e de facto em muitos aspectos chave

– Computadores pessoais (Wintel)

– Protocolos de rede (TCP/IP, WWW, W3C, OASIS)

– Servidores Unix, Windows-NT, Mainframes IBM MVS

– Acesso a bases de dados (SQL, ODBC)

– Interligação de aplicações (DCOM, CORBA)

– Web Services – SOAP, XML

• Consequências

– Tecnologia disponível

– Grande número de alternativas

– Preços competitivos

Departamento de Engenharia Informática

Papel determinante da Internet

• Rede de Comunicação Aberta

• Alteração do padrão de utilização dos serviços de

telecomunicações

• Desenvolvimento de Standards de facto que

permitiram criar novas forma de trocar informação

– HTTP, HTML, XML

• Criação de ambientes de desenvolvimento

simplificados, ex.: PHP, Pearl

(9)

2/28/2007 Sistemas Distribuídos

Plataformas de suporte aos Sistemas

Distribuídos

Departamento de Engenharia Informática

Evolução Histórica

• Na análise dos Sistemas Distribuídos há duas

importantes perspectivas a considerar:

– A evolução ditada pelas redes Locais e portanto

baseadas em redes relativamente fiáveis, com elevado

débito e com um confinamento de segurança maior

– A evolução ditada pelas redes públicas inicialmente

limitadas em banda passante mas progressivamente

com melhor desempenho e com limitada segurança e

garantia de serviço

(10)

2/28/2007 Sistemas Distribuídos

Evolução Histórica

Os primeiros sistemas distribuídos foram implementados por grandes

organizações e pelas Universidades

Arpanet em 1969 uma rede de 4 nós patrocinada pelo DoD que

interligou universidades, com 50 nós em 1972

Redes especializadas

– Swift – transferências de dinheiro internacionais

– IATA – reservas de aviação

A maioria dos grandes fabricantes desenvolveu arquitecturas de rede

durante os anos 70

• SNA – IBM • DNA – DEC • DCA – Sperry

Departamento de Engenharia Informática

Interfaces de Comunicação

Máquina A

OS kernel

Níveis 7 a 5 Níveis 7 a 5 Sockets, TLI Níveis 3 a 1 Níveis 3 a 1 Máquina B

OS kernel

Níveis 7 a 5 Níveis 7 a 5 aplicaçãoaplicação Sockets, TLI Níveis 3 a 1 Níveis 3 a 1 aplicação aplicação Nível 4 Transporte Nível 4 Transporte Nível 4 Transporte Nível 4 Transporte

(11)

2/28/2007 Sistemas Distribuídos

Interfaces de Comunicação

• Interacção baseada na troca de mensagens

– Facilidade de transporte para múltiplos sistemas

• Exploração das APIs normais de comunicação

– Tipicamente da API de transporte (sockets)

– HTML

• Problemas:

– Cada aplicação possui um protocolo próprio

– Dificulta a utilização do protocolo por terceiros

– Desempenho porque é executado em modo utilizador

Departamento de Engenharia Informática

Exemplos

• telnet, rlogin, Winrdp- aplicações de terminal

remoto

• ftp, samba – Transferência de ficheiros

• SMTP – Correio electrónico

(12)

2/28/2007 Sistemas Distribuídos

Plataformas cliente/servidor

• Interacção via RPC (Remote Procedure Call)

– Definição clara de interfaces de serviços

– Linguagem de especificação de interfaces

– Ambiente de desenvolvimento

• Serviços fornecidos pelos SO

– Gestão de nomes

– Sistema de ficheiros distribuído

– Sincronização de relógios

• Mecanismos de segurança

– Autenticidade

– Privacidade

Departamento de Engenharia Informática

Evolução das Plataformas

1987

– Sun Microsystems – desenvolveu o Open Network Computing (ONC) como base do sistema do Network File System

– Apollo Computer desenvolveu o Network Computing System (NCS) – RPC

1989

– A Open Software Foundation (OSF) lançou um concurso para definir a plataforma distribuída o Distributed Computing Environment – DCE – A Object Management Group (OMG) foi formado para definir uma

plataforma de suporte a programação distribuída independente das linguagens de programação o Common Object Request Broker Architecture (CORBA)

1990

(13)

2/28/2007 Sistemas Distribuídos

Plataformas cliente-servidor

Máquina A Níveis 6 a 5 Nível 4 Transporte Nível 7 aplicação RPC run-time support Sockets, TLI Serviço do SO (cliente) Serviço do SO (cliente) Serviço do SO (servidor) Serviço do SO (servidor) Serviço do SO (cliente) Serviço do SO (cliente) Serviço do SO (servidor) Serviço do SO

(servidor) aplicaçãoaplicação

Níveis 3 a 1

Departamento de Engenharia Informática

Exemplo – Sistemas de Ficheiros Distribuido

E/S Gestão de memória Comunicação entre processos Gestão de aplicação aplicação Sistema de ficheiros Sistema de ficheiros E/S Gestão de memória Comunicação entre processos Gestão de aplicação aplicação

(14)

2/28/2007 Sistemas Distribuídos

Exemplos

• ONC - Open Networking Computing – Sun Microsystems

• DCE - Distributed Computing Environment – Open

Software Foundation

• DCOM – Distributed Component Object Model

-Microsoft

• Common Object Request Broker Architecture (CORBA)

-Object Management Group (OMG)

• RMI do Java

• SOAP – protocolo de invocação remota de Web services

Departamento de Engenharia Informática

Evolução (II)

1991

– A OSF distribui o DCE 1.0

– O CORBA 1.0 é distribuído com suporte para C. É definido o conceito de Object Request Broker - ORB

1993

– A IBM distribui um produto para comunicação por mensagem entre aplicações o MQSeries

1996

– A Microsoft distribui o Distributed Component Object Model (DCOM) relacionado com os desenvolvimentos anteriores do OLE, COM e ActiveX. O núcleo do DCOM baseia-se nas tecnologias de RPC da Microsoft que se pode considerar um Object RPC (ORPC)

– CORBA 2.0. Uma das evoluções é o modelo de comunicações entre ORB o Internet Inter-ORB Protocol (IIOP) que permite a ORB de vendedores diferentes cooperarem

(15)

2/28/2007 Sistemas Distribuídos

Sistemas de Objectos

As potencialidades da noção de objecto tornaram-na atractiva para

descrever diversos conceitos em Eng. Informática, dando origem a

uma tendência de evolução que se designa por OO de Object Oriented.

Diferenças entre a aproximação baseada em objectos e uma

arquitectura cliente-servidor,:

– No RPC invocam-se funções, os dados são entidades separadas,,

– Num sistema de objectos invoca-se uma função num determinado objecto que, como contém o seu próprio estado, torna indissociável a invocação da operação dos dados a que se aplica.

Existem vários sistemas comerciais com níveis de abstracção

diferentes os mais representativos são:

– Corba Common Object Request Broker Architectura – OMG – COM+ da Microsoft.

– Entreprise Java Beans – Sun

Departamento de Engenharia Informática

m4 m5 m6 Interface Remota m1 m2 m3 Código dos métodos Dados

Objecto remoto

(16)

2/28/2007 Sistemas Distribuídos

Evolução

• 1997

– A Sun distribui o JDK 1.1que inclui o Remote Method Invocation (RMI) que define um modelo de computação distribuída usando objectos Java. O RMI é semelhante ao CORBA e ao DCOM mas funciona só com objectos Java. – Microsoft desenvolveu o COM+sucessor do DCOM muito próximo do modelo

CORBA. • 1999

– A SUN distribui o Java 2 Platform Entreprise Edition (J2EE) que integra o RMI e o IIOP tornando mais simples a interoperação de sistemas entre sistemas Java e CORBA.

– O Simple Object Acess Protocol –SOAPapareceu pela primeira vez. • 2001

– A IBM e a Microsoft propõem as pilhas de protocolos dos Web Services à W3C (World Wide Web Consortium)

• Wire stack • Description stack • Discovery stack

Departamento de Engenharia Informática

Brokers de Mensagens

• A integração é feita através do encaminhamento de informação (mensagens) entre os sistemas.

• As aplicações recebem e enviam as mensagens para um servidor central (broker).

• As mensagens uma vez recebidas pelo broker podem ser reformatadas, combinadas ou modificas por forma a serem entendidas pelo sistema de destino.

• Normalmente não é necessário modificar os sistemas envolvidos. Os Message Brokers fornecem adaptadores para as aplicações mais comuns (SAP, Baan, PeopleSoft, etc.).

(17)

2/28/2007 Sistemas Distribuídos

Exemplos

• Java Messages – gestão de filas de mensagens da

plataforma J2EE.

• MSMQ – sistemas de filas de mensagens da

Microsoft

• MQseries – IBM

• Active Entreprise – Tibco

• Biztalk – Enterprise integration broker da

Microsoft

Departamento de Engenharia Informática

Sistema Operativo Distribuído

aplicação aplicação Sistema de ficheiros Sistema de ficheiros E/S E/S Gestão de memória Gestão de memória

Comunicação entre processos Comunicação entre processos

Gestão de processos Gestão de processos

(18)

2/28/2007 Sistemas Distribuídos

Exemplos

• Mach - [Acceta86],

• Chorus [Zimmerman81],

• V-Kernel

• Amoeba [Tanenbaum81]

Devido à complexidade de integração esta

arquitectura apenas teve expressão na

investigação e foi em grande medida ultrapassada

pela escala que a Internet impôs a estes sistemas

Departamento de Engenharia Informática

Formas de Realizar a Distribuição

• Utilização das interfaces de comunicação distribuída –

sockets, TLI

• Plataformas Cliente Servidor

– Sun RPC, ODBC,

• Brokers de Mensagens – Message Oriented Middleware

– MQ series, MSMQ, Biztalk

• Integração de componentes

– Corba RMI, .NET

• Sistemas Operativos Distribuídos - distribuição de todos os

serviços sistema

– Mach, Chorus

• Web Services

SO e Redes SD SD SD SEI SEI PADI

Referências

Documentos relacionados

Relógios Físicos: Sincronização Externa A sincronização externa tem como objectivo garantir que o desvio de todos os relógios físicos de um sistema em relação a um relógio

O uso de múltiplos processadores deve ser transparente ao usuário..  Máquinas não

Sistemas Distribuídos Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte – Campus Currais Novos.. Tecnologia em Sistemas para Internet

“Você sabe que existe um sistema distribuído quando a falha de um. computador que você nunca

Um processo envia uma msg em um passo de comunica¸ c˜ ao para todos os processos do sistema, incluindo ele mesmo O custo para garantir confiabilidade ´ e apenas do lado do emissor

O mapa da Figura 4 representa a localização das plataformas logísticas multimodais, por tipologia, em Portugal continental3. Sines (Polos A e B) Tunes Elvas/Caia Poceirão

• Apresentar uma visão geral de processamento distribuído, analisando os tópicos mais importantes sobre sistemas operacionais distribuídos, incluindo comunicação,

• Evitar a perda de umidade e a desidratação da superfície durante a secagem após a aplicação do revestimento. A busca de sistemas de aplicação de revestimento mais viáveis,