O GoConqr está de visual novo! Conte para nós o que você achou.

Mapa mental

Implementação Do Sistema De Arquivos

Jonathan Castro Português

Conteúdo do mapa

Implementação Do Sistema De Arquivos

  1. Estrutura do Sistema de Arquivos

    • Bloco é uma unidade lógica definida pelo Sistema de Arquivos
      • Configurável no momento da formatação
    • Setor é uma unidade física, definida pelo dispositivo
      • Normalmente 512 bytes ou 4 KB
      • Fixa, imutável
    • Dois problemas de projeto bem diferentes
      • Aparência para o usuário
        • Definição de arquivos e atributos
        • Estrutura de diretórios
        • Operações permitidas
      • Mapeamento lógico para dispositivos físicos
        • Algoritmos e estruturas de dados
    • Organizada em camadas, composta por diversos níveis
      • Usa recursos dos níveis mais baixos para criar recursos a serem usados pelos níveis mais altos
      • Sistema de Arquivos Lógico
        • Gerenciamento de metadados e mecanismos de proteção
        • FCB (File Control Block)
      • Módulo de Organização de Arquivos
        • Tradução de blocos lógicos para físicos e controle de blocos livres
      • Sistema de Arquivos Básico
        • Comandos genéricos para drivers e gerenciamento de buffers e caches
      • Controle de I/O
        • Drivers de dispositivo e interrupções
    • Tipos de Sistemas de Arquivos
      • Discos Ópticos
        • ISO 9660 e o mais moderno UDF (Universal Disk Format)
      • UNIX
        • UFS (UNIX File System)
      • Linux
        • ext2, ext3, ext4, XFS, Btrfs, F2FS, JFS, ReiserFS
      • Windows
        • NTFS (padrão)
        • Suporte para FAT/FAT32/extFAT e os usados em discos ópticos
      • macOS
        • Journaling HFS Plus e o mais moderno APFS (Apple File System)
  2. Implementação do Sistema de Arquivos

    • Visão geral
      • Estruturas em disco
        • Bloco de Controle de Inicialização
          • UFS: Boot Block
          • NTFS: Partition Boot Sector
          • Contém informações para iniciar o SO
        • Bloco de Controle de Volume
          • Detalhes da partição (blocos, ponteiros, FCBs)
          • UFS: Superbloco
          • NTFS: Partition Boot Sector
        • Estrutura de Diretório
          • Organização de arquivos
          • UFS: Nomes de arquivos e inodes
          • NTFS: Armazenado na MFT
        • FCB (File Control Block)
          • Contém metadados dos arquivos
      • Estruturas em memória
        • Tabela de montagens, Cache em memória, Tabela de arquivos abertos em todo o sistema, Tabela de arquivos abertos por processo e Buffers
      • Criação De Arquivo
        • Chama o sistema de arquivos lógico
        • Conhece o formato das estruturas de diretório e aloca um novo FCB
        • Lê o diretório apropriado pra memória
        • Atualiza com o novo nome de arquivo e FCB e escreve de volta no disco
      • open()
        • Verifica se está aberto
          • Se sim: cria ponteiro na tabela de arquivos por processo
          • Se não: pesquisa diretório e carrega FCB
      • close()
        • Remove entrada da tabela por processo
        • Atualiza metadados no disco
    • Partições e Montagem
      • Layout do disco muda dependendo do SO
      • Tipos de partição
        • Bruta (sem sistema de arquivos)
        • Formatada (com sistema de arquivos)
      • Uso de discos brutos (swap, bancos de dados, RAID)
      • Inicialização do SO
        • Carregamento da imagem do SO
        • Bootloader para múltiplos sistemas
    • Sistemas de Arquivos Virtual (VFS)
      • Duas funções importantes
        • Separa operações genéricas do sistema de arquivos de sua implementação
        • Mecanismo para a representação exclusiva de um arquivo em toda a rede
      • vnode para identificação exclusiva de arquivos
      • Suporte a NFS (Network File System)
  3. Implementação de Diretórios

    • Lista linear
      • Lista de nomes de arquivos com ponteiro para blocos de dados.
      • Vantagens: Simples de programar
      • Desvantagens: Busca linear é lenta
      • Criar arquivo
        • Pesquisar diretório (garante nome único) e adicionar entrada ao final
      • Excluir arquivo
        • Pesquisar nome e liberar espaço alocado
    • Tabela de Dispersão (Hash)
      • Lista linear + estrutura hash
      • Funcionamento
        • Calcula valor a partir do nome do arquivo
        • Retorna ponteiro para o nome na lista
      • Vantagens: Reduz tempo de busca e facilita inserção e exclusão.
      • Desafios: Gerenciamento de colisões (nomes diferentes apontando para o mesmo local)

Informações

Descrição
ate a parte 11.3 (faz outro)
Criado por
Jonathan Castro
Visualizações
1
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?