O que você vai aprender
Descrever o subsistema de E/S e o papel do buffering, cache, spooling e DMA.
Explicar por que o escalonamento de disco importa.
Aplicar FCFS, SSTF e SCAN e calcular o deslocamento do braço.
O gargalo invisível
A CPU executa bilhões de instruções por segundo; um disco magnético gasta milissegundos para mover o braço até uma trilha. Essa diferença brutal de velocidade faz da E/S um dos maiores gargalos do sistema.
O subsistema de E/S existe para esconder a complexidade dos dispositivos e, sempre que possível, esconder também a lentidão deles com técnicas como buffering, cache e escalonamento inteligente.
Da camada de software ao braço do disco
E/S→Buffering,
cache, DMA→Custo do
seek→FCFS /
SSTF / SCAN
Começamos pela organização em camadas do software de E/S, vemos as técnicas que otimizam transferências e terminamos no escalonamento de disco, com o simulador.
O subsistema de E/S em camadas
E/S do SO→Driver do
dispositivo→Controlador
+ hardware
Casando velocidades diferentes
Sem buffer, a CPU teria de esperar o dispositivo a cada byte. Com buffer, dados são acumulados e transferidos em lotes, suavizando a diferença de ritmo.
Técnicas de otimização de E/S
| Técnica | O que faz |
|---|---|
| Buffering | Área temporária que casa velocidades e agrupa transferências |
| Cache | Guarda cópias de dados muito acessados para reuso rápido |
| Spooling | Enfileira trabalhos para dispositivos compartilhados (ex.: impressora) |
| DMA | Transfere dados direto dispositivo↔memória sem ocupar a CPU |
Stepper: uma transferência com DMA
Por que escalonar o disco
Como o seek domina, reordenar as requisições pendentes para reduzir o movimento total do braço melhora muito a vazão.
Tempo de acesso em discos magnéticos
O tempo de acesso a um disco magnético tem três partes:
- Seek time: mover o braço até a trilha (o mais caro).
- Latência rotacional: esperar o setor passar sob a cabeça.
- Tempo de transferência: ler/escrever os dados.
O elevador do prédio
FCFS, SSTF e SCAN
| Algoritmo | Regra | Observação |
|---|---|---|
| FCFS | Atende na ordem de chegada | Justo, mas pode mover muito o braço |
| SSTF | Atende a requisição mais próxima da cabeça | Menor seek imediato, mas pode causar inanição |
| SCAN (elevador) | Varre em uma direção e volta | Justo e eficiente, como um elevador |
Exemplo numérico de SSTF
Cabeça em 53; fila 98, 183, 37, 122, 14, 124, 65, 67. O SSTF escolhe sempre a mais próxima da posição atual:
E nos SSDs?
Discos de estado sólido (SSD) não têm braço nem rotação: o acesso é eletrônico e o tempo de seek é praticamente constante. Por isso, o escalonamento clássico voltado a minimizar movimento do braço perde sentido neles.
Check: qual algoritmo causa inanição?
Qual algoritmo de escalonamento de disco pode deixar requisições distantes da cabeça esperando indefinidamente?
Servidor de arquivos sob carga
Um servidor recebe muitas leituras concorrentes de um disco magnético. Com FCFS, o braço ziguezagueia e a vazão cai. Trocando para SCAN, o braço varre o disco ordenadamente e a vazão sobe, com espera mais previsível para os clientes.
Se o mesmo servidor migrar para SSD, o ganho do escalonamento por seek desaparece — o gargalo passa a ser a banda do barramento e o paralelismo interno do dispositivo.
Onde se erra nas contas
- No SCAN, lembrar que o braço vai até a borda antes de voltar; no LOOK, só até a última requisição.
- Confundir SSTF (mais próxima) com SCAN (mantém a direção até o fim).
- Somar deslocamentos com sinal: use sempre o módulo da diferença entre trilhas.
- Achar que o algoritmo de disco se aplica igual a SSDs.
Para calcular o deslocamento total
- Liste a sequência de trilhas atendidas e some |trilha_atual − próxima| a cada passo.
- No SCAN, decida a direção inicial e justifique; ela muda o resultado.
- FCFS é o baseline: qualquer algoritmo bom deve ter seek total menor ou igual.
Reveal: SCAN × C-SCAN
Qual a diferença entre SCAN e C-SCAN, e por que C-SCAN existe?
Revisão relâmpago
Ligações com o curso
- Sistemas de arquivos (aula 11): blocos espalhados de um arquivo geram requisições de seek.
- Memória virtual (aula 10): faltas de página são E/S de disco; o escalonamento as afeta.
- Escalonamento de CPU (aula 5): a mesma ideia de reordenar para otimizar uma métrica, agora no braço do disco.
- Deadlocks (aula 8): dispositivos de E/S são recursos que podem entrar em impasse.
O essencial sobre E/S e armazenamento
Meça o braço do disco
Use o simulador de escalonamento de disco abaixo.
Informe a posição inicial da cabeça e a fila de requisições e compare FCFS, SSTF e SCAN. Observe o deslocamento total do braço em cada algoritmo e confirme por que o SSTF tende a ser menor — mas pode adiar requisições distantes.
Atividade em grupo · Corrida do braço do disco
Em grupos, calculem o deslocamento total para cada algoritmo.
Roteiro
- Cabeça na trilha 53; fila de requisições: 98, 183, 37, 122, 14, 124, 65, 67.
- Calculem o deslocamento total para FCFS e SSTF.
- Calculem para SCAN (escolham a direção inicial e justifiquem).
- Confiram no simulador e discutam qual teve menor seek total e por quê.
Mini-quiz · Aula 12
20 questões sobre esta aula. Escolha e veja a explicação na hora.
📌 Resumo — leve isto para a prova
- O subsistema de E/S é organizado em camadas: aplicação, software de E/S, driver e controlador/hardware.
- Buffering casa velocidades; cache reusa dados quentes; spooling enfileira; DMA libera a CPU.
- Em discos magnéticos o seek domina, e o escalonamento de disco o minimiza.
- FCFS é justo, SSTF minimiza o seek (com risco de inanição) e SCAN/C-SCAN funcionam como elevador.
- Em SSDs, sem braço nem seek, o escalonamento clássico perde relevância.