<ul>Sistemas de Arquivos </ul>
Problemas da alocação em RAM <ul><li>Baixa capacidade
Volatilidade </li></ul>Solução: uso de arquivos
Conceito de arquivo <ul><li>Espaço endereços  lógico  contíguo
Coleção informações correlatas com mesmo nome armazenadas no disco </li></ul>Tipos <ul><li>Dados
Programas
Programas-fonte </li></ul>Estrutura de um arquivo <ul><li>Nenhuma: sequência bytes (Unix)
Registro
Complexa (documento formatado, arquivo relocável) </li></ul>Atributos de um arquivo (mantidos na entrada diretórios) <ul><...
Identificador: número (único) identifica arquivo dentro FS
Tipo
Localização: ponteiro para 1o bloco
Tamanho
Proteção
Hora e data da criação
Hora e data da última alteração </li></ul>
Operações com arquivos (um arquivo é um ADT) <ul><li>Criar
Escrever
Ler
Reposicionar
Apagar
Truncar
Open: move conteúdo para memória
Close: move conteúdo para disco </li></ul>Arquivos abertos – dados necessários <ul><li>Ponteiro para último local acessado...
Próximos SlideShares
Carregando em…5
×

Parte2a

474 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
474
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
15
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Parte2a

  1. 1. <ul>Sistemas de Arquivos </ul>
  2. 2. Problemas da alocação em RAM <ul><li>Baixa capacidade
  3. 3. Volatilidade </li></ul>Solução: uso de arquivos
  4. 4. Conceito de arquivo <ul><li>Espaço endereços lógico contíguo
  5. 5. Coleção informações correlatas com mesmo nome armazenadas no disco </li></ul>Tipos <ul><li>Dados
  6. 6. Programas
  7. 7. Programas-fonte </li></ul>Estrutura de um arquivo <ul><li>Nenhuma: sequência bytes (Unix)
  8. 8. Registro
  9. 9. Complexa (documento formatado, arquivo relocável) </li></ul>Atributos de um arquivo (mantidos na entrada diretórios) <ul><li>Nome
  10. 10. Identificador: número (único) identifica arquivo dentro FS
  11. 11. Tipo
  12. 12. Localização: ponteiro para 1o bloco
  13. 13. Tamanho
  14. 14. Proteção
  15. 15. Hora e data da criação
  16. 16. Hora e data da última alteração </li></ul>
  17. 17. Operações com arquivos (um arquivo é um ADT) <ul><li>Criar
  18. 18. Escrever
  19. 19. Ler
  20. 20. Reposicionar
  21. 21. Apagar
  22. 22. Truncar
  23. 23. Open: move conteúdo para memória
  24. 24. Close: move conteúdo para disco </li></ul>Arquivos abertos – dados necessários <ul><li>Ponteiro para último local acessado (por processo)
  25. 25. Direitos de acesso </li></ul>
  26. 26. Métodos de acesso <ul><li>Sequencial </li></ul>Ler próximo Escrever próximo Reset <ul><li>Direto (aleatório) </li></ul>Ler n Escrever n Procurar n Ler próximo Escrever próximo Reescrever n n: número do bloco
  27. 27. Diretórios : organizadores dos arquivos Estrutura de diretórios Coleção de nós contendo informação sobre todos os arquivos (número de registros, um por arquivo) (ambos, estrutura de diretórios e arquivos, são mantidos no disco <ul>F 1 </ul><ul>F 2 </ul><ul>F 3 </ul><ul>F 4 </ul><ul>F n </ul><ul>Directory </ul><ul>Files </ul>
  28. 28. Operações realizadas num diretório <ul><li>Procurar um arquivo
  29. 29. Criar um arquivo
  30. 30. Apagar
  31. 31. Listar um diretório
  32. 32. Renomear um arquivo </li></ul>Organização lógica do diretório <ul><li>Nível único
  33. 33. Dois níveis
  34. 34. Estruturação em árvore
  35. 35. Grafos acíclicos
  36. 36. Grafos gerais </li></ul>
  37. 37. Nível único Um único diretório para todos os usuários Problemas: nomes, impossibilidade compartilhamento
  38. 38. Dois níveis Um diretório para cada usuário <ul><li>Pode-se ter o mesmo nome de arquivo para diferentes usuários
  39. 39. Surge o path name (caminho para o arquivo)
  40. 40. impossibilidade de compartilhamento </li></ul>
  41. 41. Diretórios estruturados em árvore <ul><li>Diretório atual (de trabalho)
  42. 42. Nome caminho absoluto, relativo
  43. 43. Impossibilidade de compartilhamento </li></ul>
  44. 44. Grafos acíclicos <ul><li>Permite subdiretórios e arquivos compartilhados
  45. 45. Problemas: </li><ul><li>Múltiplos caminhos absolutos
  46. 46. Garantir que não haja ciclos </li></ul><li>Implementações </li><ul><li>Soft link (Unix, Windows)
  47. 47. Hard link (Unix): contador </li></ul></ul>
  48. 48. Grafos genéricos Quando se permite que usuários criem links, ciclos podem ocorrer <ul><ul><li>Algorítimos são mais complexos (atravessar o grafo) </li></ul></ul>Como garantir que não há ciclos? <ul><li>Permitir links para arquivos mas não para subdiretórios
  49. 49. Algorítimo de deteção de ciclos no momento da criação do link -> computacionalmente caro </li></ul>
  50. 50. Proteção Tipos de acesso <ul><li>Leitura (R)
  51. 51. Escrita (W)
  52. 52. Execução (X)
  53. 53. Append
  54. 54. Delete
  55. 55. List </li></ul>Exemplo bits proteção: RWX a) owner access 7  1 1 1 RWX b) group access 6  1 1 0 RWX c) public access 1  0 0 1 <ul>owner </ul><ul>group </ul><ul>public </ul><ul>chmod </ul><ul>761 </ul><ul>game </ul>
  56. 56. Exemplo: listagem diretório Unix
  57. 57. File control block : estrutura de armazenamento contendo informações sobre um arquivo
  58. 58. Métodos de alocação Forma como blocos do disco são alocados aos arquivos <ul><li>Contígua
  59. 59. Encadeada
  60. 60. Indexada </li></ul>Alocação Contígua Blocos contíguos no disco <ul><li>Simples: necessita bloco início e #blocos
  61. 61. Acesso aleatório
  62. 62. Desperdício espaço
  63. 63. Arquivos não podem crescer </li></ul>
  64. 64. Alocação encadeada Cada arquivo é uma lista encadeada de blocos de disco, que podem estar espalhados pelo disco. <ul><li>Simples: necessita apenas endereço início
  65. 65. Não há fragmentação externa
  66. 66. Acesso aleatório impossível </li></ul>
  67. 67. FAT (tabela alocação arquivos) <ul><li>Variação alocação encadeada: ponteiros na tabela </li><ul><li>Vantagem: acesso aleatório
  68. 68. Desvantagem: grande número disk head seeks </li></ul><li>EOF (-1)
  69. 69. 0: bloco não usado </li></ul>
  70. 70. Alocação indexada Armazena todos os ponteiros no bloco de índice <ul><li>Necessita tabela índices
  71. 71. Acesso aleatório
  72. 72. Pode-se encadear blocos de índice </li></ul><ul>index table </ul>
  73. 73. Gerência do espaço livre Vetor de bits (bitmap) <ul><li>Requer espaço adicional </li></ul>Example: block size = 2 12 bytes disk size = 2 30 bytes (1 gigabyte) n = 2 30 /2 12 = 2 18 bits (or 32K bytes) <ul>… </ul><ul>0 </ul><ul>1 </ul><ul>2 </ul><ul>n-1 </ul><ul>bit[ i ] = </ul><ul>0  block[ i ] free 1  block[ i ] occupied </ul>
  74. 74. Gerência de espaço livre Lista encadeada de blocos livres
  75. 75. Sistemas arquivos log estruturados orientados a transação (jornalados) <ul><li>Gravam cada alteração num log (transação)
  76. 76. As transações são escritas no sistema de arquivos de forma assíncrona
  77. 77. Se houver um crash, as transações pendentes serão realizadas </li></ul>
  78. 78. Fragmentação interna (dentro do segmento, dentro do bloco) <ul><li>Surge quando tamanho do arquivo não é múltiplo tamanho bloco
  79. 79. Em média perde-se ½ bloco por arquivo (estatisticamente) </li></ul>Fragmentação externa (fora do segmento -> entre segmentos) <ul><li>Surge quando se deleta um arquivo </li></ul>
  80. 80. Tamanho dos blocos <ul><li>Blocos pequenos </li></ul>Vantagem: fragmentação interna menor Desvantagem: maior custo gerência espaço livre: bitmap maior <ul><li>Blocos grandes </li></ul>Vantagem: menor custo gerência Desvantagem: fragmentação interna maior

×