O que você vai aprender
Descrever a organização de um sistema de arquivos e seus metadados.
Comparar alocação contígua, encadeada e indexada (i-node).
Contrastar HDD e SSD quanto à física e ao custo de acesso.
Aplicar e comparar algoritmos de escalonamento de disco (FCFS, SSTF, SCAN).
Do disco cru ao arquivo nomeado
Um disco enxerga apenas blocos numerados — milhões de gavetas idênticas. Você, porém, pensa em "relatorio.pdf", em pastas, em permissões, em datas. Quem faz a ponte entre o bloco bruto e o arquivo nomeado é o sistema de arquivos.
Esta aula desce ao armazenamento persistente: como os bytes de um arquivo são espalhados pelos blocos, como o SO os reencontra, e por que a física do meio (prato magnético girando ou flash sem partes móveis) muda completamente a estratégia de acesso.
O que veremos nesta aula
diretórios→Métodos de
alocação→HDD × SSD→Escalonamento
de disco
Da abstração lógica (arquivo) à mecânica do braço de leitura, terminando nos algoritmos que ordenam os acessos para reduzir o movimento do cabeçote.
O que é um sistema de arquivos
Ele resolve três perguntas: como nomear (diretórios), onde guardar os bytes (alocação) e como controlar o espaço livre (mapa de bits ou lista de livres). Tudo isso precisa sobreviver a desligamentos — daí a importância da consistência.
Métodos de alocação de blocos
| Alocação | Ideia | Vantagem | Ponto fraco |
|---|---|---|---|
| Contígua | Blocos sequenciais | Acesso sequencial e aleatório rápidos | Fragmentação externa; crescer é difícil |
| Encadeada | Cada bloco aponta o próximo | Cresce fácil; sem fragmentação externa | Acesso aleatório ruim; um ponteiro perdido quebra o arquivo |
| Indexada (i-node) | Bloco de índices com os endereços | Bom acesso aleatório | Overhead do bloco de índice |
O i-node e os ponteiros indiretos
Um i-node clássico tem, por exemplo, 12 ponteiros diretos e 3 níveis de indireção:
| Tipo de ponteiro | Aponta para | Alcance (com bloco de 4 KB) |
|---|---|---|
| 12 diretos | Blocos de dados | 12 × 4 KB = 48 KB |
| 1 indireto simples | Bloco de 1024 ponteiros | 1024 × 4 KB = 4 MB |
| 1 indireto duplo | Ponteiros de ponteiros | ~4 GB |
| 1 indireto triplo | Três níveis | ~4 TB |
Arquivos pequenos usam só os ponteiros diretos (acesso rápido); arquivos gigantes escalam pelos níveis indiretos, pagando o custo só quando necessário.
Passo a passo: abrindo /docs/nota.txt
HDD × SSD: duas físicas
SSD. Memória flash sem partes móveis; acesso a qualquer bloco em tempo aproximadamente uniforme, mas com gravação por páginas/apagamento por blocos e desgaste.
Por que o seek domina no HDD
No HDD, ler um bloco tem três custos: o seek (mover o braço até a trilha certa, ~milissegundos), a latência rotacional (esperar o setor girar até a cabeça, metade de uma rotação em média) e a transferência. O seek é mecânico e domina — é o motivo de o acesso sequencial ser muito mais rápido que o aleatório: sequencialmente, o braço quase não se move.
No SSD não há braço nem rotação: o acesso aleatório custa quase o mesmo que o sequencial. Por isso o ganho de reordenar acessos por posição (escalonamento de disco) é grande no HDD e quase irrelevante no SSD. Em compensação, o SSD tem desgaste: cada célula suporta um número finito de gravações, exigindo wear leveling.
O elevador do prédio
Algoritmos de escalonamento de disco
| Algoritmo | Critério | Característica |
|---|---|---|
| FCFS | Ordem de chegada | Justo, mas muito movimento |
| SSTF | Trilha mais próxima primeiro | Reduz seek; pode causar inanição de trilhas distantes |
| SCAN (elevador) | Varre numa direção e volta | Equilibrado; sem inanição |
| C-SCAN | Varre só numa direção (volta ao início) | Tempo de espera mais uniforme |
SCAN em ação
em 53→Sobe atendendo
65, 67, 98...→Chega ao
extremo→Inverte e
desce 37, 14
Journaling e consistência
Sem journaling, uma queda durante a escrita de um i-node ou do mapa de blocos poderia deixar o sistema de arquivos corrompido (blocos perdidos, dois arquivos apontando o mesmo bloco). Sistemas como ext4, NTFS e XFS usam journaling. Já flash e SSD frequentemente empregam sistemas de arquivos pensados para o desgaste (F2FS) ou camadas de tradução (FTL) que escondem o apagamento por blocos.
Verifique seu entendimento
Por que o escalonamento de disco por posição importa muito menos em um SSD do que em um HDD?
Armazenamento em embarcados
Em sistemas embarcados, o armazenamento costuma ser flash (NAND ou NOR) ou cartões eMMC/SD. Microcontroladores executam código diretamente da flash interna (execute-in-place), e dados de configuração ficam em pequenas EEPROMs ou em setores de flash.
Sistemas de arquivos para esse mundo precisam lidar com o desgaste e com quedas de energia: FAT (simples, universal), LittleFS e SPIFFS (projetados para flash, com wear leveling e tolerância a falhas) são comuns em IoT. O escalonamento de disco clássico (SCAN) é irrelevante aqui — não há braço para mover.
Confusões frequentes
• Confundir fragmentação externa da alocação contígua com a fragmentação de arquivo que desfragmentadores resolvem.
• Achar que SSTF é sempre o melhor — ele pode causar inanição de trilhas distantes.
• Aplicar SCAN/SSTF a SSDs achando que melhora — o ganho é desprezível sem seek.
• Esquecer a latência rotacional, contabilizando só o seek no HDD.
Como calcular movimento de cabeçote
Revele a resposta
Para a fila 98,183,37,122,14,124,65,67 com cabeçote em 53, qual o movimento total no SSTF?
Revisão relâmpago
Para onde isso leva
O armazenamento conecta-se a várias frentes:
- O swap da memória virtual (Aula 9) vive no disco e sofre os mesmos custos de seek.
- A alocação de blocos retoma a fragmentação vista na memória (Aula 8).
- O acesso ao disco usa DMA e buffering da E/S (Aula 10).
- Flash com wear leveling é típica de embarcados (Aula 12).
Resumo da aula
Atividade em grupo · Movendo o cabeçote
Em trios, comparem algoritmos de disco na mesma fila de requisições.
Roteiro
- Fila de trilhas: 98,183,37,122,14,124,65,67; cabeçote inicial em 53.
- Calculem o deslocamento total para FCFS, SSTF e SCAN à mão.
- Confiram no simulador de escalonamento de disco.
- Discutam: por que esses algoritmos importam menos em um SSD?
Mini-quiz · Aula 11
20 questões sobre esta aula. Escolha e veja a explicação na hora.
📌 Resumo — leve isto para a prova
- Sistemas de arquivos organizam dados, metadados e o mapa de blocos.
- Alocação contígua, encadeada e indexada (i-node) têm trade-offs distintos.
- No HDD o seek e a latência rotacional dominam; no SSD o acesso é quase uniforme.
- SSTF e SCAN reduzem o movimento do cabeçote em HDDs; pouco importam em SSDs.
- Journaling protege a consistência; embarcados usam sistemas de arquivos para flash.