Buscar

SO_cap10e11-gerenciamento_armazenamento

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

Outros materiais