Baixe o app para aproveitar ainda mais
Prévia do material em texto
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition, Capítulo 10: Interface do Sistema de Arquivos Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©20092 Sumário • Conceito de arquivo • Métodos de acesso • Estrutura de diretórios • Montagem de sistemas de arquivos • Compartilhamento e proteção Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©20093 Arquivo • Espaço de endereçamento contíguo ° Dados • números, caracteres, bytes ° Programas ° Binário ° Script • Sistema de arquivos é responsável pelo mapeamento do espaço de endereçamento para o armazenamento secundário (disco) 17 18 19 20 21 22 23 24 25 Cursor: próxima posição a ser lida/escrita 1718 19 20 21 22 23 24 25 Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©20094 Métodos de acesso • Sequencial: ° ler a seguir ° escrever a seguir • Acesos direto ° ler a partir da posição x ° escrever a partir da posição x • Acesso sequencial com posicionamento ° “a seguir” = posição x (seek) Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©20095 Estrutura de diretório • Conjunto de entradas para identificação e localização dos arquivos • Forma de organização para facilitar acessos • Diretórios e arquivos são armazenados no disco Diretório Arquivos F1 F2 F3 F4 F5 Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©20096 Organização típica Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©20097 Diretórios em árvore Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©20098 Diretórios em árvore • Busca e agrupamento eficiente • Noção de diretório corrente (diretório de trabalho) • Identificação absoluta ou relativa ao dir. corrente • Diretórios podem conter arquivos e sub-diretórios Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©20099 Diretórios como grafos • Diretório é apenas um repositório de elementos de acesso para arquivos (e outros diretórios) • É possível ter múltiplos pontos de acesso para um arquivo/diretório • Referências podem ser: ° Entradas replicadas – não há diferenças ° Ligações (links) simbólicas – arquivo especial que “aponta” para o destino real • Estrutura passa a ser a de grafo direcionado Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200910 Diretórios como grafos acíclicos Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200911 Diretório como grafo geral • Referências múltiplas para diretórios podem criar ciclos no grafo Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200912 Diretório como grafo geral • Problema: como evitar ciclos? ° Usar coleta de lixo na remoção ° Executar detecção de ciclos a cada vez que um link é criado ° Permitir links apenas para arquivos simples (não diretórios) Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200913 Montagem de sistemas de arquivos • Sistemas de arquivos devem ser incluídos no sistema de diretórios visível para serem acessados ° Operação usualmente denominada “montagem” • Forma de adição pode variar ° Usualmente, superposição de um diretório ° Pode ser implementada como união Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200914 Compartilhamento de arquivos • Desejável em sistemas multi-usuário • Pode ser feito através do sistema de proteção • Semântica do compartilhamento pode variar ° Quem tem acesso? Quem pode fazer alterações? ° Quando alterações são visíveis? Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200915 Sistemas de arquivos distribuídos • Em sistemas distribuídos, compartilhamento pode ocorrer ao longo da rede • Semântica de acesso e compartilhamento se torna ainda mais complexa • Exemplos: ° NFS (Network File System) ° Compartilhamento de discos no Windows (SMB) Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200916 Proteção no Unix/Linux • Modos de acesso: leitura, escrita, execução ° um bit para cada permissão RWX → 0/1 0/1 0/1 ° para diretórios interpretação é diferente ° representação usual: octal (3 bits/algarismo) • Três classes (três bits por classe): ° dono do arquivo (user) ° grupo de acesso (group) ° outros usuários (others) • Teste exclusivo por classe Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition, Capítulo 10: Implementação do Sistema de Arquivos Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200918 Sistema de arquivos em camadas Programas de aplicação Sistema de arquivos lógico Módulo de organização de arquivos Sistema de arquivos básico Controle de E/S Dispositivo s Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200919 Bloco de controle de arquivo (FCB) Permissões de acesso Momentos de criação, acesso, escrita Proprietário, grupo, ACL Tamanho Blocos de dados • Conteúdo típico: Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200920 Estruturas do sistema de arquivos na memória • Abertura de um arquivo espaço do usuário open(nomearq) Estrutura de diretório Estrutura de diretório Bloco de controle de arquivo Espaço do kernel Armazenamento sec. Tabela de arquivos abertos (1) (2) (3) (4) (5) Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200921 Estruturas do sistema de arquivos na memória • Leitura de dados de um arquivo (aberto) espaço do usuário read(filedesc) Tabela de arquivos abertos por processo Blocos de dados Bloco de controle de arquivo Espaço do kernel Armazenamento sec. Tabela de arquivos abertos no sistema (1) (0) (4) (3) (2) Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200922 Sistema de arquivos virtual (VFS) • Abstração orientada a objetos para implementação de sistemas de arquivos • Diferentes tipos de sistema de arquivos implementam a mesma interface • Interface do kernel é para VFS, não sistemas específicos Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200923 Sistema de arquivos virtual (VFS) Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200924 Métodos de alocação/mapeamento • Como relacionar o conteúdo do arquivo com os blocos do disco? ° Sequencialmente (alocação sequencial/contígua) ° Aleatória 17 18 19 20 21 22 23 24 25 1718 19 20 21 22 23 24 25 Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200925 Alocação contígua • Acesso sequencial: ° simples • Acesso direto: ° simples • Desperdício de espaço ° Reservas ° Fragm. externa • Pode usar relocação Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200926 Mapeamento com lista encadeada Início Fim Arquivo.txt GH A B F I C D E • Acesso sequencial: • simples • Acesso direto: • trabalhoso • Suscetível a erros 11 13 15 19 22 25 26 28 31 Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200927 • Acesso sequencial: • simples • Acesso direto: • mediano • FAT na memória Mapeamento encadeada com tabela de alocação (FAT) Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200928Mapeamento com índices Arquivo.txt • Acesso sequencial: • simples • Acesso direto: • simples • Índice na memória • Um índice por arquivo • Índices: • Guardados em blocos • Lista encadeada • Multi-nível • Híbrido • Exemplo: UNIX 11 13 15 19 22 25 26 28 31 GH A B F I C D E Índice 0x010A0 19 28 31 11 15 13 -1 25 26 22 0x010A0 Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200929 Esquema combinado: Unix Proprietário Tamanho Proteção Referências diretas a blocos do disco Bloco indireto Bloco duplo-indireto Bloco triplo-indireto Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200930 Gerência de espaço livre • Como encontrar blocos livres para adicionar dados a algum arquivo? ° Vetor de bits ° Lista encadeada ° Grupamento (blocos indexadores) ° Contagem (união de blocos contíguos) Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200931 Eficiência e Desempenho • Eficiência depende de: ° algoritmos de alocação e gerenciamento de diretórios ° tipos de dados mantidos no diretório • Desempenho: ° uso eficaz de caches de disco ° otimizações de acesso (free-behind, read-ahead) ° uso de disco virtual (RAM disk) Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200932 Recuperação • Verificação e correção de inconsistências ° Falhas do meio magnético ° Desligamento inesperado do sistema • Estruturas de memória perdidas, alterações incompletas Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200933 Recuperação • Backup e recuperação de cópias ° Armazenamento de dados em meio terciário ° Política de backup permite guardar “instantâneos” de vários momentos do sistema ° Garante recuperação contra falhas “catastróficas” Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200934 Sistemas de arquivos baseados em logs • A localização aleatória de blocos e índices aumenta a chance de inconsistências • Uso de log reduz perdas e aumenta desempenho • Todas as alterações da estrutura do Sist. Arq. são primeiro registradas no log • Log é processado assincronamente ° Tarefas são efetivamente executadas • Se o sistema falha, o log deve ser lido e tarefas incompletas podem ser reativadas (replayed) Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©200935 Sun Network File System (NFS) • Um sistema de software (interfaces, protocolos, processos) para permitir acesso a sistemas de arquivos através de redes locais • Criado originalmente pela Sun, tornou-se um padrão de rede largamente difundido • Outra solução semelhante é o sistema de compartilhamento de arquivos do Windows (SMB, ou samba) Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition, Fim dos Capítulos 10 e 11
Compartilhar