Sistemas Operacionais

Aula 23: Sistemas Operacionais Distribuídos

Referências:

SOs de Rede

Em sistemas operacionais de rede voce sabe quando é local e quando é remoto.

Assim, o trabalho não muda, com exceção de comandos para acesso remoto:

Em um SO distribuído vários outros serviços devem ser implementados:

Migração de Dados

Arquivos e dados dinâmicos devem ser compartilhados:

Nos dois casos existem problemas de consistência, cache, performance.

Dados também têm que ser ``traduzidos'' no caso de SOs distribuídos heterogêneos.

Arquitetura Cliente -- Servidor

SOs distribuídos se baseam em cliente/servidor:

Cliente/servidor:

Migração de Computação

Às vezes é melhor transferir o processamento ao invés dos dados:

Método típico: RPC -- Remote Procedure Call

Migração de Processos

Extensão lógica: quando um processo é criado ele pode ser movido para outros computadores.

Motivo:

Migração pode ser transparente ou não.

Sistemas de Arquivos Distribuídos

Uma das utilizações mais comuns de SOs distribuídos. Motivo:

Novo paradigma: E que tal se todos tivessem discos remotos ?

Cliente/servidor: servidor de arquivos,usuário é cliente

Cadê meu arquivo ?

E como dar nomes a arquivos remotos ?

O nome pode ser:

Independência é um conceito mais forte.

E como ele se chama mesmo ?

Existem três maneiras mais comuns de se dar nomes aos bois:

Nome Global -- Implementação

Uma maneira de se implementar a terceira opção acima é usar um identificador de arquivos independente da localização:

Acesso Remoto

Método usado: cliente/servidor!

Mas para aumentar a performance, usa-se cache:

Protocolos com e sem Estado

Existem duas maneiras de se implementar o servidor:

Servidores com estado são mais eficientes.

Mas servidores sem estado são mais resistentes