Aula 1 - Professor Diovani

Propaganda
Redes de computadores II
Sistemas operacionais distribuídos
Prof. Diovani Milhorim
Sistemas operacionais distribuídos

Sistemas operacionais Distribuídos
Sistemas operacionais distribuídos

Sistemas operacionais Distribuídos
“Um sistema distribuído é uma coleção de computadores
independentes que parecem ao usuário um único computador.”
Tanembaum
Isto implica em hardware formado por várias máquinas autônomas
e um software que fornece a abstração de uma máquina única.
Sistemas operacionais distribuídos

Sistemas Distribuídos
Sistemas distribuídos são formados por um
conjunto de componentes de hardware e
software unidos por uma estrutura de
comunicação.
Sistemas operacionais distribuídos

Sistemas Distribuídos
Avanços tecnológicos que propiciaram o desenvolvimento
de sistemas distribuídos

Invenção de redes de computadores de alta velocidade (anos 70):
 Rede local (Local Area Network - LAN)
 Rede global (Wide Area Network - WAN)

Desenvolvimento de microprocessadores potentes (anos 80).
Sistemas operacionais distribuídos

Sistemas Distribuídos
Exemplos de Sistemas distribuídos:



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
Sistemas operacionais distribuídos

Sistemas Distribuídos
Exemplos de Sistemas distribuídos:




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
Sistemas operacionais distribuídos

Sistemas operacionais Distribuídos
Vantagens de Sistemas Distribuídos em relação a Sistemas
Centralizados:






Preço: Hardware de baixo valor agregados.
Velocidade: é possível construir sistemas com valor agregado muito
maior
Distribuição física: algumas aplicações são essencialmente
distribuídas (e.g., correio eletrônico)
Confiabilidade: se uma máquina quebra, outras podem guardar
backup
Disponibilidade: se uma máquina sai do ar, pode-se usar outra
Crescimento incremental: podemos acrescentar (ou retirar) recursos
aos poucos
Sistemas operacionais distribuídos

Sistemas operacionais Distribuídos
Desvantagens de Sistemas Distribuídos em relação a Sistemas
Centralizados:



Software: ainda não está tão maduro quanto o software para
sistemas centralizados
Rede: ela pode cair, pode ficar saturada, congestionar
Segurança: roubo de dados, ataques de negação de serviço
Sistemas operacionais distribuídos

Sistemas operacionais Distribuídos
Questões de projeto:
Desempenho





Normalmente é sinônimo de velocidade
tempo de resposta
velocidade de processamento (throughput)
utilização dos processadores
parcela da rede utilizada
Sistemas operacionais distribuídos

Sistemas Distribuídos
Os componentes cooperam e coordenam-se
com um objetivo comum:
 Sistemas operacional distribuído
 Aplicação distribuída.
Sistemas operacionais distribuídos

Sistemas operacionais Distribuídos
Requisitos necessários aos sistemas distribuídos:
Transparência





de localização : os usuários não sabem onde está o recurso.
de migração : os recursos podem se movimentar.
de replicação : os usuários não sabem quantas copias de um
recurso existe.
de concorrência (compartilhamento simultâneo de recursos)
de paralelismo (atividades executadas em paralelo)
Sistemas operacionais distribuídos

Sistemas operacionais Distribuídos
Confiabilidade / Tolerância a Falhas:

Disponibilidade
Evita perda de dados em caso de falha de uma máquina

Mecanismo mais comum: replicação

Sistemas operacionais distribuídos

Sistemas Distribuídos
Dificuldades:
 Sistemas operacionais muito heterogêneos
 Hardwares muito distintintos
 Redes e protocolos de comunicação diferentes.
 Linguagens de programação diferentes
 Etc..
Sistemas operacionais distribuídos

Sistemas Distribuídos
Solução:


Middleware
Máquina virtuais.
Sistemas operacionais distribuídos

Sistemas Distribuídos
Middleware:
Camada intermediária de software que fornece
um conjunto de serviços e esconde as
disparidades dos sistemas existentes.
Sistemas operacionais distribuídos
Sistemas Distribuídos
Middleware:

Sistemas operacionais distribuídos
Sistemas Distribuídos
Middleware:

A camada de middleware é introduzida entre a aplicação e
o sistemas operacional.
 Abstrai as interfaces de sistemas diferentes.
 Fornece uma interface de programação homogênea.
 Fornece interoperabilidade de aplicações distribuídas
independente das plataformas
Sistemas operacionais distribuídos
Sistemas Distribuídos
Middleware:

Exemplo:



Java
Corba
Vmware infraestructure
Sistemas operacionais distribuídos

Sistemas Distribuídos
Máquina virtuais.
Cria um ambiente de execução simulado, onde
um sistema operacional pode trabalhar
utilizando as funcionalidades de outro
sistema operacional hospedeiro.
Sistemas operacionais distribuídos

Sistemas Distribuídos
Máquina virtuais.
Sistemas operacionais distribuídos

Sistemas Distribuídos
Máquina virtuais.
Cria interface idênticas em sistemas diferentes.
Estas interfaces podem ser usadas para
hospedar um único programa ou um sistema
operacional inteiro.
Sistemas operacionais distribuídos

Sistemas Distribuídos
Máquina virtuais.
Exemplos:
 Vmware player
 Java virtual machine
Sistemas operacionais distribuídos

Sistemas Distribuídos
Sistemas distribuídos podem ser independentes dos
sistemas operacionais.
Sistemas distribuídos x internet
Ex.
sistemas de e-mail
servidores de páginas
servidores de banco de dados.
Sistemas operacionais distribuídos

Exemplo de sistema distribuído
Cluster é um conjunto de máquinas (no caso
de cluster Linux, especificamente, PC's)
interligadas via rede que trabalham em
conjunto trocando informações entre si.
Sistemas operacionais distribuídos

Cluster:
A tecnologia de cluster é mais antiga do que se pensa. Ela
começou nas máquinas de alto desempenho (supercomputadores).
O desenvolvimento dessa tecnologia em PC's
foi motivada devido ao alto preço dos supercomputadores,
começando em 1994 com o desenvolvimento do cluster Beowulf
pela NASA.
Sistemas operacionais distribuídos

Cluster:
Uma característica chave de um cluster Beowulf é o uso do
Linux e de bibliotecas para troca de mensagens de livre
distribuição, permitindo assim alterações no sistema operacional.
Sistemas operacionais distribuídos

Cluster:
Um cluster pode possuir vários tipos de configurações diferentes,
tanto na montagem do hardware quanto na configuração do
sistema. Os tipos mais comuns de Clusters linux são:


Cluster de processamento paralelo
Cluster de disponibilidade
Sistemas operacionais distribuídos

Cluster de processamento paralelo:
Cada vez que o cluster recebe uma tarefa para executar
(por exemplo, a renderização de um filme), já
previamente preparada para rodar em processamento
paralelo, o cluster divide os pedaços da tarefa para cada
uma das máquinas realizar. Um cluster paralelo é ideal
para executar poucas tarefas, mas que exigem grande
quantidade de processamento.
Sistemas operacionais distribuídos

Cluster de disponibilidade:
Esse tipo de cluster funciona como um gerenciador de
tarefas, ou seja, cada máquina trabalha sozinha, porém
a distribuição de tarefas é feita de tal forma que os
processadores estão sempre trabalhando na capacidade
total. Nesse tipo de cluster é vital a implementação de
um sistema de filas com vários níveis de prioridades
diferentes. Esse tipo de cluster é ideal para trabalhar
com grandes quantidades de tarefas que exigem
pequenas ou médias capacidades de processamento.
Download