Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza...
-
Upload
lidia-chagas-clementino -
Category
Documents
-
view
217 -
download
0
Transcript of Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza...
![Page 1: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/1.jpg)
Projeto e ImplementaçãoProjeto e Implementação
de Sistemas de Arquivosde Sistemas de Arquivos
Prof. Dr. Norian MarranghelloProf. Dr. Norian Marranghello
Grupo 14Grupo 14Roger Souza de PaulaRoger Souza de PaulaMaurício Nigro TroncoMaurício Nigro Tronco
![Page 2: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/2.jpg)
• INTRODUÇÃO
• CARACTERÍSTICAS DE UM SAD
• Arquivos
• Hierarquia
• PROJETO E IMPLEMENTAÇÃO DE UM SAD
• Montagem de Arquivos
• Registro de Servidores
• Servidores Com ou Sem Informações de Estado
• Acesso a Arquivos
• Controle de Coerência
• Semântica de Compartilhamento
• Controle de Versão
EmentaEmenta
![Page 3: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/3.jpg)
IntroduçãoIntrodução
Conceitos em comum dos sistemas distribuídos e sistemas de arquivos distribuídos:
• transparência;
• serviço de diretório;
• performance e disponibilidade;
• controle de acesso e proteção;
![Page 4: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/4.jpg)
Características de um SAD Características de um SAD
• dispersão de arquivos e usuários;
• multiplicidade de arquivos e usuários;
Sistema Distribuído
![Page 5: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/5.jpg)
ArquivosArquivos
• Arquivos são mecanismos de ;
• Consistem de três componentes lógicos:
+Nome +Atributos +Dados
Nome simbólico Seqüência de itens de dados
Posse, tipo, tamanho, timestamp, autorização de acesso
abstração de dados
![Page 6: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/6.jpg)
Hierarquia (1)Hierarquia (1)
• Arranjo dos diretórios (pais) com seus respectivos subdiretórios (filhos)
Sistema de Arquivos Hierárquico
• Operações:
• leitura;• escrita;• anexação de informações;
• criação e remoção de arquivos;• gerência de diretórios;
Serviço de arquivos
Serviço de diretórios
![Page 7: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/7.jpg)
Hierarquia (2)Hierarquia (2)
• A hierarquia pode ser esquematizada de duas formas:
• árvore;
• grafo;
![Page 8: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/8.jpg)
Hierarquia (3)Hierarquia (3)
• Árvore
A
B C
ED
diretório paidiretório pai
diretórios filhosdiretórios filhos
![Page 9: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/9.jpg)
Hierarquia (4)Hierarquia (4)
• Grafo
máquinmáquina 1a 1
máquina 2máquina 2D1
C1
E1
B2
A1
contador do número de diretórios apontando para este diretório
![Page 10: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/10.jpg)
Hierarquia (5)Hierarquia (5)
• Visão de hierarquia
A
B C
D
E F
Servidor de arquivos 1Servidor de arquivos 1 Servidor de Servidor de arquivos 2arquivos 2
• Considere os seguintes servidores de arquivos:
![Page 11: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/11.jpg)
Hierarquia (6)Hierarquia (6)
A
B C
root
D
E F
cliente 1cliente 1 cliente 2cliente 2
• Exemplo 1: um sistema no qual todos os clientes têm a mesma visão do sistema de arquivos.
A
B C
root
D
E F
![Page 12: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/12.jpg)
Hierarquia (7)Hierarquia (7)
A
B C
root
D
E F
cliente 1cliente 1 cliente 2cliente 2
• Exemplo 2: um sistema no qual diferentes clientes têm diferentes visões do sistema de arquivos.
A
B C
root
D
E F
![Page 13: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/13.jpg)
Projeto e Implementação de Projeto e Implementação de um SAD um SAD
• Um SAD possui dois componentes:
• servidor de arquivos;
• servidor de diretórios;
• Problemas no projeto e implementação de um SAD:
• compartilhamento de arquivos;
• replicação de arquivos;
![Page 14: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/14.jpg)
Montagem de Arquivos (1)Montagem de Arquivos (1)
• Montagem de Arquivos
Liga o sistema de arquivos de uma máquina remota em um sistema de arquivos de uma máquina local;
• ponto de montagem;
• Aspectos importantes:
• referências desnecessárias de hosts remotos ou dispositivos locais;
• tabela de montagem;
• uso de nomes de caminho concatenados;
![Page 15: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/15.jpg)
a montagem de servidores é implicitamente feita quando um arquivo é aberto primeiramente por um cliente;
um conjunto de servidores de arquivo é prescrito e todas as montagens são executadas no tempo de boot do cliente;
clientes fazem chamadas de montagem explícita do sistema quando é desejado;
Montagem de Arquivos (2)Montagem de Arquivos (2)
• A montagem de arquivos pode ser feita de três formas:
Montagem de Boot:
Montagem Explícita:
Automontagem:
![Page 16: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/16.jpg)
Montagem de Arquivos (3)Montagem de Arquivos (3)• Exemplo 3: sistemas de arquivo local e remoto.
vmlinux usr
alunos x assistentes
/root
joana
nfs
usuário
gê ana
/root
Servidor de arquivos 1Servidor de arquivos 1 Servidor de Servidor de arquivos 2arquivos 2
ClientClientee
/root
export
pessoas
joão paulapedro
Montagem
Remota
Montagem
Remota
![Page 17: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/17.jpg)
Registro de Servidores (1)Registro de Servidores (1)
Montagem inicial de arquivos
Requer conhecimento da localização dos servidores
de arquivoO protocolo de montagem
não é transparente
Como então localizar os servidores?
![Page 18: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/18.jpg)
Registro de Servidores (2)Registro de Servidores (2)
• Resposta: através do uso de um .
• Assim, um servidor de arquivo pode ser localizado de duas maneiras:
Clientes consultam o registro do servidor antes da montagem;
Servidores de arquivos respondem aos pedidos dos clientes;
protocolo de resolução de endereço
• Conseqüência:
Melhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performanceMelhor performance
![Page 19: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/19.jpg)
Servidores Com ou Sem Servidores Com ou Sem Informações de Estado (1)Informações de Estado (1)
• A cada sessão de arquivo, está associada uma ou mais
Informações de Estado
Arquivos abertos e seus clientes
Descritores e controladores de arquivosPonteiros do arquivo
Montagem de informação
Lock status
Chaves de sessão
Cache ou
Buffer
informação de estado ;
![Page 20: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/20.jpg)
Servidores Sem Informações Servidores Sem Informações de Estado: Stateless (1)de Estado: Stateless (1)
Não mantêm nenhuma informação de estado;
Mais fácil de se implementar;
Mais tolerante a falhas: Falhas no cliente não afetam o servidor; Falhas no servidor são fáceis de se recuperar;
Não há necessidade de chamadas open/close;
Não gasta espaço de memória do servidor para se armazenar tabelas;
![Page 21: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/21.jpg)
Servidores Sem Informações Servidores Sem Informações de Estado: Stateless (2)de Estado: Stateless (2)
Cliente 1
Cliente 2
Cliente 3
Cliente 4
Servidor
![Page 22: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/22.jpg)
Servidores Sem Informações Servidores Sem Informações de Estado: Stateless (3)de Estado: Stateless (3)
Implementação de um servidor Stateless
Gerenciamento de chaves de sessão
Mecanismo de bloqueio do arquivo
Consistência em cache
Necessidade de idempotência
![Page 23: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/23.jpg)
Servidores Com Informações Servidores Com Informações de Estado: Statefullde Estado: Statefull
Mantêm uma ou mais informação de estado;
Mensagens menores para solicitações de serviço;
Possível ler informações adiantadas;
Fácil de se obter idempotência;
É possível bloquear arquivos;
![Page 24: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/24.jpg)
Acesso a Arquivos (1)Acesso a Arquivos (1)
Compartilhamento:
Sobreposição; Intercalação;
Controle de coerência;
Controle de concorrência;
![Page 25: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/25.jpg)
Acesso a Arquivos (2)Acesso a Arquivos (2)
Tempo
EspaçoAcesso Remoto Acesso ao
cache
Acesso de download e
upload
Simples leitura/escrita
Falso compartilhamento
Controle de coerência
Controle de coerência
TransaçãoControle de
concorrênciaControle de
concorrênciaCoerência e concorrência
SessãoNão aplicável Não aplicável Compartilhamento
ignorado
![Page 26: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/26.jpg)
Controle de Coerência (1)Controle de Coerência (1)
• As interpretações (ou definições) a seguir estão listadas em ordem de inflexibilidade:
Todas as réplicas são idênticas em todos os instantes;
Réplicas são percebidas como idênticas apenas em alguns instantes;
Os usuários sempre podem ler os dados ‘mais recentes’ nas réplicas;
Operações de escrita são sempre executadas ‘imediatamente’ e seus resultados são propagados em um estilo de melhor esforço.
![Page 27: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/27.jpg)
Controle de coerência (2)Controle de coerência (2)
• A transação deve ser atômica;
• Para isso, devem satisfazer as propriedades de atomicidade, consistência, isolamento e durabilidade (ACID);
• A função para forçar a se ter atomicidade e consistência em um servidor de arquivo é chamada de serviço de transação.
![Page 28: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/28.jpg)
Semântica de Semântica de Compartilhamento (1)Compartilhamento (1)
• Controla problemas de coerência e concorrência;
• Quatro formas de tratar arquivos compartilhados em sistemas distribuídos:
Semântica UNIX;
Semântica de sessão;
Arquivos imutáveis;
Transações.
![Page 29: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/29.jpg)
Semântica de Semântica de Compartilhamento (2)Compartilhamento (2)
Sistema com um único processador:
X
Y
a b c
a b
arquivo original
A leitura obtém “abc”
Escrita de “c”
![Page 30: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/30.jpg)
Semântica de Semântica de Compartilhamento (3)Compartilhamento (3)
• Sistema distribuído:
a b
a b a b
a b c
X
Cliente 1
Y
Cliente 2
Leitura obtém “ab” Leitura obtém “ab”
Servidor de arquivos
Escrita de “c”
![Page 31: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/31.jpg)
Controle de Versão (1)Controle de Versão (1)
• O que é?
A responsabilidade de forçar semânticas de compartilhamento de arquivo é separada do serviço de arquivo para um serviço de alto nível chamado controle de versão;
Para que serve?
Solução para se obter o compartilhamento de escrita;
Pode pode ser implementado como uma função do serviço de diretório;
![Page 32: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/32.jpg)
Controle de Versão (2)Controle de Versão (2)
• Cada arquivo no diretório é associado a um número de versão;
• O arquivo com o mais alto número de versão é considerado ser o de versão atual do arquivo compartilhado;
• A chamada de abertura a um arquivo sempre retorna a versão atual;
• Operações de leitura/escrita no arquivo aberto são feitas somente no local da cópia em andamento;
![Page 33: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/33.jpg)
Controle de Versão (3)Controle de Versão (3)
• Tentative Version:
• Quando um arquivo é fechado, localmente é modificada a versão do arquivo, uma espécie de versão provisória (tentative version), que é atualizada no controle de versão;
• Se a versão provisória é fundamentada na versão corrente, é feita uma atualização e a versão provisória se torna a versão atual com um novo número de versão;
• Senão, três ações diferentes podem ser realizadas: Desconsiderar conflito; Resolver conflito de versão; Resolver seriabilidade de conflitos;
![Page 34: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/34.jpg)
Controle de Versão (4)Controle de Versão (4) Exemplo 1:
Servidor
Cliente 1
103
103104
mem. cache
modificacopiar
disco
Atualiza
104
![Page 35: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/35.jpg)
Controle de Versão (5)Controle de Versão (5) Exemplo 2:
Servidor
Cliente 1
103Atualização
Cliente x105
103104
mem. cache
modificacopiar
?
?
disco
![Page 36: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/36.jpg)
Controle de Versão (6)Controle de Versão (6)
• Conclusões:
Resoluções mais complexas de conflito ou esquemas de controle de versão podem ser implementadas dependendo das necessidades das aplicações;
O uso de arquivos imutáveis ameniza suas mudanças de responsabilidade do serviço de arquivo para outros sistemas de serviço, permitindo implementações independente dos diferentes modelos de semântica;
![Page 37: Projeto e Implementação de Sistemas de Arquivos Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco.](https://reader034.fdocumentos.com/reader034/viewer/2022042705/570638581a28abb8238fc835/html5/thumbnails/37.jpg)