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

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

Características de Sistemas Distribuídos

Caracterização de Sistemas Distribuídos

Conceitos de Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

Introdução aos Sistemas Distribuídos

Características de Sistemas Distribuídos

Sistema de Software Distribuído

Sistemas Distribuídos

Sistemas Distribuidos. Prof. Walter Gima

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

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS EVOLUÇÃO DA COMPUTAÇÃO

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

SIST706 Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

STD29006 Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

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

Sistemas Distribuídos

Sistemas distribuídos. Prof. Emiliano Monteiro

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

Tipos de Clusters. Introdução. Introdução 21/03/12

Computação Distribuída

Arquitetura de sistemas distribuídos

Quando Distribuir é bom

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

Quando Distribuir é bom

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

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Alcides Pamplona

Sistemas Distribuídos

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

O que é um sistema distribuído?

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

Desenvolvimento de Aplicações Distribuídas

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 1- Introdução aos Sistemas Distribuídos

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

1.3 Noções básicas de sistemas operacionais. Lêda Monteiro

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

Introdução à Informática

Aula 1 Conceitos Básicos

Programação Concorrente

Curso: Redes de Computadores

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

Programação Paralela e Distribuída

Introdução a Sistemas Distribuídos

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

Caracterização de Sistemas Distribuídos

Sistemas Distribuídos. Edy Hayashida

Sistemas Operacionais. Tipos de SO

08/08/2016. Prof. Richard Brosler

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

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

PROGRAMA DE DISCIPLINA

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Introdução a Sistemas Operacionais. Adão de Melo Neto

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

HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP

Introdução aos Sistemas Distribuídos

Estilos Arquiteturais

SERVIÇOS WEB. Frankley Gustavo F. Mesquita, Tamiris Souza Fonseca. 27 de junho de 2016

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

SISTEMAS OPERACIONAIS

Redes de Computadores.

Aula 2. Prof: Carlos Eduardo de Carvalho Dantas

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

Introdução à Computação

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1

Redes P2P. Apresentadora: Luciana Pereira Oliveira. Duração: 40 minutos Data: 20/07/

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

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

Informática I. Aula 2. Ementa

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

Invocação Remota. Prof. Leonardo Barreto Campos. 1/29

Introdução aos Sistemas Operacionais

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

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior

Desenvolvimento de Aplicações Distribuídas

informação enviada (ex. Facebook) ou que a rede social utilize essa informação para sugerir locais de interesse próximos ao usuário (ex. Foursquare).

ESPECIFICAÇÕES DE UMA REDE DE AUTOMAÇÃO. Taxa de transmissão. Topologia física

Introdução a SD e suas Metas

Aula 5 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MULTI PLAYER. Marcelo Henrique dos Santos

Introdução. capítulo

Engenharia de software distribuído. Artur Sampaio Lívia Castro Degrossi

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

Concorrência em Processos

Sistemas Distribuídos

Sérgio Koch Van-Dall

Top. Esp em Banco de Dados

Sistemas de Bancos de Dados Distribuídos

Transcrição:

Sistemas Distribuídos Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com! EMENTA: Plano de Curso! Conceitos. Comunicação entre processos (IPC). Programação de aplicações cliente- servidor. Sincronização em sistemas distribuídos. Algoritmos distribuídos. Sistemas distribuídos tolerantes a falhas. Sistemas operacionais distribuídos. Objetos distribuídos.! CARGA HORÁRIA: 60 h/a! OBJETIVO GERAL: Apresentar ao aluno os principais conceitos de sistemas distribuídos e suas aplicações.! OBJETIVOS ESPECÍFICOS: Plano de Curso 1. Compreender a evolução, os aspectos de projeto e a arquitetura das plataformas de sistemas distribuídos. 2. Compreender as características de funcionamento da comunicação e sincronização em sistemas distribuídos. 3. Instrumentalizar o aluno em técnicas de projeto e desenvolvimento de sistemas de informação distribuídos. 4. Apresentar tecnologias de hardware e software utilizadas em ambientes distribuídos. 1

Introdução! Desenvolvimento dos microprocessadores;! Redução do custo e do tamanho dos computadores;! Invenção das redes (locais) de computadores. Introdução! Observe:! Poder de processamento local ( CPU + MEMORIA,...) +! Rede de Computadores - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! Sistema Distribuído Introdução! Sistemas de computação compostos por um grande número de processadores ligados através de redes de alta velocidade;! Contraste com sistemas centralizados, compostos por um único processador, memória, periféricos e terminais. 2

Motivação dos SD! Barateamento da plataforma de hardware:! Compartilhamento de recursos 1 ;! Maior poder de processamento;! Melhor relação custo x desempenho. 1. Coisas que podem ser compartilhadas em uma rede (discos, impressoras, arquivos, bancos de dados, etc). Motivação dos SD! Avanço das redes de computadores! Maior confiabilidade;! Maiores taxas de transferência;! Menores custos de implementação;! Surgimento e popularização da Internet. Vantagens SD/Centralizados 1. Economia: Melhor relação preço/performance; 2. Compartilhamento de recursos: Permite que mais de um usuário acesse dados e dispositivos em comum; 3. Velocidade: Poder de processamento maior; 4. Confiabilidade: Se uma máquina pára, o serviço continua executando. 3

Vantagens SD/Centralizados 5. Distribuição inerente: Algumas aplicações envolvem máquinas separadas fisicamente; 6. Crescimento incremental: O poder computacional pode crescer em doses moderadas; 7. Comunicação: Torna mais simples a comunicação entre as pessoas (ex., correio eletrônico) 8. Flexibilidade: Distribui a carga de trabalho por todas as máquinas disponíveis na rede Limitações dos SD! Software: Complexidade de projeto, implementação e utilização;! Ligação em rede: Perda de mensagens e sobrecarga de tráfego.! Segurança: Conseqüência do compartilhamento de recursos. Definições! Um sistema distribuído é uma coleção de computadores independentes que aparecem para os usuários do sistema como um único computador. (TANENBAUM, 2007)! Um sistema distribuído é algo que não deixa você trabalhar por causa da falha de uma máquina da qual nunca se ouviu falar. (Leslie Lamport) 4

Definições! Um sistema distribuído é um sistema composto de vários computadores interconectados através de uma rede e que hospedam processos que usam um conjunto comum de regras (protocolos distribuídos) para ajudar a execução coerente de suas atividades. (VERÍSSIMO e RODRIGUES, 2000)!... aquele no qual os componentes localizados em computadores interligados em rede se comunicam e coordenam suas ações apenas passando mensagens. (COULOURIS, 2007) Paradigmas! Falsas premissas adotadas pelo desenvolvedor inexperiente de aplicações distribuídas: 1. A rede é confiável; 2. A rede é segura; 3. A rede é homogênea; 4. A topologia não muda; 5. A latência é zero; 6. A largura de banda é infinita; 7. O custo de transporte é zero; 8. Há só um administrador. Características de um SD! Comunicação através de troca de mensagens:! Necessidade de infra- estrutura de comunicação.! Ausência de relógio global:! Visão independente dos eventos;! Coordenação e sincronização;! Estado compartilhado.! Estado = trânsito de mensagens + valores das variáveis 5

Características de um SD! Execução concorrente de programas:! A norma em uma rede de computadores;! Coordenação de programas em execução concorrente e que compartilham recursos.! Falhas independentes / Tolerância a falhas:! Cada componente do sistema pode falhar independentemente, deixando os outros ainda em funcionamento. Arquitetura de um SD Arquitetura de um SD! Um sistema distribuído organizado como um middleware. A camada do middleware se extende sobre múltiplas máquinas;! Middleware: Camada de software que fornece uma abstração de programação, ocultando a heterogeneidade das redes, do hardware, de sistemas operacionais e linguagens de programação. 6

Middleware! Oculta o fato de que as mensagens passam por uma rede de computador para enviar o pedido de invocação e suas respostas. Exemplos de SD! Internet;! Intranet;! Computação móvel e ubíqua/pervasiva;! Sistemas de computação distribuídos;! Sistemas de informação distribuídos; Internet! Conjunto de redes de computadores de tipos diferentes e interligadas;! Programas interagem enviando mensagens em um meio de comunicação comum, com auxílio dos protocolos apropriados. 7

Internet Computação Móvel! execução de tarefas de computação, enquanto o usuário está se deslocando de um lugar a outro ou visitando lugares diferentes de seu ambiente usual.! Ex:! Aplicações que usem GPS;! Rastreamento de Veículos; Computação Ubíqua! Utilização de vários dispositivos computacionais pequenos e baratos, que estão presentes nos ambientes físicos dos usuários.! Ex:! Sistemas de RFID s;! Reconhecimento Facial;! Controle remoto da iluminação da casa. 8

Computação Pervasiva! Pequenos e/ou energia limitada e/ou móveis e/ou comunicação através de redes sem fio;! Deve se acomodar a mudança de contexto, composição do sistema completamente adhoc, se organizam principalmente para compartilhar recursos. Sistemas de Computação Distribuída! Alto desempenho! Cluster (alto grau de homogeneidade):! Mesmo sistema operacional, mesmo hardware e mesma LAN etc.! Grid (alto grau de heterogeneidade):! Diferentes sistemas operacionais, diferentes hardware, diferentes redes LANs etc. Exemplo de um sistema de computação em cluster 9

Sistemas de informação distribuídos! Sistema de processamento transacional: Sistemas de informação distribuídos! Integração de Aplicações Coorporativas: Compartilhamento de Recursos! Hardware: impressoras, discos, etc.! Redução dos custos.! Dados: arquivos, bancos de dados, etc.! Informações necessária às aplicações ou ao trabalho. 10

! Gerencia um conjunto de recursos relacionados;! Apresenta sua funcionalidade para usuários e aplicativos.! Ex.: sistema de arquivos, serviço de impressão, etc.! O acesso a um serviço através de suas operações:! Exemplo: leitura, escrita e exclusão de arquivos.! Cada recurso deve ser gerenciado por um programa que ofereça uma interface de comunicação, permitindo ao recurso ser acessado e atualizado de forma confiável e consistente.! Servidor: programa em execução (um processo) em um computador interligado em rede, que aceita pedidos de programas em execução em outros computadores para efetuar um serviço e responder apropriadamente.! Os processos que realizam os pedidos são referidos como clientes. 11

! Uma interação completa entre um cliente e um servidor, desde o envio do pedido até o recebimento da resposta, é chamada de requisição remota.! Um navegador web em execução é um exemplo de cliente.! O navegador se comunica com um servidor web para solicitar páginas web.! A Web é baseada em três componentes tecnológicos padrão principais: 1. HTML (HyperText Markup Language): Linguagem para especificar o conteúdo e o layout de páginas a serem exibidas pelos navegadores web. 2. URLs (Uniform Resource Locators): Identificam os documentos e outros recursos armazenados como parte da web. 3. HTTP (HyperText Transfer Protocol): Protocolo que permite a interação entre navegadores e clientes, buscando documentos e outros recursos web. 12

! Aspectos de Evolução da Web: 1. Páginas dinâmicas (.NET, JSP, PHP etc); 2. Padrões de interoperabilidade (XML); 3. s web (web services); 4. Web Semântica; Bibliografia! COULOURIS, George; DOLLIMORE, Jean; KINDBERG, Tim. Sistemas Distribuídos: conceitos e projeto. 4. ed. Porto Alegre: Bookman, 2007.! TANENBAUM, Andrew S. Sistemas Operacionais Modernos. Rio de Janeiro: Prentice- Hall, 1992.! TANENBAUM, Andrew S. Sistemas Distribuídos: princípios e prática. 2. ed. São Paulo: Bookman, 2007.! VERÍSSIMO, Paulo; RODRIGUES, Luís. Distributed Systems For Architects. Kluwer Academic Publishers, 2001. 13