O que você vai aprender
Definir arquivo, seus atributos e operações.
Descrever a organização em diretórios e os tipos de caminho.
Comparar métodos de alocação e de gerência de espaço livre.
Onde ficam os dados quando o computador desliga
A RAM se apaga ao desligar. Então como seus arquivos, fotos e programas continuam lá no dia seguinte? O sistema de arquivos é a camada do SO que organiza o armazenamento persistente.
Ele transforma um disco bruto — apenas uma sequência enorme de blocos numerados — em algo utilizável: arquivos com nomes, pastas, permissões e datas.
As três grandes questões
atributos→Diretórios→Alocação de
blocos→Espaço
livre
Veremos o que é um arquivo, como os diretórios os organizam, como os blocos físicos são atribuídos a cada arquivo e como o SO sabe quais blocos estão livres.
O que é um arquivo
Para o usuário, o arquivo é uma unidade lógica contínua; para o SO, são blocos possivelmente espalhados pelo disco.
O que o SO guarda e o que se pode fazer
Atributos comuns: nome, tipo, tamanho, dono, permissões, datas (criação, modificação, acesso). Operações: criar, abrir, ler, escrever, reposicionar (seek), fechar e excluir.
Permissões no Unix
As permissões Unix aparecem em três grupos (dono, grupo, outros) com leitura/escrita/execução:
Esses bits, junto com dono e grupo, formam a base do controle de acesso a arquivos.
Stepper: abrir e ler um arquivo
Diretórios
A organização mais comum é a árvore de diretórios: uma raiz e ramificações hierárquicas.
Absolutos, relativos e links
O arquivo de aço e o catálogo
Métodos de alocação de blocos
| Método | Como funciona | Trade-off |
|---|---|---|
| Contígua | Blocos consecutivos no disco | Acesso rápido; fragmentação externa; difícil crescer |
| Encadeada | Cada bloco aponta para o próximo | Sem fragmentação externa; acesso aleatório lento |
| Indexada | Um bloco de índice lista todos os blocos | Bom acesso aleatório; overhead do índice |
O i-node e os ponteiros indiretos
O i-node do Unix combina ponteiros diretos e indiretos para suportar arquivos pequenos e grandes com eficiência:
diretos→Indireto
simples→Indireto
duplo/triplo
Gerência de espaço livre
O SO precisa saber quais blocos estão livres para alocar. Duas técnicas clássicas:
- Mapa de bits: um bit por bloco (0 = livre, 1 = ocupado). Fácil de achar sequências livres; ocupa espaço proporcional ao disco.
- Lista encadeada de livres: cada bloco livre aponta para o próximo livre. Não desperdiça espaço extra, mas é ruim para achar blocos contíguos.
Check: escolha o método
Você precisa de acesso aleatório rápido a qualquer parte de arquivos que crescem com o tempo. Qual método de alocação é mais adequado?
Por que o ext4 usa extents
Sistemas modernos como o ext4 (Linux) e o NTFS (Windows) usam extents: em vez de listar cada bloco, registram intervalos contíguos (início + comprimento). Isso reduz drasticamente os metadados de arquivos grandes e melhora o desempenho sequencial.
É uma combinação prática das ideias vistas: aproveita a contiguidade quando possível (como a contígua), mas mantém um índice flexível (como a indexada).
Confusões a evitar
- Confundir i-node (metadados + ponteiros) com a entrada de diretório (nome → i-node).
- Achar que excluir um arquivo apaga os dados: em geral só remove a referência e libera os blocos.
- Misturar caminho absoluto (começa em /) com relativo (a partir do diretório atual).
- Supor que a alocação encadeada permite acesso aleatório rápido — ela exige percorrer a cadeia.
Boas práticas e analogias úteis
- Pense no i-node como o "PCB do arquivo": guarda tudo, menos o nome.
- Hard links apontam para o mesmo i-node; symlinks guardam um caminho de texto.
- O mapa de bits é ótimo para visualizar o estado do disco em exercícios.
Reveal: por que o nome não fica no i-node?
Por que o nome do arquivo fica no diretório, e não no i-node?
Revisão relâmpago
Ligações com o curso
- E/S e disco (aula 12): ler blocos espalhados aciona o escalonamento de disco.
- Memória (aula 9): os métodos de alocação ecoam contígua/indexada da memória; mapeamento de arquivos em memória usa paginação.
- Proteção (aula 13): permissões de arquivo são um caso da matriz de acesso.
- Processos (aula 3): a tabela de arquivos abertos faz parte do contexto de cada processo.
O essencial sobre sistemas de arquivos
Atividade em grupo · Projetando um mini sistema de arquivos
Em trios, escolham métodos para um pequeno disco.
Roteiro
- Suponham um disco de 16 blocos e 4 arquivos de tamanhos variados.
- Escolham um método de alocação (contígua, encadeada ou indexada) e justifiquem.
- Desenhem como cada arquivo ocupa os blocos.
- Mostrem o mapa de bits do espaço livre resultante.
Mini-quiz · Aula 11
20 questões sobre esta aula. Escolha e veja a explicação na hora.
📌 Resumo — leve isto para a prova
- Arquivo é a abstração de dados persistentes, com atributos e operações; o i-node guarda metadados e ponteiros.
- Diretórios organizam arquivos em árvore; caminhos podem ser absolutos ou relativos, e links permitem compartilhamento.
- Alocação pode ser contígua (rápida, fragmenta), encadeada (sem acesso aleatório) ou indexada (índice).
- O ext4/NTFS usam extents; o Unix usa i-nodes com ponteiros diretos e indiretos.
- O espaço livre é gerenciado por mapa de bits ou lista encadeada de blocos livres.