quarta-feira, 24 de junho de 2009

Introdução aos Sistemas Distribuídos

Segundo a definição de Andrew Tanenbaum um sistema distribuído é uma "coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente". Ou seja, é uma coleção de computadores autônomos interligados através de uma rede de computadores e equipados com software distribuído que permita o compartilhamento dos recursos do sistema: hardware, software e dados.

Características:

· Concorrência: permitir que recursos compartilhados sejam utilizados por diversos processos. Quando programas necessitam cooperar eles coordenam
suas ações por troca de mensagens.

· Compartilhamento de recursos:

o Hardware: discos, impressoras.

o Informações: arquivos, bases de dados,objetos.

· Transparência: a aplicação opera sob um ponto de vista lógico como se os dados fossem gerenciados por um único SGBD, funcionando em uma única máquina com apenas um sistema operacional.

· Escalabilidade: habilidade de funcionar bem quando o número de usuários aumenta.

· Tolerância a falhas: cada componente do sistema pode falhar independentemente, deixando os outros ainda rodando.

Assim, a computação distribuída consiste em adicionar o poder computacional de diversos computadores interligados por uma rede de computadores ou mais de um processador trabalhando em conjunto no mesmo computador, para processar colaborativamente determinada tarefa de forma coerente e transparente, ou seja, como se apenas um único e centralizado computador estivesse executando a tarefa. A união desses diversos computadores com o objetivo de compartilhar a execução de tarefas, é conhecida como sistema distribuído.

Avanços tecnológicos na miniatuarização de dispositivos e redes sem fio têm conduzido a uma crescente integração de pequenos e portáveis dispositivos de computação, tais como:

· computadores laptop;

· Dispositivos handheld: personal digital assistants (PDA),

· telefones móveis,

· cameras digitais.

A portabilidade junto com a habilidade para se conectar convenientemente a redes em diferentes lugares, torna possível a Computação Móvel.

Sistema Operacional Distribuído

Um SO Distribuído parece ao usuário como um sistema centralizado comum, mas executa em múltiplas unidades de processamento independentes onde:

  • o uso de múltiplos processadores deve ser invisível (transparente) para o usuário;
  • o usuário vê o sistema como um uniprocessador virtual, não como uma coleção de máquinas distintas conectadas por um subsistema de comunicação.

Como principais características têm-se um mecanismo de comunicação global único entre processos, proteção global e gerenciamento homogêneo de processos. O objetivo é fornecer transparência no acesso aos recursos, mas, de fato, não existe um sistema 100% transparente.

Assim, o SO Distribuído deve:

  • controlar a alocação de recursos da rede para permitir seu uso no modo mais eficiente;
  • prover ao usuário com um computador virtual conveniente que serve como um ambiente de programação de alto nível;
  • esconder a distribuição dos recursos;
  • prover mecanismos para proteção dos recursos do sistema contra acesso por usuários não autorizados;
  • prover comunicação segura.

Um comentário:

  1. Ei, Victor Hugo. Só descobri que o Trapezão "dava aula pra editor" quando vi a legenda no Domingo Legal. É que é difícil entender aquele cara. A bomba destruiu até a dicção dele.

    ResponderExcluir

Bibliográfia utilizada

SILBERSCHATZ, Abraham - Sistemas Operacionais com Java, 7ª ed. rev. atual. - Rio de Janeiro: Elsevier Campus, 2008



TANENBAUM, Andrew S. - Sistemas Operacionais Modernos, 2ª ed. - São Paulo: Prentice Hall, 2003




STALLINGS, william - Operating Systems: Internals and Design Principles, Sixth Edition, 2009.