Sistemas Distribuídos: Hardware e Software

Classificado em Computação

Escrito em em português com um tamanho de 7,36 KB.

Sistemas Distribuídos

Antigo (até 1985)

Computadores grandes e caros (mainframes).

A partir de 1985

Desenvolvimento de microprocessadores mais rápidos; invenção das LANs.

Definição de S.D.

Uma coleção de computadores independentes que se apresentam como se fossem um único sistema coerente. S.D. possibilita montar um sistema computacional composto por um número expressivo de processadores interligados em uma rede de alta velocidade.

As Máquinas de S.D.

São autônomas, ou seja, podem possuir S.Os distintos, arquiteturas diferentes... Os usuários enxergam o sistema como um simples sistema, abrindo, por exemplo, um terminal remoto.

Vantagens do S.D. em Relação ao Sistema Centralizado

  • Máquinas mais baratas sem a necessidade de usar os mainframes (grandes e caros);
  • Fácil expansão do sistema;
  • Confiabilidade, ou seja, caso uma máquina do sistema quebre, as demais continuam funcionando;
  • Algumas aplicações precisam de máquinas fisicamente fixas.

Vantagens do S.D. em Relação a PCs Independentes

  • Permite o compartilhamento de dados;
  • Permite o compartilhamento de periféricos caros (poupando dinheiro);
  • Torna simples e rápida a comunicação entre funcionários;
  • Permite espalhar a carga de processamento por todas as máquinas na rede (tendo um maior poder de processamento).

Desvantagens do S.D.

  • Software para S.D. é raro;
  • Sobrecargas na rede causando instabilidade, forçando uma possível expansão com switches, hubs, cabos, placas de rede, etc.;
  • Como os dados podem ser facilmente acessados por qualquer pessoa na rede, surge a necessidade de sistemas de segurança.

Conceito de Hardware

MIMD

Grupo de computadores independentes e com mais de um processador. Todos sistemas distribuídos são MIMD.

Sistemas Fortemente Acoplados

Retardo de envio de mensagem é baixo; velocidade de transmissão é alta.

Baseados em Barramentos

Única rede que conecta todos os computadores do sistema.

Comutados

Fios individuais interligando todas as máquinas entre si.

Conceito de Software

Define como o sistema se definirá; S.Os de S.Ds são parecidos com S.Os tradicionais:

  1. Atuam como gerenciadores de recursos (CPUs, periféricos, memórias, rede, dados de forma geral);
  2. Escondem a complexidade e a diversidade do hardware, resultando em uma máquina virtual para cada aplicação.

S.Os para computadores distribuídos são divididos em duas categorias:

  1. Sistemas Fortemente Acoplados: S.O. gerencia todos os recursos de forma única e global;
  2. Sistemas Fracamente Acoplados: S.O. para cada computador da rede, mas eles trabalham juntos para dividir serviços e recursos próprios para os demais.

Fortemente Acoplados

Chamados de 2 (Sistema Operacional Distribuído); gerencia multiprocessadores e multicomputadores homogêneos (clusters); semelhante ao S.O. tradicional; esconde a complexidade.

Fracamente Acoplados

Chamados de NOS (Sistema Operacional de Rede); gerencia multicomputadores heterogêneos (rede local de computadores); diferente de um S.O. tradicional; oferece serviços para clientes remotos.

Middleware

Gerencia a comunicação entre os programas e a rede.

2

  1. S.O. Multiprocessador: gerencia recursos do multicomputador;
  2. S.O. Multicomputador: gerencia sistemas de multicomputadores homogêneos.

2 - S.O. para Uniprocessador

Criado para gerenciar computador com uma única CPU. Principal finalidade é habilitar usuários e aplicações de maneira fácil o compartilhamento de recursos. O S.O. implementa uma máquina virtual (fazendo com que o hardware pareça uma única máquina). Oferece facilidades de multitarefa; com uma máquina virtual, as aplicações são protegidas de outras. S.O. tem controle total de como os recursos são usados e compartilhados. O acesso da CPU são feitos de dois modos:

  1. Kernel: permite todas as instruções, podem ser executadas e a memória e a coleção de todos os registradores são acessíveis;
  2. Usuário: acesso a registradores e à memória são restritos.

Microkernel

Parte do S.O. possui apenas o código que deve ser executado em modo kernel. Vantagens: a maior parte do S.O. é executada em modo usuário. O modo usuário pode ser colocada em diferentes máquinas. Aproxima o S.O. tradicional para os computadores distribuídos.

2 - S.O. para Multiprocessador

S.O. idêntico ao tradicional, só que com mais processadores compartilhando a mesma memória. As informações na memória são acessadas por múltiplos processadores, tornando necessário um mecanismo de proteção para garantir a consistência. Vários S.Os têm dificuldades para controlar múltiplas CPUs, pois foram projetados para programas que usam um único fluxo de execução (tradicional). Esses S.Os visam sustentar alta performance com múltiplas CPUs. Para conseguir proteção nesses S.Os, duas importantes primitivas foram criadas:

  1. Semáforos: variáveis compartilhadas que podem assumir valores iguais ou maiores que zero;
  2. Monitores.

2 - S.O. para Multicomputador

A estrutura e a complexidade de um S.O. para multicomputadores é totalmente diferente de um S.O. para multiprocessadores. A comunicação entre computadores é feita através de passagem de mensagem. Cada computador (nó) possui seu próprio kernel para memória, disco, CPU. Cada nó possui um módulo de comunicação entre processadores. Camada de comunicação simula um multiprocessador (memória compartilhada). Camada facilita a transparência.

2 - Sistema de Memória Distribuída Compartilhada

Emular um sistema de memória compartilhada; cria-se uma máquina virtual de memória compartilhada, rodando no multicomputador, para aplicações escritas usando o modelo de memória compartilhada; memória distribuída compartilhada é um espaço de endereçamento virtual; simulação de páginas virtuais; compartilhamento falso é quando dois independentes processos acessam dados da mesma máquina.

NOS

Sistemas de computadores não são necessariamente homogêneos (vide 2 para multicomputadores); construído com uma coleção de computadores monoprocessados, cada um com o seu S.O. local e independente; cada S.O. pode ser diferente; embora S.Os diferentes, essas máquinas e seus respectivos S.Os permitem o acesso de usuários às facilidades (periféricos, memória, CPU, etc.) locais; primitivas de comunicação são particulares aos S.Os; comandos em sistemas operacionais de rede ainda são extremamente primitivos; característica principal é o sistema ser composto por servidores e clientes.

Middleware

Sistemas operacionais distribuídos: transparência e facilidade de uso; sistemas operacionais de rede: escalabilidade (scalability) e padronização de sintaxe e semântica nos serviços (openness); seria possível juntar esses dois mundos?; foi criada uma camada de software adicional que é usada pelo sistema operacional de rede para mais ou menos esconder a heterogeneidade do hardware e software, mas também possibilitar uma transparência na distribuição.

Entradas relacionadas: