Implementação de sistemas de ficheiros

Inodes, nomes, descrições abertas, alocação, espaço livre, cache e recuperação.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

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.
  • dup e herança de fork partilham posição (ab, depois cd em abcdef); nova open recomeça.
  • Hard link é outro nome do mesmo inode; symlink guarda um caminho e pode ficar pendente. unlink não invalida aberturas.
  • Locks consultivos exigem cooperação.

Blocos e índices

MétodoLocalizar o bloco lógico
Contíguoinício mais índice
Extentsintervalo que o contém
Ligado / FATseguir cadeia (FAT em tabela)
Indexadoconsultar 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: (12+1024+10242)×4096(12+1024+1024^2)\times4096 bytes de dados, sem índices.

Espaço e durabilidade

  • Bitmap: blocos vezes 1 bit, dividido por 8. 1 TiB em 4 KiB dá 2282^{28} blocos, 32 MiB.
  • fflush entrega ao sistema; fsync sincroniza 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.

Índices e leituras.

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.