Beruflich Dokumente
Kultur Dokumente
Distribudos
Parte 09
Sistemas de Arquivos
Distribudos
Contedo adaptado a partir do material dos professores
LusFernando Friedrich (Universidade Federal de Santa Catarina) e
Frederico Madeira (Faculdade Maurcio de Nassau PE)
Sistema de Arquivo
Parte importante dos sistemas
operacionais, pois ele fornece:
Viso abstrata dos dados persistentes
Controle sobre o servio de nomes
Acesso arquivos e sua organizao
geral.
Sistema de Arquivo
Conceitos
Arquivo
Uma sequencia de bytes.
Um sistema especifico de uma estrutura
interna.
Atributos Tamanho, acesso, datas, dono.
Sistema de Arquivos
Distribudo
Permite aos programas armazenarem e
acessarem arquivos remotos exatamente
como se fossem locais, possibilitando
que os usurios acessem arquivos a
partir de qualquer computador em uma
rede. O desempenho e a segurana no
acesso aos arquivos armazenados em
um servidor devem ser comparveis aos
arquivos armazenados em discos locais.
[Coulourus, G.; Dollimore, J.; Kindberg, T. Sistemas
Distribudos Conceitos e Projeto] Cap 7.
4
Confiabilidade
Redundncia
Disponibilidade
Escalabilidade
5
Acesso Concorrente
Vrios usurios podem acessar vrios arquivos, ou os
mesmos arquivos, sem sofrer danos, perda de
performance ou quaisquer outras restries
Replicao de Arquivos
Com esta funcionalidade, a confiana e a
eficincia do servio de arquivos aumentada
significativamente
7
SAD - Requisitos
Transparncia de...
Acesso: clientes tratam arquivos como locais
Localizao: espao de nomes uniforme e
sem mudana quando arquivos mudarem
Concorrncia: operaes dos clientes no
devem interferir umas com as outras
Falha: servidores devem operar normalmente
na falha dos clientes, e vice-versa
Desempenho: no deve variar com a carga
SAD - Requisitos
Usabilidade depende de...
Heterogeneidade de HW e SW
Interfaces definidas de forma que possam ser implementadas
por vrios HW e SW
Escalabilidade
Servio deve ser extensvel para acomodar mudanas de escala do SD
Transparncia de migrao
Arquivos podem mudar de lugar e isso no deve alterar os
clientes
9
SAD - Requisitos
E ainda...
Compartilhamento
Toda operao em um arquivo deve ser visvel a todos
processos
Semntica de sesso: nenhuma modificao visvel aos
outros processos at que o arquivo seja fechado.
Arquivos imutveis:
Modificaes no so possveis;
Simplifica compartilhamento e replicao;
Modificaes ocorrem apenas em diretrios
Transaes:
Todas as modificaes tm a propriedade do tudo-ou-nada
(atomicidade);
Serializao
10
SAD Aspectos de
Implementao
Componentes
Para preencher os
requisitos e implementar
servios, ajuda bastante
se o SA for implementado
com trs componentes:
Servio de arquivo
bsico
Servio de diretrio
Mdulo de cliente
Quem faz o que?
12
SAD Aspectos de
Implementao
Servio de arquivos bsico
13
SAD Aspectos de
Implementao
Servio de Diretorio
FIDs
Diretrio
Conjunto de FIDs e nomes textuais
Cliente do servio de arquivo bsico
Arquivos de diretrio so arquivos, e
gerenciados pelo SAB
Hierarquia de diretrios
14
SAD Aspectos de
Implementao
Modulo Cliente
15
SAD Aspectos de
Implementao
SAD Aspectos de
Implementao
Apenas relembrando...
Stateless
Stateful
Mantm informao de qual cliente abriu qual
arquivo, e em que bloco est
Requisies so atendidas mais rpido, pois no
precisa localizar o IA do arquivo
17
SAD Aspectos de
Implementao
Geraao de IAs
IA no endereo
No contm informaes sobre localizao
do arquivo
18
SAD Aspectos de
Implementao
Geraao de IAs
Integridade
Acrescentar uma parte aleatria ao inteiro
Tornar a distribuio de IAs vlidos esparsa
Parte aleatria inacessvel aos clientes
19
SAD Aspectos de
Implementao
Modos de Acesso
E arquivo compartilhado?
Dono precisa de direitos especiais
SAD Aspectos de
Implementao
Modos de Acesso
Leitura
Escrita/truncamento
Remover
Obter/definir permisses
SAD Aspectos de
Implementao
Modelos de Arquivos
SAD Aspectos de
Implementao
Semntica de Compartilhamento
Quando h mais de um processo lendo
e/ou escrevendo em um arquivo
Controle de concorrncia (ok!)
Semntica de compartilhamento
Semntica UNIX
Semntica de sesso
Arquivos imutveis
Transaes
23
SAD Aspectos de
Implementao
Semntica UNIX
Implementao fcil
Servidor central que processa requisies na
ordem (lgica)
24
SAD Aspectos de
Implementao
Semntica de sesso
SAD Aspectos de
Implementao
SAD Aspectos de
Implementao
SAD Aspectos de
Implementao
Semntica de transao
Tratar operaes de forma atmica
Uma transao
Todas modificaes nos arquivos so
delimitados por um Begin e um End
transaction
Dois processos ao mesmo tempo?
Transaes permitem concorrncia
Sistema faz serializao
28
SAD Aspectos de
Implementao
29
Na memria do cliente
Reduz volume de acesso via rede
Esquemas:
Delayed write
Operaes de escrita so propagadas em bloco (aps tempo x).
Melhor desempenho, mas risco de ambiguidade na semntica
(depende de timing[x])
Write on close:
Semntica de sesso equivalente a sistemas centralizados
Centralized control
Semntica UNIX Toda operao pode ser vista instantaneamente
Performance e escalabilidade comprometidas;
31
SAD - Replicao
SDs geralmente oferecem alguma forma de
replicao de dados
Mltiplas cpias do mesmo objeto
Por que?
Aumentar confiabilidade - a quebra de um servidor no
implica na perda de dados
Permitir acesso mesmo na caso de falha mesmo que
um servidor no esteja disponvel o acesso continua
Diviso de carga entre servidores espalhar a carga
de trabalho em vrios servidores
SAD - Replicao
Replicao explcita
Programador faz todo o
trabalho sujo
Servio de diretrio pode
permitir mltiplos IAs por
arquivo
Recupera todos no lookup
Quando for manipular, tenta
sequencialmente um por um
dos IAs, at conseguir
Funciona, mas muito
trabalhoso, e nada transparente
33
SAD - Replicao
Replicao atrasada
Apenas uma cpia feita
em um servidor
O servidor responsvel
por...
Propagar atualizaes
Selecionar outro servidor
para atender, se ele no
puder
34
SAD - Replicao
Replicao em grupos
Operao de escrita
feita ao mesmo tempo em
todos os ns
Multicast atmico (tudo-ounada)
Atrasada x grupo
Um servidor x grupo
Segundo plano x atmica
35
SAD Exemplos
NFS
GFS(Global FileSystem)
PVFS (parallel virutal file system)
AFS (Andrew FileSystem)
GMAILFS
DFS
CODA (Constant Data Availability)
36