Implementação de sistemas de ficheiros
Inodes, nomes, descrições abertas, alocação, espaço livre, cache e recuperação.
Estruturas
VFS dá a interface comum e encaminha para cada implementação; não é um formato em disco. Custos e limites variam por sistema.
- Nome vive no diretório; inode guarda metadados e localização. Descritor refere uma descrição aberta com posição.
dupe herança deforkpartilham posição (ab, depoiscdemabcdef); novaopenrecomeça.- Hard link é outro nome do mesmo inode; symlink guarda um caminho e pode ficar pendente.
unlinknão invalida aberturas. - Locks consultivos exigem cooperação.
Blocos e índices
| Método | Localizar o bloco lógico |
|---|---|
| Contíguo | início mais índice |
| Extents | intervalo que o contém |
| Ligado / FAT | seguir cadeia (FAT em tabela) |
| Indexado | consultar apontadores |
Com 4 KiB e 4 B/apontador, cada índice tem 1024 entradas. Com 12 diretos, um simples e um duplo: diretos 0–11, simples 12–1035, duplo desde 1036. Capacidade: bytes de dados, sem índices.
Espaço e durabilidade
- Bitmap: blocos vezes 1 bit, dividido por 8. 1 TiB em 4 KiB dá blocos, 32 MiB.
fflushentrega ao sistema;fsyncsincroniza o ficheiro; nomes podem exigir o diretório. Confere erros de escrita, fecho e sincronização.- Journaling recupera metadados por transações; não garante todo o conteúdo nem substitui backup. Snapshot no mesmo disco não protege contra a sua perda.