Escolar Documentos
Profissional Documentos
Cultura Documentos
Mdulo 1
[C1,T1.1,T1.2,T1.3,T1.4] (40 p.)
Referncia Bsica
[C] Distributed Systems: Concepts and Design. G. Coulouris, J. Dollimore, T. Kindberg. Addison-Wesley, 1994. ISBN 0-201-62433-8. (Captulos 4 e 5) [T] Distributed Operating Systems. A. S. Tanenbaum. Prentice-Hall, 1995. ISBN 0-13-219908-4. (Sees 2.4 e 2.5)
Contedo
Definio de SD
"Um sistema distribudo uma coleo de computadores autnomos conectados por uma rede e equipados com um sistema de software distribudo." [C] "Um sistema distribudo uma coleo de computadores independentes que aparenta ao usurio ser um computador nico." [T]
Outra definio de SD
"Voc sabe que tem um sistema distribudo quando a falha de um computador do qual voc nunca ouviu falar faz com que voc pare completamente de trabalhar." [Leslie Lamport]
Avanos tecnolgicos
Estado da arte
relativamente fcil agrupar um grande nmero de CPUs, conectando-as por uma rede de alta velocidade. O software para sistemas distribudos completamente diferente do software para sistemas centralizados e est apenas comeando a se desenvolver.
Exemplos de SD
Uma rede de estaes de trabalho em uma universidade ou companhia Uma rede de computadores em uma fbrica Um grande banco com muitas agncias, cada qual com um computadores e caixas automticas
Exemplos de SD (continuao)
Sistema de reserva de passagens areas Sistema de controle de estoque, vendas e entregas numa cadeia de lojas Servios da Internet: Netnews, WWW Sistemas de acesso a recursos de multimdia e de conferncia
Vantagens de SD sobre SC
Melhor relao custo/benefcio Capacidade de processamento alm dos limites prticos de SC (velocidade da luz, aquecimento) Maior domnio de aplicaes Maior confiabilidade e disponibilidade Crescimento gradativo da capacidade de processamento
Compartilhamento de dados comuns entre usurios Compartilhamento de recursos de hardware e software Comunicao entre pessoas Flexibilidade na distribuio de tarefas de acordo com as aplicaes
Desvantagens de SD
Falta de software adequado Falhas e saturao da rede de comunicao podem eliminar as vantagens de SD Segurana pode ser comprometida: fcil acesso a dados e recursos reservados
Hardware em SD
Fortemente Acoplado Computadores distribudos e paralelos
Fracamente Acoplado
Barramento
Chaveamento
Barramento
Chaveamento
Sequent, Encore
Ultracomputer, RP3
Hypercube, Transputer
Software bsico em SD
Acoplamento Acoplamento de hardware de software Sistemas operacionais de rede Sistemas distribudos autnticos Sistemas timesharing para multiprocessadores Fraco Fraco
Fraco
Forte
Forte
Forte
Estaes de trabalho conectadas por uma LAN Cada estao tem seu prprio sistema operacional Ferramentas para login remoto e cpia de arquivos entre estaes Servidores de arquivos e ferramentas para causar aparncia de arquivo local
A rede toda tem aparncia de ser um nico sistema timesharing: virtual uniprocessor, single-system image Mecanismo global para comunicao entre processos Gerenciamento de processos homogneo Sistema de arquivos homogneo
Fila nica de processos prontos para execuo: melhor distribuio de carga CPUs especializadas em: executar processos, controlar perifricos, executar sistema operacional (gerenciar a memria global) Sistema de arquivos comporta-se de maneira semelhante a um SC
Comparao de SW para SD
SO de rede Parece um SC Mesmo SO Cpias de SO Comunicao Protocolos comuns Fila nica de execuo No No N Arquivos compartilhados Sim No SO distribudo Sim Sim N Mensagens Sim No SO para multiproc. Sim Sim 1 Memria compartilhada No Sim
Caractersticas bsicas de SD
Compartilhamento de recursos Extensibilidade (openness) Concorrncia Escalabilidade (crescimento gradativo suave) Tolerncia a falhas Transparncia
Compartilhamento de recursos
Componentes de hardware: discos, impressoras, ... Componentes de software: arquivos, bancos de dados, ... Modelos bsicos:
Modelo cliente-servidor Modelo baseado em objetos
Extensibilidade
Extenses de hardware: perifricos, memria, interfaces de comunicao, ... Extenses de software: funes de SO, protocolos de comunicao, ... Interfaces chaves so pblicas (system calls) Mecanismo uniforme de comunicao entre processos
Concorrncia
Escalabilidade
Quantidade de trabalho envolvido no processamento de qualquer requisio de acesso a um recurso compartilhado independe do tamanho da rede Tcnicas: replicao, caching, servidores mltiplos
Tolerncia a falhas
Falhas de hardware e software (em CPUs e redes): programas param ou produzem resultados errados Abordagens:
Redundncia de hardware (Ex: banco de dados replicado em diversos servidores) Recuperao por software: manter dados permanentes sempre consistentes
Transparncia
Esconder do usurio e do programador de aplicaes a separao de componenentes em um sistema distribudo, tal que este seja visto como um sistema centralizado Formas de transparncia: acesso, localizao, concorrncia, replicao, falha, migrao, desempenho e escala
Transparncia de acesso
Operaes de acesso a objetos de informao so idnticas para objetos locais e remotos Exemplo: Operao de envio de uma mensagem eletrnica especificando o destinatrio atravs de seu endereo Internet
Transparncia de localizao
Acesso a um objeto ocorre sem que seja necessrio o conhecimento de sua localizao
Exemplo: Operao de envio de uma mensagem eletrnica especificando o destinatrio atravs de seu endereo Internet
Concorrncia: processos operam concorrentemente usando objetos de informao comuns sem interferncia entre eles. Replicao: vrias instncias de um objeto de informao so usadas sem requerer o conhecimento das rplicas pelos usurios e aplicaes. Falha: mascaramento de falhas de hardware e software. Migrao: movimento de objetos de informao dentro do sistema no afeta a operao de usurios e aplicaes. Desempenho: reconfigurao do sistema para melhorar desempenho conforme a carga varia. Escala: o sistema e as aplicaes podem expandir em escala sem requerer modificaes na estrutura do sistema ou nos algoritmos das aplicaes.