Sistemas Distribuídos
DISTRIBUIDOS
NFS –Network File System
Sistemas de Arquivos Distribuidos
Acesso remoto aos arquivos armazenados em um servidor
Acesso aos dispositivos de E/S de outras máquinas
Controle de versão e restauração de cópias de segurança
Os sistemas de arquivos distribuído devem prover
Confiabilidade
Redundância
Disponibilidade
Escalabilidade
Sistemas de Arquivos Distribuidos
Arquitetura generica:
Upload/Download
Cliente
Acesso Remoto
Servidor
1
Cliente
Servidor
2
3
1
1
Acessos remotos
1
Solicitacao do cliente (Remoção)
2
Acessos realizados no cliente
3
Retorno ao servidor
Sistemas de Arquivos Distribuidos
Compartilhamento
Toda operação em um arquivo deve ser visível a todos processos
Semântica de sessão:
Nenhuma modificação é visível aos outros processos até que o arquivo seja fechado.
Arquivos imutáveis:
Modificações não são possíveis; simplicifa compartilhamento e replicação; modificações ocorrem em diretórios apenas
Transações:
Todas as modificações têm a propriedade do tudo-ou-nada; serializabilidade Sistemas de Arquivos Distribuidos
Aspectos de implementação
Distinção entre cliente e servidor não é necessária!
Separação dos serviços por vários servidores:
Servidores de dois tipos:
Stateless servers:
Nenhum estado é mantido
Stateful servers:
Informação específica sobre o cliente é mantida pelo servidor durante suas requisições
Sistemas de Arquivos Distribuidos
Uso de Memória Cache
Na memória do servidor
Elimina transferência de/para disco em cada acesso
Unidade de cache: arquivos inteiros; blocos
Quando a cache está cheia:
Descartar informação mais antiga
Transparente para clientes:
Sem problemas com consistência (uma única cópia do arquivo)
Sistemas de Arquivos Distribuidos
Uso de Memória Cache
Na memória do cliente
Reduz volume de acesso via rede
Esquemas:
Cache direto no processo do usuário
Cache no núcleo do S.O.