GoConqr has a new look! Let us know what you think.

Mind map

Implementação Do Sistema De Arquivos

Jonathan Castro Portuguese

Map content

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)

Information

Description
ate a parte 11.3 (faz outro)
Created by
Jonathan Castro
Views
0
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?