Você está na página 1de 62

Curso de Sistemas Distribuídos

Sistemas de Arquivos Distribuídos: DFS

Projeto

Sistemas Distribuidos Sistema de Arquivos Distribuídos 1


Autoria

  Autoria
 1a versão
  Alunos de disciplina do PPGC

 Revisões
  C. Geyer

  Versão atual
 V13.2, nov 2013
 C. Geyer

Sistemas Distribuidos Sistema de Arquivos Distribuídos 2


Súmula

  Súmula
 Projeto
 Implementação
  Obs.: outro conjunto de slides

 Tendências
  Obs.: no mesmo arquivo de slides da “Implementação”

Sistemas Distribuidos Sistema de Arquivos Distribuídos 3


Súmula

  Bibliografia
 Tanenbaum: MOS (1ª versão), DOS, DS
  Distributed Systems – Principles and Paradigms.
Prentice-Hall, 2002.
  Cap. 10

 Silberschatz: versões mais recentes


  (exemplo): Sistemas Operacionas com Java. 7ª edição,
ed. Campus, 2008.
  Cap. 17

Sistemas Distribuidos Sistema de Arquivos Distribuídos 4


Súmula

  Bibliografia
 Coulouris
  Sistemas Distribuídos – Conceitos e Projeto. 4ª edição,
Bookman, 2007.
  Cap. 8

  Cap. 10 (sistemas p2p)

  Cap. 15 (SAD com replicação

  Cap. 17 (sistemas de dados multimídia)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 5


Projeto de

Sistemas de Arquivos Distribuídos (DFS)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 6


Súmula

  Roteiro (somente projetos)


 Conceitos Básicos
 Interface do Sistema de Diretórios
 Interface do Serviço de Arquivos
 Semântica de Compartilhamento de Arquivos
 Exemplos

Sistemas Distribuidos Sistema de Arquivos Distribuídos 7


Conceitos Básicos

  Funções de um Sistema de Arquivos Distribuído


 Armazenar e compartilhar programas e dados
  Funções idênticas às de um sistema centralizado (local)

  Ênfase na disponibilidade, confiabilidade e segurança


  Questões de SDs

 Desempenho
  questão importante porque acessos remotos podem ser
significativamente mais lentos que os locais
  não se pretende em geral que o SAD seja mais rápido
que um SA local
  mas sim que a degradação seja aceitável

Sistemas Distribuidos Sistema de Arquivos Distribuídos 8


Conceitos Básicos

  Funções de um Sistema de Arquivos Distribuído


 Usualmente o serviço mais usado
  Funcionalidade e Desempenho são críticos

 Deve suportar alguns dos requisitos típicos de SDs


  Transparência

  Heterogeneidade do hardware e SO

  Escalabilidade

  Suportar falhas de rede

  Particionamento da rede

  Desconexão (planejada ou fortuita)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 9


Conceitos Básicos

  (grandes) Exemplos de SADs


 Tanenbaum 2002
  NFS e CODA (evolução do AFS)

 Coulouris
  NFS e AFS

 Silberschatz
  AFS

Sistemas Distribuidos Sistema de Arquivos Distribuídos 10


Conceitos Básicos

  Distinção entre Servidor de arquivos e Serviço de


arquivos
  Serviço de Arquivos (File Service)
  especificação do sistema de arquivos

  interface: primitivas, parâmetros e ações

  visão do cliente

  Usuário e programador

 Servidor de Arquivos (File Server)


  processo(s) que executa(m) o File Service

  implementação

Sistemas Distribuidos Sistema de Arquivos Distribuídos 11


Conceitos Básicos

  Componentes básicos de serviço de um DFS


 Segundo Tanenbaum
  interface de serviço de diretórios

  interface de serviço de arquivos

Sistemas Distribuidos Sistema de Arquivos Distribuídos 12


Conceitos Básicos
  Componentes básicos de serviço de um DFS
 Segundo Coulouris
  Serviço de diretório

  Trabalha com nomes lógicos (strings)

  Serviço “flat” de arquivos

  Trabalha com identificador único (UFID)

  Usualmente inteiros

  Módulo cliente

  Emula interfaces dos outros serviços

  Guarda informações de rede como os endereços dos


outros serviços
  Juntamente com outros serviços garante bom
desempenho
  Por exemplo, usando caching

Sistemas Distribuidos Sistema de Arquivos Distribuídos 13


Conceitos Básicos

  Componentes básicos segundo Silberschatz


 Serviço
  Entidade de sw executando em 1 ou mais máquinas

  Fornece um tipo específico de função aos clientes

 Servidor
  Um sw executando em 1 (uma) máquina

  Em SA: controla dispositivos de armazenamento locais

 Cliente
  Um processo (1 máquina) fazendo uso do serviço

  Através de operações

  => interface do cliente

 Interação interna entre máquinas


  Nível mais baixo

Sistemas Distribuidos Sistema de Arquivos Distribuídos 14


Conceitos Básicos

  Componentes básicos segundo Silberschatz


 Um SA tem os componentes acima
 Um SAD (DFS) é um SA onde todos os componentes estão
distribuídos
 Um SAD pode fazer uso de vários dispositivos de
armazenamento distribuídos
 Uma máquina pode ser cliente e servidor

Sistemas Distribuidos Sistema de Arquivos Distribuídos 15


Conceitos Básicos

  Questões de projeto ou requisitos


 Transparência ao usuário (convencional ou programador)
  Mesma interface em operações locais e remotas

 SAD localiza e transporta arquivos na rede


 Desempenho
  SA local: acesso ao dispositivo de armazenamento e cpu

  SAD: idem mais comunicação (uso da rede)

  Desempenho ideal do SAD: comparável ao do SA

 Gerenciamento do espaço de armazenamento distribuído


  Composto de vários espaços locais

  Cada espaço local: conjunto de arquivos

Sistemas Distribuidos Sistema de Arquivos Distribuídos 16


Conceitos Básicos

  Questões de projeto ou requisitos


 Cliente do serviço “flat” de arquivos
 Funções básicas
  Cria/Remove diretórios

  (re)nomeia arquivos (em geral)

  e altera a posição (move) de arquivos (em geral)

 Nomes de arquivos (nome + extensão)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 17


Conceitos Básicos

  Interface do sistema de diretórios: visão geral


 Organização de Diretórios
 Árvore ou hierárquico
 Grafo
  links a qualquer outro diretório

  cuidado com loops e “perda” de diretórios

  mais complexo em sistemas distribuídos devido falta de


memória global (compartilhada)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 18


Interface do Sistema de Diretórios

  Organização de Diretórios
Máquina 1
A0
A

B2 C1
B C

D1 E1 Máquina 2
D E

(a) Árvore de Diretórios (b) Grafo de Diretórios

Sistemas Distribuidos Sistema de Arquivos Distribuídos 19


Interface do Sistema de Diretórios

  Interface do sistema de diretórios: visão geral


 Visão dos usuários
  única ou não

  mounting: permite visão com diferentes caminhos por


diferentes clientes
 Diretório raiz
  global, único: desejável (?)

  opção: subdiretórios são unicamente servidores

  caminho: /servidori/path

  exemplo: Unix clássico, NFS

  diversos

  exemplo: Windows: cada unidade (letra) tem uma


raiz distinta

Sistemas Distribuidos Sistema de Arquivos Distribuídos 20


Interface do Sistema de Diretórios

  Transparência de nomes
 Transparência de Localidade
  nome completo (path) não indica a localização do
arquivo (qual máquina)
  exemplo: /servidor1/arquivo

  servidor1 pode estar em qualquer máquina

  exemplo: NFS

 Independência de Localidade
  transparência de migração

  arquivo pode ser movido sem alteração de nome (path)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 21


Interface do Sistema de Diretórios
  Transparência pelo Coulouris
 De acesso
  Interfaces únicas

 De localização
  Nome não indica local

 De concorrência
  Mecanismos de controle de acesso concorrente

  Padrões e opcionais

 De falhas
  Correção das operações em caso de falhas de um cliente
ou de rede (mensagens perdidas, ...)
 De desempenho
  Desempenho satisfatório em variação forte da # de
clientes
Sistemas Distribuidos Sistema de Arquivos Distribuídos 22
Interface do Sistema de Diretórios

  Transparência pelo Coulouris


 De replicação
  Arquivos são totalmente ou parcialmente replicados para
maior desempenho ou maior disponibilidade
 De migração
  Arquivos mudam de servidor para melhor desempenho
ou outra métrica

Sistemas Distribuidos Sistema de Arquivos Distribuídos 23


Interface do Sistema de Diretórios
  Nomeação em dois-níveis
 Nomes simbólicos (ASCII)
  usados pelos usuários

 Nomes binários (sistema)


  usados pelo servidor

  mapeamento simbólico -> binário

  opções em sistemas distribuídos

  somente posição local

  indicação de servidor + posição local

  Mais usada

  Se réplicas: -> lista de réplicas

 Links simbólicos (x links físicos – hard)


  caminhos completos, podendo incluir servidor

  permite acessar outros servidores

Sistemas Distribuidos Sistema de Arquivos Distribuídos 24


Interface do Sistema de Diretórios

  Nomeação em dois-níveis
 nomes binários múltiplos
  usualmente original e cópias de segurança

  permite escolher o melhor servidor no momento

  mais disponível

Sistemas Distribuidos Sistema de Arquivos Distribuídos 25


Interface do Serviço de Arquivos

  Interface do serviço de arquivos: visão geral


  estrutura dos arquivos
  seqüência de bytes (DOS, Unix): mais comum em DFS

  registros (mainframes)

  padrão: tamanho fixo

  organizações indexadas

 atributos de arquivos
  proprietário, tamanho, datas, direitos de acesso, ...

Sistemas Distribuidos Sistema de Arquivos Distribuídos 26


Interface do Serviço de Arquivos

  Interface do serviço de arquivos (cont.)


 Arquivos modificáveis ou imutáveis
  imutáveis: simplifica uso de cache e replicação

 Segurança
  capabilities: por usuário/objeto (arquivo)

  listas de controle de acesso: por arquivo/usuário ou tipo


de usuário
  exemplo: bits de proteção do Unix (lista
simplificada)
 Modelos de acesso
  Upload/Download

  Acesso Remoto

Sistemas Distribuidos Sistema de Arquivos Distribuídos 27


Interface do Serviço de Arquivos
  Modelo Upload/Download
Cliente Servidor Arquivo antigo

(1)

(2) (3)
Arquivo atual
1. O arquivo completo é transferido para o cliente
2. Os acessos ao arquivo são feitos exclusivamente no cliente
3. Quando o cliente termina, o arquivo completo é reenviado ao
servidor
- ou somente todas as alterações (menos comunicação,
mais complexo)
Sistemas Distribuidos Sistema de Arquivos Distribuídos 28
Interface do Serviço de Arquivos

  Modelo Upload/Download
  Vantagens
  Interface simples:

  Entre cliente / servidor

  2 primitivas principais

  Read/Write arquivo

  Eficiência na execução do cliente (acesso local)

  Desvantagens
  Espaço suficiente nos clientes

  “Granularidade” da aplicação do cliente -> eventual


desperdício no uso da rede
  Exemplo
  Andrew File System (AFS) => /cache (blocos 64Kb)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 29


Interface do Serviço de Arquivos

  Modelo de Acesso Remoto


Cliente Servidor

•  Os arquivos permanecem no Servidor


•  Apenas as partes necessárias do arquivo são repassadas ao Cliente

Sistemas Distribuidos Sistema de Arquivos Distribuídos 30


Interface do Serviço de Arquivos

  Modelo de Acesso Remoto


 Sistema de arquivos executa no servidor (operações)
 Maior complexidade (primitivas)
 Requer pouco espaço de armazenamento nos clientes
 Aplicações de “granularidade” baixa são beneficiadas
  Granularidade baixa: cada read/write com poucos bytes

 Pode seguir o modelo cliente/servidor (request/reply)


  ou usar “Caching” => desempenho melhor

 Exemplos:
  com caching: NFS, Locus, Sprite, Spring

  sem caching: Amoeba

Sistemas Distribuidos Sistema de Arquivos Distribuídos 31


Interface do Serviço de Arquivos

  Modelo de Acesso Remoto com Caching


 Pode ser considerado como um modelo híbrido
 A cada acesso de read, um bloco maior de dados é trazido do
servidor
 Motivo:
  Reduzir o uso da rede

  Similar ao cache em SA local

  Reduzir o uso de I/O em disco

Sistemas Distribuidos Sistema de Arquivos Distribuídos 32


Interface do Serviço de Arquivos

  Modelo de Acesso Remoto com Caching


 Tamanho do bloco de leitura
  Maior:

  Melhor uso da latência

  Maior taxa de acertos

  Mas em caso de erro a penalidade é maior

  Conforme tamanho máximo do bloco de rede, exige


várias latências (send´s)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 33


Interface do Serviço de Arquivos
  Modelo de Acesso Remoto com Caching
 O cache pode ser em RAM ou disco ou híbrido
 Cache em RAM
  Mais rápido

  Menos tolerante a falhas em caso de crash do sistema do


cliente (SO)
  Máquina não precisaria ter HD

 Cache em disco
  Propriedades inversas

 Cache híbrido
  Chamado de cachef no NFS do Solaris (“Unix” da Sun)

  No cliente funciona como um cache e HD local

  Mais rápido e maior confiabilidade

Sistemas Distribuidos Sistema de Arquivos Distribuídos 34


Interface do Serviço de Arquivos

  Modelo de Acesso Remoto com Caching


 Políticas de atualização no servidor (escritas pelo cliente)
  Desempenho x confiabilidade x consistência (escritas
concorrentes)
  Outras variáveis

  Tamanho da cache

  Tamanho do bloco de cache

  Tamanho do arquivo

  Quantidade de escritas

  Fator de escritas repetidas (mesma área do arquivo)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 35


Interface do Serviço de Arquivos

  Modelo de Acesso Remoto com Caching


 Políticas de atualização no servidor (escritas pelo cliente)
  Política “write-through” (escrita direta)

  Escreve no servidor a cada escrita no cliente

  Maior uso da rede

  Maior confiabilidade em casos de cache em RAM

  Pode ser considerada

  Cache para leitura (upload/download parcial)

  Acesso remoto para escrita

Sistemas Distribuidos Sistema de Arquivos Distribuídos 36


Interface do Serviço de Arquivos

  Modelo de Acesso Remoto com Caching


 Políticas de atualização no servidor (escritas pelo cliente)
  Política “delayed-write” (escrita adiada)

  Quando?

  Periodicamente

  Quando o bloco deve sair da cache

  Mas algum bloco atualizado e importante


pode demorar muito para ser atualizado no
servidor
  No close

Sistemas Distribuidos Sistema de Arquivos Distribuídos 37


Interface do Serviço de Arquivos

  Modelo de Acesso Remoto com Caching


 Políticas de atualização no servidor (escritas pelo cliente)
  Variações

  NFS

  Escrita-direta para diretórios e atributos de


arquivos
  Escrita-adiada para conteúdo de arquivos

Sistemas Distribuidos Sistema de Arquivos Distribuídos 38


Interface do Serviço de Arquivos

  Modelo de Acesso Remoto com Caching


 Políticas de atualização no servidor (escritas pelo cliente)
  Política “delayed-write” (escrita adiada)

  Quando?

  Periodicamente

  Quando o bloco deve sair da cache

  Mas algum bloco atualizado e importante


pode demorar muito para ser atualizado no
servidor
  No close

Sistemas Distribuidos Sistema de Arquivos Distribuídos 39


Semântica de Compartilhamento

  Semântica de compartilhamento: tipos


 Semântica do tipo Unix
 Semântica de Sessão
 Arquivos Imutáveis
 Transações Atômicas

Sistemas Distribuidos Sistema de Arquivos Distribuídos 40


Semântica de Compartilhamento

  Semântica do tipo Unix (local)


 Efetua ordenação temporal das operações (R/W) efetuadas nos
arquivos
 “Um Read nota os efeitos de todos os Writes anteriores”
 Por exemplo, ordenados por relógio físico de um único
computador
 Assegura a leitura do valor mais recente (último Write)
 Podem compartilhar ponteiros para arquivos
 Simples em um Sistema Distribuído:
 com um único servidor (seqüenciador de operações)
 clientes sem cache (evita a propagação de atualizações)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 41


Semântica
Interface do
deServiço
Compartilhamento
de Arquivos

  Semântica do tipo Unix (local)


 Efetua ordenação temporal das operações (R/W) efetuadas
nos arquivos
 “Um Read nota os efeitos de todos os Writes anteriores”
  Por exemplo, ordenados por relógio físico de um único
computador
 Assegura a leitura do valor mais recente (último Write)
 Podem compartilhar ponteiros para arquivos
 Simples em um Sistema Distribuído:
  com um único servidor (seqüenciador de operações)

  clientes sem cache (evita a propagação de atualizações)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 42


Semântica
Interface do
deServiço
Compartilhamento
de Arquivos I

  Semântica do tipo Unix x SDs


 Múltiplos servidores (replicação ou distribuição):
  solução para

  tolerância a falhas

  melhor desempenho

 Cache nos clientes: solução para


  menor tráfego de mensagens

 Uso de cache e/ou múltiplos servidores


  semântica diferente ou degradada em geral

  exemplo: NFS da Sun

Sistemas Distribuidos Sistema de Arquivos Distribuídos 43


Semântica
Interface do
deServiço
Compartilhamento
de Arquivos

  Semântica do tipo Unix x SDs


 Tentativas de emulação distribuída do Unix
  Ex: Sprite, Locus (ver Silberschatz)

  manter compatibilidade (mesma semântica)

  Sem muito sucesso (?)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 44


Semântica de Compartilhamento

  Semântica de Sessão
 Efetua ordenação temporal das operações (R/W) efetuadas
nos arquivos por sessão
 Sessão: open – close de um cliente (programa)
 “Mudanças em um arquivo aberto
  são visíveis somente ao processo que modificou o
arquivo
  somente no fechamento as atualizações são visíveis aos
outros processos”
 Não garante a leitura dos valores “reais” (atuais)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 45


Semântica de Compartilhamento

  Semântica de Sessão
 Problema:
 2 ou mais clientes modificando o mesmo arquivo => qual o
conteúdo final?
 SGBDs devem usar outra semântica (“Serialização”)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 46


Semântica de Compartilhamento
  Semântica de Arquivos Imutáveis
 Existem somente 2 operações: CREATE e READ
 Uma operação de WRITE equivale a
  criar um arquivo no diretório com o mesmo nome anterior
mais um índice de versão
 Não atualiza os arquivos, e sim, os diretórios
 Problema:
  um arquivo é modificado enquanto outro processo efetua
um READ
 Exemplos:
  Amoeba (Bullet Server) (somente essa semântica)

 Pode coexistir em um SAD com outras semânticas


  Um tipo de arquivo

Sistemas Distribuidos Sistema de Arquivos Distribuídos 47


Semântica de Compartilhamento

  Semântica de Transações Atômicas


 Acessos a arquivos são feitos por primitivas do tipo:
BEGIN/END TRANSACTION
 Não há interferência entre transações concorrentes
 são serializadas se necessário
 Similar aos modelos de SGBDs
 Oferece as propriedades ACID (BD) - total ou parcialmente
 Exemplo: Cambridge File System (CFS)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 48


Semântica de Compartilhamento

  Resumo Comparativo
Abordagem Comentário
Cada operação em um arquivo
Semântica do tipo UNIX é visível a todos os processos
Nenhuma mudança é vista
Semântica de Sessão por outros processos até
a execução de um CLOSE
Arquivos Imutáveis Nenhuma atualização é permitida

Transações Atômicas Operações do tipo “tudo-ou-nada”

Sistemas Distribuidos Sistema de Arquivos Distribuídos 49


SAD: com e sem estado

  SAD com estado e sem estado


 Silberschatz: boa discussão sobre o problema
 SAD com estado
  Servidor mantém informações sobre arquivos abertos
pelos clientes
  Em memória

  Em geral melhor desempenho

  Argumentos de operações (mensagens) são mais simples

  Por exemplo, uma referência interna ao arquivo


aberto
  Em caso de falhas

  Retomada do sistema pode ser mais complexa

  Exemplo: AFS

Sistemas Distribuidos Sistema de Arquivos Distribuídos 50


SAD: com e sem estado

  SAD com estado e sem estado


 SAD sem estado
  Servidor não mantém informações sobre arquivos
abertos pelos clientes
  Argumentos de operações (mensagens) são mais
complexos
  Por exemplo, sempre o nome completo do arquivo

  Off-set da primeira posição (zero) a ler/gravar

  Em caso de falhas

  Retomada do sistema é mais simples

  Exemplo: NFS original

Sistemas Distribuidos Sistema de Arquivos Distribuídos 51


Projeto de Caching

  Considerações de Projeto de Caching


 Granularidade dos dados (AFS - 64Kb, Unix - 4 ou 8Kb)
 Blocos de tamanho fixo para transferências entre cliente e
servidor e vice-versa
 Maior: menos mensagens, menor latência global
 Menor: menor consumo de banda
 Localização da Cache (memória ou disco) –
 Menor ou maior confiabilidade

Sistemas Distribuidos Sistema de Arquivos Distribuídos 52


Projeto de Caching

  Considerações de Projeto de Caching


 Política de Modificação
  write-through
 Grava “imediatamente”
  delayed-write
 Grava mais tarde
  write-on-close
 Grava somente no close

Sistemas Distribuidos Sistema de Arquivos Distribuídos 53


Projeto de Caching

  Considerações de Projeto de Caching


 Consistência dos dados no cliente ou no servidor
 Cliente (AFS)
 Servidor (Sprite)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 54


Projeto de Caching

  Considerações de Projeto de Caching

  Exemplo
  UNIX 4.2 BSD:

  cache de 400Kb,

  blocos de 4Kb,

  delayed-write de intervalo = 30seg.

Sistemas Distribuidos Sistema de Arquivos Distribuídos 55


Projeto de Caching

  Considerações de Projeto de Caching

  Sem. de compartilhamento e Política de Modificação


  Sessão -> write-on-close

  Unix -> write-through

Sistemas Distribuidos Sistema de Arquivos Distribuídos 56


Exemplos

  Exemplos
 Amoeba (Univ. Vrije, Holanda)
  Sem caching,

  write-through,

  arquivos imutáveis (Read, Create, Delete),

  modo usuário (implementação)

 Sprite (Univ. Califórnia, Berkeley)


  Cache dinâmico (4Kb),

  semântica Unix (versões de arquivos),

  delayed-write (30 seg.),

  kernel-mode

Sistemas Distribuidos Sistema de Arquivos Distribuídos 57


Exemplos
  Exemplos
 Locus (UCLA)
  Semântica - Unix,

  delayed-write,

  Tokens de Read e Write,

  Controle de acesso por operação

  Semântica de Bloqueio possível

 NFS (Sun)
  Acesso remoto + caching (UDP & RPC),

  read-ahead e delayed-write,

  cache (4Kb),

  semântica não definida (dependente do tempo)

Sistemas Distribuidos Sistema de Arquivos Distribuídos 58


Exemplos

  Exemplos
 AFS (Univ. Carnegie Mellon)
  Caching (64Kb)

  semântica de sessão,

  kernel-mode

 Spring (Sun)
  Caching,

  semântica Unix (mem. comp. distr.),

  capabilities, e ACLs,

  user-mode

Sistemas Distribuidos Sistema de Arquivos Distribuídos 59


Resumo
  Resumo
 Questões de projeto
 Servidor x Serviço
 Diretório x Arquivos
 Interfaces usuais
 Árvores x Grafos
 Atributos
 Nomes e links
 Modelo de dados (estrutura interna)
 Modo de acesso: remoto e upload/download
 Semântica em compartilhamento
 Aspectos de implementação
  Cache, escrita, tamanho de bloco

Sistemas Distribuidos Sistema de Arquivos Distribuídos 60


Bibliografia Adicional

Bibliografia Adicional
 

[Lev90] Levy, E. & A. Silberschatz “Distributed File Systems”.


 

ACM Comp. Surv., dezembro 1990.

[Dou90] Douglis, F. et al. “A comparison of two Distributed


 

Systems: Amoeba and Sprite”. Comp. Systems.

[Nel93] Nelson, M. N. “The Spring File System”. Tech. Rep.


 

SMLI TR-93-10. Sun Microsystems Laboratories.

[Ous88] Ousterhout, J. K. et al.“The Sprite Network


 

Operating System”. IEEE Computer, Fevereiro 1988.

Sistemas Distribuidos Sistema de Arquivos Distribuídos 61


Curso de Sistemas Distribuídos

Sistemas de Arquivos Distribuídos: DFS

Projeto

Sistemas Distribuidos Sistema de Arquivos Distribuídos 62

Você também pode gostar