Please enable JavaScript.
Coggle requires JavaScript to display documents.
IMPLEMENTAÇÃO DO SISTEMA DE ARQUIVOS, IMPLEMENTAÇÃO DO SISTEMA DE ARQUIVOS…
IMPLEMENTAÇÃO DO SISTEMA DE ARQUIVOS
ESTRUTURA DO SISTEMA DE ARQUIVOS
Características do Armazenamento
Discos
regraváveis in loco
acesso direto a qualquer bloco
SSD
mesmo conceito lógico
melhor desempenho
Bloco
unidade lógica do sistema de arquivos
Setor
unidade física do dispositivo
geralmente 512B ou 4KB
Problemas de Projeto
Interface para usuário
arquivos
operações
diretórios
Algoritmos para mapeamento lógico-físico
Arquitetura em Camadas
Sistema de Arquivos Lógico
gerencia metadados via FCB (File Control Block)
Módulo de Organização
traduz blocos lógicos para físicos
controla blocos livres
Sistema de Arquivos Básico
comandos genéricos para driver, buffers e cache
Controle de E/S
drivers e manipuladores de interrupção
Exemplos de Sistemas
Windows
NTFS (padrão)
FAT/FAT32/exFAT
Linux
ext2/3/4
XFS
Btrfs
macOS
HFS+
APFS
Universal
FAT32
exFAT
ESTRUTURAS DE IMPLEMENTAÇÃO
Em Disco
Bloco de Inicialização (boot block)
primeiro bloco
carrega SO
Bloco de Controle (superbloco)
informações do volume (blocos livres, tamanhos)
Estrutura de Diretório
organiza nomes e localizações
FCB (File Control Block)
metadados do arquivo
Em Memória
Tabela de Montagens
volumes montados
Cache de Diretórios
diretórios acessados recentemente
Tabela de Arquivos Abertos (sistema)
cópia dos FCBs abertos
Tabela por Processo
ponteiros para tabela do sistema
Buffers
blocos em memória para E/S
Operações com Arquivos
Criação
alocar FCB
atualizar diretório
escrever no disco
Abertura (open)
verificar se já está aberto
copiar FCB para memória
Fechamento (close)
atualizar metadados
liberar estruturas de memória
Partições e Montagem
Partições
divisões do disco
brutas ou formatadas
Montagem
tornar sistema de arquivos acessível
automática ou manual
Volume
entidade contendo sistema de arquivos
partição, disco, RAID
Sistema de Arquivos Virtual (VFS)
Permite múltiplos sistemas de arquivos coexistirem
Interface única para aplicações
vnode
estrutura que representa arquivo unicamente na rede
IMPLEMENTAÇÃO DE DIRETÓRIOS
Lista Linear
Entradas sequenciais de nomes e ponteiros
Busca lenta (sequencial)
Simples de implementar
Tabela Hash
Função hash acelera busca
Necessidade de tratar colisões
Mais eficiente para diretórios grandes
IMPLEMENTAÇÃO DO SISTEMA DE ARQUIVOS
MÉTODOS DE ALOCAÇÃO
Alocação Contígua
Arquivos em blocos sequenciais no disco
Vantagem
acesso simples e rápido
Desvantagem
fragmentação externa
necessidade de definir tamanho antecipado
Exemplo
compactação necessária para reorganizar
Alocação Encadeada
Cada arquivo é lista ligada de blocos
podem estar espalhados
Vantagem
sem fragmentação externa
Desvantagem
acesso sequencial lento
confiabilidade
ponteiros podem se perder
FAT (File Allocation Table)
tabela central com encadeamento
usada no MS-DOS/Windows
Alocação Indexada
Bloco de índices contém todos ponteiros do arquivo
Vantagem
acesso direto eficiente
sem fragmentação externa
Desvantagem
overhead para arquivos pequenos
Variações
índices multiníveis
encadeamento de blocos de índice
Desempenho
Depende do padrão de acesso
sequencial vs aleatório
Sistemas podem combinar métodos conforme necessidade
GERENCIAMENTO DE ESPAÇO LIVRE
Vetor de Bits (Bitmap)
Cada bloco representado por bit
1=livre, 0=ocupado
Vantagem
eficiente para encontrar blocos consecutivos
Desvantagem
deve residir em memória para bom desempenho
Lista Encadeada
Blocos livres formam lista ligada
Vantagem
simples
baixo overhead
Desvantagem
ineficiente para percorrer
muita E/S
RECUPERAÇÃO
Problema
Falhas do sistema podem corromper estruturas do sistema de arquivos
Inconsistências entre metadados e dados
Verificação de Consistência
Programas como fsck (UNIX) e ScanDisk (Windows)
Varrem metadados e comparam com blocos de dados
Journaling (Sistemas de Log)
Registram operações como transações em log antes de aplicar
Vantagem
recuperação rápida após falha
Funcionamento
Operação registrada no log
Log marcado como "comprometido"
Operação aplicada ao sistema de arquivos
Log limpo após conclusão
Exemplos
NTFS, ext3/ext4
CONEXÕES-CHAVE
FCB
Estrutura central com metadados do arquivo
VFS
Abstração que unifica diferentes sistemas de arquivos
Alocação
Trade-off entre desempenho e fragmentação
Bitmap vs Lista
Trade-off entre velocidade e uso de memória
Journaling
Garante consistência após falhas