Anda di halaman 1dari 29

Introduo

Definio de um Sistema Distribudo (1)


Um sistema distribudo : Uma coleo de computadores independentes que se apresenta para os usurios como um nico sistema coerente.

Definio de um Sistema Distribudo (2)

Transparncia em um sistema distribudo

Problemas de escalabilidade

Problemas de escalabilidade
Caractersticas de problemas descentralizados: Nenhuma mquina tem a informao completa do estado do sistema Mquinas tomam decises baseadas nas informaes locais Falha em uma mquina no deve afetar o algoritmo No existe um relgio global

Tcnicas / Escala(1)

1.4

Tcnicas / Escala(2)

Conceitos de Hardware

1.6

Diferentes organizaes para memrias em sistemas de computadores distribudos

Multiprocessadores (1)

1.7

Uma estrutura baseada em barramento.

Multiprocessadores (2)

1.8

a) Switch barras cruzadas b) Rede de Switches

Sistemas de multicomputadores homogneos

1-9

a) Grade b) Hipercubo

Conceitos de Software
Sistema DOS Descrio Fortemente acoplado / SO para multiprocessadores e multicomputadores homogneos Fracamente acoplados / SO para multicoomputadores heterogneos (LAN e WAN) Camada adicional aos NOS implementando servios de propsitos gerais Objetivos Abstrao / gerncia de recursos de HW Servios locais para clientes remotos Transparncia de distribuio

NOS Middleware

DOS (Distributed Operating Systems) NOS (Network Operating Systems)

Sistemas Operacionais para um nico processador

1.11

Separao do cdigo de Aplicaes / SO atravs do microkernel.

Sistemas Operacionais / Multiprocessadores (1)


monitor Counter { private: int count = 0; public: int value() { return count;} void incr () { count = count + 1;} void decr() { count = count 1;} }

Um monitor para proteger acessos concorrentes a variveis inteiras

Sistemas Operacionais / Multiprocessadores (2)


monitor Counter { private: int count = 0; int blocked_procs = 0; condition unblocked; public: int value () { return count;} void incr () { if (blocked_procs == 0) count = count + 1; else signal (unblocked); } } } void decr() { if (count ==0) { blocked_procs = blocked_procs + 1; wait (unblocked); blocked_procs = blocked_procs 1; } else count = count 1;

A Um monitor para proteger acessos concorrentes a variveis inteiras com primitivas bloqueio/desbloqueio

SO / multicomputadores-1

1.14

Estrutura Geral de um Sistema Operacional para um ambiente com multicomputadores

SO / multicomputadores-2

1.15

Pontos possveis para armazenamento/bloqueios na troca de mensagens.


Ponto de sincronizao Block sender until buffer not full Block sender until message sent Block sender until message received Block sender until message delivered Buffer Sender Sim No No No Comunicao confivel garantida? No necessariamente No necessariamente Necessrio Necessrio

Problemas com a concorrncia


Tipicamente, em programas concorrentes os processos no tm controle sobre o instante em que perdero o processador. Portanto, preciso ter controle no uso de mltiplos processadores e recursos. Requisitos para dar suporte a: cooperao entre os processos (comunicao e sincronizao) potencial para detectar e recuperar uma falha parcial do Sistema

Conceito bsico de processo


Um processo um programa em execuo Abstrao de Sistemas Operacionais Mantm as informaes necessrias para o controle da execuo de um programa: cdigo executvel dados contador de programa pilha de execuo registradores etc.

Sistema de Memria Compartilhada Distribuda (1)


a) Pginas do espao de endereamento distribudas entre quatro mquinas Situao aps a CPU 1 referenciar a pgina 10 Situao com uso de rplicas caso a pgina 10 seja read only

b)

c)

Sistema de Memria Compartilhada Distribuda (2)

1.18

Compartilhamento falso de uma pgina entre dois processos independentes

Sistema Operacional de Rede(1)

1-19

Estrutura geral de um sistema operacional de rede.

Sistema Operacional de Rede(2)

1-20

Dois clientes e um servidor em um sistema operacional de rede.

Sistema Operacional de Rede(3)

1.21

Diferentes clientes podem montar servidores em diferentes locais.

Papel do Middleware

1-22

Estrutura geral do papel da camada middleware em um sistema distribudo

Middleware / Sistemas Abertos

1.23

Em sistemas distribuidos abertos baseados em tecnologias de middleware, os protocolos usados por cada camada do middleware devem ser os mesmos, assim como as interfaces oferecidas para as aplicaes.

Comparao entre as abordagens


DOS Item Multiproc. Grau de transparncia Mesmo SO nos ns Nmero de cpias do SO Base p/ comunicao Gerenciamento de Recursos Escalabilidade Nvel de abertura Muito alto Sim 1 Shared memory Global, Centralizado No Fechado Multicomp. Alto Sim N Messages Global, distribuido Moderada Fechado Baixo No N Files Por n Sim Aberto SO redes SO baseados em Middleware Alto No N Especficas do modelo Por n Varivel Aberto

Anda mungkin juga menyukai