• Like
Gerência de Armazenamento: Implementação do Sistema de Arquivos
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Gerência de Armazenamento: Implementação do Sistema de Arquivos

  • 1,985 views
Published

Descrever os detalhes de implementação de um sistema de arquivos e de estruturas de diretórios locais …

Descrever os detalhes de implementação de um sistema de arquivos e de estruturas de diretórios locais

Discutir alocação de blocos e de gerência de blocos livres

Published in Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,985
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
111
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Sistemas Operacionais I Gerência de Armazenamento: Implementação do Sistema de Arquivos Prof. Alexandre Duarte : http://alexandrend.com Centro de Informática | Universidade Federal da Paraíba Estes slides são baseados no material que acompanha o livro Operating Systems Concepts de Silberschatz, Galvin and Gagne
  • 2. Objetivos  Descrever os detalhes de implementação de um sistema de arquivos e de estruturas de diretórios locais  Discutir alocação de blocos e de gerência de blocos livres
  • 3. Estrutura do Sistema de Arquivos  Estrutura de arquivo  Unidade de armazenamento lógico  Coleção de informações relacionadas  Sistema residente em armazenamento secundário  Organizados em camadas  Bloco de controle de arquivos – estrutura de armazenamento com todas as informações a respeito de um arquivo
  • 4. Sistema de arquivos em camada
  • 5. Exemplo de bloco de controle de arquivos
  • 6. Estrutura do sistema de arquivos em memória
  • 7. Sistemas de arquivos virtuais  Sistemas de arquivo virtuais (VFS) fornecem uma visão orientada a objetos para implementação de sistemas de arquivos  VFS permitem que a mesma interface de chamada de sistemas seja utilizada por diferentes tipos de sistemas de arquivos.  A API se comunica com o VFS ao invés de acessar diretamente o sistema de arquivos específico.
  • 8. Visão esquemática do sistema de arquivos virtual
  • 9. Implementação de Diretório  Lista linear de nomes de arquivos com ponteiros para blocos de dados.  Fácil de programar  Consome muito tempo de execução  Tabela Hash – lista linear com estrutura de hash  Diminui o tempo de busca ao diretório  Requer tratamento de colisões  Tamanho fixo
  • 10. Métodos de alocação  Um método de alocação se refere a forma como blocos livres são alocados para arquivos:  Alocação contígua  Alocação encadeada  Alocação indexada
  • 11. Alocação contígua  Cada arquivo ocupa um conjunto de blocos contíguos no disco  Vantagens  Simplicidade – requer saber apenas o bloco inicial e comprimento (número de blocos)  Permite acesso aleatório  Bom desempenho  Desvantagens  Problemas com alocação de espaço  Arquivos não podem crescer!  Quem usa  VM/CMS da IBM
  • 12. Alocação contígua
  • 13. Sistemas baseadas em extensão  Alguns sistemas de arquivos modernos usam uma modificação do esquema de alocação contígua  Sistemas de arquivos baseados em extensões alocam blocos de disco em porções denominadas extensões  Uma extensão é uma porção contígua de blocos de disco  Um arquivo consiste de uma ou mais extensões  Ainda é suscetível a problemas de fragmentação interna e externa!
  • 14. Alocação encadeada  Cada arquivo é uma lista encadeada de blocos  Vantagens  Simplicidade – requer apenas o endereço inicial  Gerência de espaço livre – não há fragmentação externa  Desvantagens  Não permite acesso aleatório  Menor confiabilidade  Utilizado, com algumas variações, pelo File- allocation table (FAT) do MS-DOS
  • 15. Alocação encadeada
  • 16. File-Allocation Table (FAT)
  • 17. Alocação indexada  Mantém todos os ponteiros de um arquivo em um bloco de índice  Vantagens  Permite acesso aleatório  Acesso dinâmico sem fragmentação mas com overhead do índice  Desvantagens  Desperdício de espaço com arquivos com poucos blocos  Quem usa:  Unix File System
  • 18. Alocação indexada
  • 19. Gerência de espaço livre  Mapa de bits (n blocos)  Facilita a obtenção de espaço livre contíguo  Requer espaço adicional  Disco de 1TB com blocos de 4KB = 32 MB  Disco de 1PB com blocos de 4KB = 32 GB … 0 1 2 n-1 bit[i] = 0 ⇒ bloco[i] livre 1 ⇒ bloco[i] ocupado
  • 20. Gerência de espaço livre  Lista ligada (lista de livres)  Mais difícil de conseguir espaço contiguo  Diminui o desperdício de espaço  Variações  Agrupamento: primeiro bloco livre possui número de n blocos livres  Contagem: lista de sequencias contiguas de blocos livres
  • 21. Lista encadeada de blocos livres
  • 22. Eficiência e desempenho  Eficiência depende de:  Algoritmos para alocação de disco e de diretórios  Exemplo: pré-alocação  Tipos de dados mantidos nas entradas de diretório  Desempenho  Cache de buffer – seção separada de memória para blocos usados frequentemente  Cache de página – armazena dados de arquivos utilizando técnicas de memória virtual  free-behind and read-ahead – técnicas para otimizar acesso sequencial
  • 23. Cache de páginas  Uma cache páginas armazena páginas ao invés de blocos de disco utilizando técnicas de memória virtual  Entrada/saída mapeadas em memória utiliza uma cache de páginas  Entrada/saída padrão pelo sistema de arquivos usa o cache de buffer de disco
  • 24. E/S sem cache unificada
  • 25. E/S com cache unificada
  • 26. Recuperação  Verificação de consistência – compara os dados na estrutura de diretórios com os dados nos blocos de disco e tenta corrigir inconsistências  Utilizar programas de sistema para fazer backup do disco em um outro dispositivo de armazenamento  Recuperar um arquivo pedido restaurando-o do backup
  • 27. Sistema de arquivos estruturado em log  Sistema de arquivos estruturado em log consideram todas as atualizações de arquivos como transações  Todas as transações são gravadas em um log  O commit de uma transação ocorre quando ela é gravada no log  No entanto, após o commit o arquivo pode ainda não ter sido atualizado  As transações no log são executadas de forma assíncrona no sistema de arquivos  Quando o arquivo é modificado a transação é removida do log  Se o sistema de arquivos trava, todas as transações no log deverão ser executadas após a recuperação