← Voltar ao Encontro 11
Sistemas Operacionais · ADS23
01 / 14
Encontro 11 de 17

E/S como fonte
de latência

O recurso mais lento do computador — e o que mais explica por que uma aplicação "rápida no papel" fica arrastada na vida real.

ADS23IFCE Campus HorizonteProf. José Stelio Sampaio Bastos Neto
↓ role pra avançar · use os pontos à direita pra navegar direto
De onde viemos

Fechando a Unidade IV: da memória ao disco

Encontros 9 e 10

Memória: quando falta, mata ou trava

OOM, paginação, thrashing — e o disco já aparecendo como o vilão lento que faz o swap doer.

Hoje

E/S: o disco como recurso próprio

Não mais como coadjuvante do swap, mas como o gargalo que ele é — com suas próprias ferramentas de diagnóstico.

Pergunta pra turma

Sua consulta ao banco leva 2 milissegundos de CPU.
E o usuário espera 800 ms pela resposta.
Onde foram os outros 798?

O processamento é quase instantâneo. A espera, não.

A ordem de grandeza que muda tudo

Nem toda espera custa o mesmo

A diferença de velocidade entre os níveis de armazenamento não é de "um pouco mais lento" — é de ordens de grandeza. É isso que faz da E/S o gargalo dominante da maioria dos sistemas.

RecursoTempo típico de acessoComparação
Registrador / cache~1 nanossegundoInstantâneo
Memória RAM~100 nanossegundos~100× mais lento que cache
Disco SSD~100 microssegundos~1.000× mais lento que RAM
Disco HDD~10 milissegundos~100.000× mais lento que RAM
Rede (outro datacenter)~100 milissegundosO mais lento de todos

Era essa a resposta do slide 2: os 798 ms não foram processamento — foram espera por E/S.

Retomando o Encontro 6

Por isso um processo I/O-bound passa a vida bloqueado

Vocês já viram no Encontro 6 que processos I/O-bound usam pouca CPU. Agora dá pra entender o porquê com números: enquanto o disco responde, a CPU poderia ter executado milhões de instruções.

Processo pede um dado do disco
↓
Processo vai para BLOQUEADO — e fica lá por milhares de ciclos de CPU
↓
SO escalona outro processo enquanto isso (multiplexação, Encontro 6)
↓
Dado chega → processo volta para PRONTO

É por isso que o SO não deixa a CPU parada esperando: ele troca de processo. A multiplexação existe, em grande parte, por causa da lentidão da E/S.

Como o SO organiza isso

As metas do software de E/S

O subsistema de E/S do SO persegue alguns objetivos que explicam por que programar E/S é mais simples do que deveria ser.

Vocês já usaram isso sem perceber: no Encontro 6, o > /dev/null tratava um dispositivo exatamente como um arquivo.

A abstração central

No Linux, quase tudo é um arquivo

Discos, terminais, geradores de números aleatórios, até o "buraco negro" que descarta dados — todos aparecem como caminhos em /dev, manipuláveis pelos mesmos comandos de sempre.

CaminhoO que é
/dev/sdaO primeiro disco físico inteiro
/dev/sda1A primeira partição desse disco
/dev/nullDescarta tudo que for escrito (usado no Encontro 6)
/dev/zeroFornece zeros infinitos (usado nos Encontros 6 e 9)

Essa uniformidade é o que permite dd, cat e redirecionamento funcionarem igual, seja com arquivo comum ou com dispositivo.

Do dispositivo ao arquivo

Partição, sistema de arquivos e ponto de montagem

Três conceitos que costumam se confundir, mas são camadas distintas — e entender a diferença evita erros sérios de administração.

Disco físico — /dev/sda
↓ dividido em
Partição — /dev/sda1 (uma fatia do disco)
↓ formatada com
Sistema de arquivos — ext4, xfs (a estrutura que organiza os dados)
↓ montado em
Ponto de montagem — / ou /home (onde ele aparece na árvore)
As ferramentas do dia

O que usar para diagnosticar E/S

ComandoResponde a pergunta
lsblkQuais discos e partições existem, e onde estão montados?
df -hQuanto espaço resta em cada sistema de arquivos montado?
du -shQuem está ocupando o espaço dentro de um diretório?
iostat -xO disco está sendo o gargalo agora? (colunas %util, r_await e w_await)

A dupla df + du resolve o incidente mais comum de sustentação: "o disco encheu".

Por que isso importa pra quem trabalha com software

Três incidentes que esta aula resolve

Sustentação

"A aplicação parou de gravar"

Disco cheio. df -h localiza a partição, du -sh encontra o culpado — quase sempre log sem rotação.

Performance

"Está lento, mas a CPU está tranquila"

iostat com %util perto de 100% mostra que o gargalo é o disco, não o processamento.

Note o padrão que se repete desde o Encontro 10: CPU tranquila não significa sistema saudável.

Eixo do curso

Onde os dados de um container realmente ficam

Container é efêmero por natureza: quando ele morre, o que estava dentro dele morre junto. Para dados que precisam sobreviver, existe o volume — e é aqui que E/S encontra Docker.

Sem volume

Dado dentro da camada do container

Some junto com o container no docker rm. Aceitável para cache e arquivos temporários, desastroso para banco de dados.

Com volume (-v)

Dado gravado no disco do host

Sobrevive ao container. É assim que se roda banco de dados, uploads de usuário e qualquer coisa que não pode se perder.

Vocês vão testar isso hoje na prática: gravar dentro de um container, destruí-lo, e ver o que sobrou — com e sem volume.

Prévia da prática

Do lsblk ao volume que sobrevive

Uma sequência real: mapear os discos da máquina, medir espaço e latência, e provar que um volume Docker persiste.

Cada uma dessas linhas vira um passo do roteiro de laboratório de hoje.

Mão na massa

De mapear o disco a provar a persistência

DIAGNÓSTICO

Discos, espaço e latência

lsblk, df -h, du -sh, /dev e a leitura do iostat.

REFORÇO DOCKER

Volume: o dado que sobrevive

Gravar dentro do container, destruí-lo, e comparar o resultado com e sem volume.

O roteiro de laboratório detalha os passos, com dicas se algo travar.

Para ler

Leitura da semana

🟢

Laureano — Sistema de Arquivos: partições, arquivos e diretórios

A base para entender o lsblk e o /dev que vocês vão usar hoje. p. 39–43

🔵

Tanenbaum — Princípios do software de E/S

As metas que todo subsistema de E/S persegue — o conteúdo do slide 5. p. 243–246

⚪

Tanenbaum — Princípios do hardware de E/S + Discos

Aprofundamento para quem quiser entender o lado físico. p. 233–243 e 255–269

O quiz da semana verifica essa leitura e recolhe suas observações da prática — tudo no mesmo instrumento.