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