Você está na página 1de 45

Sistemas Computacionais e

Aplicações
Prof. Me. Fábio Fonseca Barbosa Gomes
Apresentação Pessoal

• Bacharel em Sistemas de Informação na FIB desde 2007;


• Especialista em Redes de Computadores e
Telecomunicações pela UNIFACS desde 2010;
• Mestre em Sistemas e Computação pela UNIFACS desde
2016;
• Certificação ITIL;
• Professor nos Institutos Politécnicos de Angola por 2 anos e
em instituições como: SENAI, UNINASSAU e SENAC;
• Atualmente, atuo como professor no Centro Universitário
Dom Pedro II e UNIRB.
Avaliações e Pontuação

• Unidade I
• 1 Atividade em grupo pontuada: 10,0

• Avaliação II
• 1 Atividade individual pontuada: 10,0
Introdução aos Sistemas
Distribuídos
Prof. Me. Fábio Fonseca Barbosa Gomes
Conteúdo
•Caracterização de SD;
•Exemplos de SD;
•Objetivos de SD;
•Conceitos de hardware em SD;
•Conceitos de software em SD;
•Histórico.
Definição de Sistemas Distribuídos
•"Um sistema distribuído é uma coleção de computadores
autônomos conectados por uma rede e equipados com
um sistema de software distribuído." [Coulouris et al.,
1994];

•"Um sistema distribuído é uma coleção de computadores


independentes que aparenta ao usuário ser um
computador único." [Tanembaum, 1995].
Outra definição de SD

•"Você sabe que tem um sistema distribuído quando a falha


de um computador do qual você nunca ouviu falar faz
com que você pare completamente de trabalhar." [Leslie
Lamport]
Histórico e Avanços da TI

•Invenção de redes de computadores de alta


velocidade (anos 1970):
•Rede local (Local Area Network - LAN)
•Rede global (Wide Area Network - WAN)

•Desenvolvimento de microprocessadores potentes


(anos 1980).
Evolução histórica

• Não existia a interação entre usuário e computador:


•Alto custo para processos interativos: depuração.

• Início dos anos 60: sistemas de time sharing:


•Utilização de diversos terminais “burros” conectados a um
computador;
•Impressão de um computador por usuário.
Evolução histórica
•Tarefas principais/comuns são executadas pelo
computador principal:
•Desenvolvimento dos minicomputadores: menores e mais
rápidos!

•Em direção aos sistemas distribuídos!


•Compartilhamento de recursos;
•Acesso remote.
•Terminais e computador muito próximos;
Evolução histórica
•Final dos anos 60 e início dos anos 70: surgimento das
redes de computadores e do sistema operacional UNIX;
•Ethernet – Xerox Palo Alto (1973): Local Area
Network:
•Permitiu interligar mais computadores a distâncias maiores
usando uma velocidade maior (e.G. Rede de computadores de um
prédio);

•ARPANet – DoD (1969): Wide Area Network:


•Interligação entre computadores localizados dispersamente
(cidades e/ou países diferentes);
Expansão da Rede Global nos EUA
Expansão da Rede Global na Terra
Evolução histórica
• Final dos anos 70: protocolo TCP/IP:
•definição de padrão para comunicação entre
computadores;

• Início dos anos 80: microprocessadores e estações de


trabalho:
•redução do custo (em relação aos mainframes);
• Final dos anos 80: estações de trabalho ligadas em rede:
•diversos serviços para comunicação entre
pessoas/máquinas;
•FTP, TELNET, MAIL.
Motivação
• Avanços em microeletrônica:
• Processadores mais rápidos e baratos;
• Avanços em comunicações:
• Redes mais eficientes e confiáveis;
• Popularidade das redes de computadores:
• Redes de telefones celulares, redes corporativas, redes
caseiras;

• Redes de computadores de alta velocidade (Myrinet


~2Gb/s).
Motivação
• Compartilhamento de recursos:
• Componentes de HW (disco, impressora);
• SW (arquivos, bases de dados, programas);
• Outros (vídeo, áudio).

• Relação custo/desempenho:
• Melhor utilizar diversos processadores interconectados do que
um único computador centralizado;
Características Gerais do SD

•Vários computadores;
•Interconectados por uma rede;
•Compartilhando um estado.
Compreendendo os SD

•É comum agrupar uma grande quantidade de computadores e


conectá-las em uma rede de alta velocidade, hoje.

•O software para sistemas distribuídos é completamente


diferente do software para sistemas centralizados e está apenas
começando a se desenvolver.
Compreendendo os SD

• Os softwares para sistemas distribuídos são fracamente acoplados:


• Sistemas que utilizam computadores em redes;
• Passam a sensação de um único sistema local, porém é DISTRIBUÍDO
por todos so computadores da rede.

• O softwares para sistemas centralizados são fortemente acoplados:


• Cada sistema tem seu próprio computador local e memória.
Exemplos de SD
•Uma rede de estações de trabalho em uma
universidade ou companhia;

•Uma rede de computadores em uma fábrica;

•Um grande banco com muitas agências, cada qual


com um computadores e caixas automáticas.
Exemplos de SD (continuação)
•Sistema de reserva de passagens aéreas;

•Sistema de controle de estoque, vendas e entregas numa


cadeia de lojas;

•Serviços da Internet: Netnews, WWW;

•Sistemas de acesso a recursos de multimídia e de


conferência.
Vantagens de Sistemas Distribuídos sobre Sistemas
Centralizados

•Melhor relação custo/benefício;


•Capacidade de processamento além dos limites práticos de
SC (velocidade da luz, aquecimento);

•Maior domínio de aplicações;


•Maior confiabilidade e disponibilidade;
•Crescimento gradativo da capacidade de processamento.
Vantagens de SD sobre PCs independentes

•Compartilhamento de dados entre usuários;


•Compartilhamento de recursos de hardware e
software;
•Comunicação existente entre pessoas;
•Flexibilidade na distribuição de tarefas de
acordo com as aplicações.
Desvantagens de SD

•Falta de software adequado;

•Falhas e saturação da rede de comunicação podem


eliminar as vantagens de SD;

•Segurança pode ser comprometida: fácil acesso a


dados e recursos reservados.
Hardware em SD
Software básico em SD
Sistemas operacionais de rede

•Estações de trabalho conectadas por uma LAN;


•Cada estação tem seu próprio sistema operacional;
•Ferramentas para login remoto e cópia de arquivos
entre estações;

•Servidores de arquivos e ferramentas para causar


aparência de arquivo local.
Sistemas distribuídos autênticos
•A rede toda tem aparência de ser um único sistema
timesharing: virtual uniprocessor, single-system
image;

•Mecanismo global para comunicação entre


processos;

•Gerenciamento de processos homogêneo;


•Sistema de arquivos homogêneo.
Sistemas timesharing para multiprocessadores

•Filaúnica de processos prontos para execução:


melhor distribuição de carga;

•CPUs especializadas em: executar processos,


controlar periféricos, executar sistema operacional
(gerenciar a memória global);

•Sistema de arquivos comporta-se de maneira


semelhante a um SC.
Comparação de SW para SD
Atividades
1. O que é um sistema fortemente acoplado?

2. O que é um sistema fracamente acoplado?

3. Defina um sistema distribuído.

4. O que é um sistema time-sharing?

5. O que são as motivações para uso do SD?


Características de SD
Características básicas de SD
•Compartilhamento de recursos;
•Extensibilidade (openness);
•Concorrência;
•Escalabilidade (crescimento gradativo suave);
•Tolerância a falhas;
•Transparência.
Compartilhamento de recursos

•Componentes de hardware: discos, impressoras, etc


•Componentes de software: arquivos, bancos de
dados, etc

•Modelos básicos:
•Modelo cliente-servidor
•Modelo baseado em objetos
Extensibilidade

•Extensões de hardware: periféricos, memória,


interfaces de comunicação, etc;

•Extensões de software: funções de SO, protocolos


de comunicação, etc;

•Interfaces chaves são públicas (system calls);


•Mecanismo uniforme de comunicação entre
processos.
Concorrência

•Mais de um processo em execução a cada instante:


•Atividades separadas de usuários;
•Independência de recursos;
•Localização de processos servidores em computadores
distintos;

•Acesso concorrente a recursos compartilhados


requer sincronização;
Escalabilidade

•Quantidade de trabalho envolvido no


processamento de qualquer requisição de acesso a
um recurso compartilhado independe do tamanho
da rede;

•Técnicas: replicação, caching, servidores múltiplos;


Tolerância a falhas
•Falhas de hardware e software (em CPUs e redes):
programas param ou produzem resultados errados

•Abordagens:
•Redundância de hardware (Ex: banco de dados
replicado em diversos servidores)

•Recuperação por software: manter dados


permanentes sempre consistentes
Transparência

•Esconder do usuário e do programador de


aplicações a separação de componenentes em um
sistema distribuído, tal que este seja visto como um
sistema centralizado;

•Formas de transparência: acesso, localização,


concorrência, replicação, falha, migração,
desempenho e escala;
Transparência de acesso

Operações de acesso a objetos de


informação são idênticas para objetos locais
e remotos

Exemplo:
Operação de envio de uma mensagem eletrônica
especificando o destinatário através de seu
endereço Internet
Transparência de localização

Acesso a um objeto ocorre sem que seja necessário


o conhecimento de sua localização

Exemplo:
Operação de envio de uma mensagem eletrônica
especificando o destinatário através de seu endereço
Internet
Outras formas de transparência

•Concorrência: processos operam concorrentemente


usando objetos de informação comuns sem interferência
entre eles.

•Replicação: várias instâncias de um objeto de informação


são usadas sem requerer o conhecimento das réplicas
pelos usuários e aplicações.

•Falha: mascaramento de falhas de hardware e software.


Outras formas de transparência

•Migração: movimento de objetos de informação dentro


do sistema não afeta a operação de usuários e aplicações.

•Desempenho: reconfiguração do sistema para melhorar


desempenho conforme a carga varia.

•Escala: o sistema e as aplicações podem expandir em


escala sem requerer modificações na estrutura do sistema
ou nos algoritmos das aplicações.
Atividades
Referência Básica

•G. Coulouris, J. Dollimore, T. Kindberg.


Addison-Wesley, 1994, Distributed Systems: Concepts
and Design. ISBN 0-201-62433-8. (Capítulos 4 e 5)

•A. S. Tanenbaum, 1995; Distributed Operating Systems.


Prentice-Hall. ISBN 0-13-219908-4. (Seções 2.4 e 2.5)

Você também pode gostar