A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Projeto e Implementação de Sistemas de Arquivos

Apresentações semelhantes


Apresentação em tema: "Projeto e Implementação de Sistemas de Arquivos"— Transcrição da apresentação:

1 Projeto e Implementação de Sistemas de Arquivos
Prof. Dr. Norian Marranghello Grupo 14 Roger Souza de Paula Maurício Nigro Tronco

2 Ementa 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

3 Introduçã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;

4 Características de um SAD
dispersão de arquivos e usuários; multiplicidade de arquivos e usuários; Sistema Distribuído

5 Arquivos + + + Nome Atributos Dados Arquivos são mecanismos de ;
abstração de dados Consistem de três componentes lógicos: Seqüência de itens de dados Nome simbólico + Nome + Atributos + Dados Posse, tipo, tamanho, timestamp, autorização de acesso

6 Sistema de Arquivos Hierárquico
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; Serviço de arquivos criação e remoção de arquivos; gerência de diretórios; Serviço de diretórios

7 Hierarquia (2) A hierarquia pode ser esquematizada de duas formas:
árvore; grafo;

8 Hierarquia (3) Árvore diretório pai A diretórios filhos B C D E

9 Hierarquia (4) A B C máquina 1 D E máquina 2 Grafo
contador do número de diretórios apontando para este diretório A 1 B 2 C 1 máquina 1 D 1 E 1 máquina 2

10 Considere os seguintes servidores de arquivos:
Hierarquia (5) Visão de hierarquia Considere os seguintes servidores de arquivos: Servidor de arquivos 1 Servidor de arquivos 2 A B C D E F

11 Hierarquia (6) cliente 1 cliente 2 A B C root D E F A B C root D E F
Exemplo 1: um sistema no qual todos os clientes têm a mesma visão do sistema de arquivos. cliente 1 cliente 2 A B C root D E F A B C root D E F

12 Hierarquia (7) A B C root D E F cliente 1 cliente 2 A B C root D E F
Exemplo 2: um sistema no qual diferentes clientes têm diferentes visões do sistema de arquivos. A B C root D E F cliente 1 cliente 2 A B C root D E F

13 Projeto e Implementação de 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;

14 Montagem de Arquivos (1)
Liga o sistema de arquivos de uma máquina remota em um sistema de arquivos de uma máquina local; Aspectos importantes: tabela de montagem; ponto de montagem; uso de nomes de caminho concatenados; referências desnecessárias de hosts remotos ou dispositivos locais;

15 Montagem de Arquivos (2)
A montagem de arquivos pode ser feita de três formas: Montagem Explícita: clientes fazem chamadas de montagem explícita do sistema quando é desejado; um conjunto de servidores de arquivo é prescrito e todas as montagens são executadas no tempo de boot do cliente; Montagem de Boot: a montagem de servidores é implicitamente feita quando um arquivo é aberto primeiramente por um cliente; Automontagem:

16 Montagem de Arquivos (3)
Exemplo 3: sistemas de arquivo local e remoto. Servidor de arquivos 1 Cliente Servidor de arquivos 2 /root export pessoas joão paula pedro vmlinux usr alunos x assistentes /root joana nfs usuário ana /root Montagem Remota

17 Registro de Servidores (1)
Requer conhecimento da localização dos servidores de arquivo O protocolo de montagem não é transparente Montagem inicial de arquivos Como então localizar os servidores?

18 Registro de Servidores (2)
Resposta: através do uso de um protocolo de resolução de endereço 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; Conseqüência: Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance Melhor performance

19 Servidores Com ou Sem Informações de Estado (1)
A cada sessão de arquivo, está associada uma ou mais informação de estado ; Arquivos abertos e seus clientes Montagem de informação Chaves de sessão Informações de Estado Cache ou Buffer Lock status Ponteiros do arquivo Descritores e controladores de arquivos

20 Servidores Sem Informações 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;

21 Servidores Sem Informações de Estado: Stateless (2)
Cliente 1 Cliente 2 X X Cliente 3 Servidor Cliente 4

22 Servidores Sem Informações de Estado: Stateless (3)
Necessidade de idempotência Mecanismo de bloqueio do arquivo Implementação de um servidor Stateless Consistência em cache Gerenciamento de chaves de sessão

23 Servidores Com Informações de 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;

24 Acesso a Arquivos (1) Compartilhamento: Sobreposição; Intercalação;
Controle de coerência; Controle de concorrência;

25 Acesso de download e upload Simples leitura/escrita
Acesso a Arquivos (2) Tempo Espaço Acesso Remoto Acesso ao cache Acesso de download e upload Simples leitura/escrita Falso compartilhamento Controle de coerência Transação Controle de concorrência Coerência e concorrência Sessão Não aplicável Compartilhamento ignorado

26 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.

27 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.

28 Semântica de 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.

29 Semântica de Compartilhamento (2)
Sistema com um único processador: arquivo original X a b a b c Escrita de “c” Y A leitura obtém “abc”

30 Semântica de Compartilhamento (3)
Sistema distribuído: Y Cliente 2 X Cliente 1 a b a b Leitura obtém “ab” Leitura obtém “ab” a b c Escrita de “c” a b Servidor de arquivos

31 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;

32 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;

33 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;

34 Controle de Versão (4) Exemplo 1: 103 104 Servidor Atualiza 104 103
disco 103 104 Servidor Atualiza mem. cache 104 103 Cliente 1 modifica copiar

35 Controle de Versão (5) Exemplo 2: Atualização ? 105 103 Servidor
disco ? 105 103 Servidor Cliente x mem. cache ? 103 104 Cliente 1 modifica copiar

36 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;

37 Fim!!!


Carregar ppt "Projeto e Implementação de Sistemas de Arquivos"

Apresentações semelhantes


Anúncios Google