Sistemas Distribuídos

Documentos relacionados
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Características de Sistemas Distribuídos

Características de Sistemas Distribuídos

Sistema de Software Distribuído

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Introdução aos Sistemas Distribuídos

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

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

Computação Distribuída

Introdução. capítulo

Tecnologias de Distribuição e Integração. Quais as preocupações a ter com um sistema distribuído?

Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

Programação Distribuída. Metas de um Sistema Distribuído

Sistemas Distribuídos

INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS. Prof. Cesar Augusto Tacla

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Operacionais Distribuídos

Conceitos de Sistemas Distribuídos

Desenvolvimento de Aplicações Distribuídas

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Metas de um Sistema Distribuído

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !

Sistemas distribuídos. Prof. Emiliano Monteiro

O que é? É uma aplicação que consiste em 2 ou mais processos que executam em diferentes processadores que não partilham memória.

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos. Edy Hayashida

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Professor: Lau Cheuk Lung

Caracterização de Sistemas Distribuídos

Sistemas Distribuídos

Caracterização de Sistemas Distribuídos

Alcides Pamplona

Introdução à Computação

Introdução a SD e suas Metas

Arquitetura de sistemas distribuídos

Sistemas Distribuidos. Prof. Walter Gima

Introdução a Sistemas Distribuídos

Sistemas Distribuídos

trabalho Heitor Oliveira,Rafael Aleixo,Alex Rodrigues September 2013

TÓPICOS EM COMPUTAÇÃO APLICADA

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

Quando Distribuir é bom

SISTEMAS DISTRIBUÍDOS

Quando Distribuir é bom

Arquiteturas para SGBD. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

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

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

2/10/2014 Prof. Roberto Cesar Betini 1

Infra-Estrutura de Software

Projeto de Sistemas Distribuídos. Considerações

Introdução à Computação

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

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

Sumário. 1 Caracterização de Sistemas Distribuídos 1. 2 Modelos de Sistema Redes de Computadores e Interligação em Rede 81

SISTEMAS DISTRIBUÍDOS

Bancos de Dados Distribuídos. Bancos de Dados Distribuídos. Conteúdo. Motivação. Motivação. Introdução aos BDs Distribuídos.

SISTEMAS DISTRIBUÍDOS

Visão do Usuário da DSM

Introdução (hardware) INTRODUÇÃO Hardware. Introdução (hardware) Introdução (hardware) Introdução (hardware) Introdução (hardware)

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Projeto de Sistemas Distribuídos. Considerações

Arquitectura de Sistemas Paralelos e Distribuídos Modelos de Sistemas

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

Sistemas Distribuídos

Introdução aos Sistemas Operacionais

SISTEMAS OPERACIONAIS

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Características de Sistemas de Arquivos Distribuídos Serviços de nomes e diretórios

Curso: Redes de Computadores

Sistemas Distribuídos

Engenharia de Software

Sistemas Operacionais: O quê? Por quê? Quando?

Processos ca 3 pítulo

FUNDAMENTOS DE REDES DE COMPUTADORES AULA 2: MODELO OSI. Professor: LUIZ LEÃO

Arquitetura de Computadores Paralelos. Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela

Introdução à Ciência da Computação

Aula 2. Prof: Carlos Eduardo de Carvalho Dantas

O uso consciente da tecnologia para o gerenciamento. Editora Saraiva Emerson de Oliveira Batista

Programação Paralela e Distribuída

Sistemas Operacionais (SO)

Introdução aos Sistemas Distribuídos

Sistemas Distribuídos. Prof. Marcelo de Paiva Guimarães

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

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

Sistemas Distribuídos

Sistemas Distribuídos

Transcrição:

Sistemas Distribuídos

Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens. [Couloris2005]

Definição Esta definição indica as seguintes características: Concorrência Compartilhamento, coordenação Sem relógio global Sincronização, coordenação Falhas independentes Rede, computador, programa,...

Exemplos Sistemas Distribuídos estão em todo lugar Internet Intranet Computação móvel

Internet típica ISP intranet backbone desktop computer: server: network link: satellite link

Intranet típica print and other servers email server Desktop computers Web server Local area network email server File server print other servers the rest of the Internet router/firewall

Dispositivos portáveis em Sistemas Distrituídos Internet Host intranet Wireless LAN WAP gateway Home intranet Printer Camera Mobile phone Laptop Host site

Motivação Compartilhamento de Recursos Principal motivador para a construção de sistemas distribuídos Recurso caracteriza coisas que podem ser utilmente compartilhadas em uma rede Componentes de hardware: discos, impressoras Componentes de software: arquivos, bases de dados e objetos de dados (video, audio) WEB : html, url, http, web services

Desafios A construção de sistemas distribuídos produz muitos desafios Muitos deles já foram alcançados Mesmo assim é preciso conhece-los e ter cuidado com eles Heterogeneidade, Abertura, Segurança, Escalabilidade, Tratamento de falhas, Concorrência, Transparência

Desafios (1) Heterogeneidade: eles são construídos de uma variedade de diferentes redes, sistemas operacionais, hardware e linguagens de programação Protocolos de comunicação Internet Middleware

Multiprocessadores e Multicomputadores Diferentes organizações basicas: memória compartilhada X privada e interconexão barramento X chaveamento

Conceitos de Software Sistema Descrição meta SOD SOR Sistemas operacionais fortemente acoplados para multi-processadores e multicomputadores homogêneos Sistemas operacionais fracamente acoplados para multicomputadores heterogêneos (LAN and WAN) Esconder e gerenciar recursos de hardware Oferecer serviços locais para clientes remotos Nível adicional em cima do SOR Prover distribuição Middleware implementando serviços de propósito geral transparência Revisão entre: SOD (DOS - Distributed Operating Systems) SOR (NOS - Network Operating Systems) Middleware

SO Multicomputador (1)

Sistema Operacional de Rede

Middleware

Middleware Em um sistema distribuído aberto baseado em middleware, os protocolos usados por cada middleware deveriam ser os mesmos, assim como as interfaces que eles oferecem para as aplicações.

Desafios (2) Abertura: Eles deveriam ser extensíveis o primeiro passo é publicar as interfaces dos componentes, mas a integração de componentes escritos por diferentes programadores é o desafio real Caracterizados pela publicação de suas interfaces Baseados no fornecimento de um mecanismo de comunicação uniforme Independência de fornecedor

Desafios (3) Segurança Criptografia pode ser usada para fornecer proteção adequada de recursos compartilhados e para manter informação sensitiva secreta quando é transmitida em mensagens na rede. Denial of service attacks Security of mobile code

Desafios (4) Escalabilidade Um SD é escalável se ele permanece efetivo quando existe um significativo aumento no número de recursos e de usuários. Algoritmos usados para acessar dados devem evitar gargalos e dados devem ser estruturados de forma hierárquica para conseguir os melhores tempos de acesso Dados acessados frequentemente podem ser replicados

Problemas de Escalabilidade Conceito Exemplo Serviços centralizados Um único servidor para todos os usuários Dados centralizados Algoritmos centralizados Um único guia telefônico on-line Fazer roteamento basedo em informação completa

Desafios (5) Tratamento de falhas Qualquer processo, computador ou rede pode falhar independentemente dos outros. Assim, cada componente necessita estar avisado das possíveis formas nas quais os componentes dos quais ele depende podem falhar e ser projetado para tratar com cada uma das falhas de forma apropriada. Detecção, mascarar, tolerar, recuperar, usar redundância

Desafios (6) Concorrência A presença de múltiplos usuários em um SD é uma fonte de requisições concorrentes aos seus recursos. Cada recurso deve ser projetado para estar seguro em um ambiente concorrente. Operações sincronizadas (semáforos)

Desafios (7) Transparência A idéia é fazer alguns aspectos da distribuição invisíveis para o programador da aplicação de forma que sua única preocupação é com o projeto da sua aplicação. Sem preocupação com localização ou como suas operações são acessadas por outros componentes, ou quando é replicado ou migrado.

Transparência Acesso Localização Migração Replicação Concorrência Falha Transparência Descrição Permite recursos remotos e locais ser acessados usando operações idênticas Permite acessar o recurso sem conhecimento da localização física ou de rede Permite movimento de recursos e clientes no sistema sem afetar a operação de usuários e programas Permite múltiplas instâncias de recursos ser usadas para aumentar confiabilidade e desempenho sem conhecimento das réplicas pelos usuários ou programadores de aplicação Permite varios processos operar concorrentemente usando recursos compartilhados sem interferência entre eles Oferece o confinamento de falhas, permitindo usuários e programas de aplicação completar suas tarefas independente da falha de componentes de hardware ou software