O que a máquina tem por baixo do capô — e como o próprio sistema operacional te deixa espiar isso, sem abrir o gabinete.
Vimos que todo sistema operacional faz duas coisas ao mesmo tempo: entrega uma máquina estendida pros programas, e atua como gerenciador de recursos por trás das cortinas.
Esconde a complexidade do hardware. Você digita cat arquivo.txt e nunca precisa saber em que setor do disco os bytes estão.
Decide quem usa a CPU agora, quanta memória cada processo recebe, e em que ordem o disco atende os pedidos.
Não é curso de arquitetura de computadores — é o suficiente pra você, como profissional de ADS, entender o que pode estar limitando a performance de uma aplicação.
Executa instruções. Tem núcleos (cores) e cache. É o recurso que os processos disputam entre si.
lscpuRápida e volátil — perde tudo ao desligar. Onde os programas em execução vivem enquanto rodam.
free -hLento e persistente. Guarda tudo mesmo desligado. É o gargalo clássico de E/S.
df -hTeclado, rede, USB — e a "estrada" que liga tudo isso à CPU e à memória.
lsusb / lspciTanenbaum descreve o hardware por trás de cada categoria de SO. O mesmo Linux que você instalou aparece em quase todas elas.
Salas inteiras de disco. Lote, transações, tempo compartilhado.
Atende muitos clientes via rede. Linux, FreeBSD, Windows Server.
Várias CPUs, um sistema só. Todo notebook multinúcleo entra aqui.
Foco em um único usuário. É a sua VM Ubuntu agora.
Tablets e smartphones. Android é Linux por baixo.
Roda dentro de um forno de micro-ondas. Sem instalar apps.
Minúsculo, à bateria, orientado a eventos. TinyOS é exemplo clássico.
Prazo é lei. Um robô soldador não pode atrasar a solda.
/proc: o SO te deixa espiar por dentroO /proc parece uma pasta comum, mas é um sistema de arquivos virtual: nada ali existe fisicamente no disco. É uma janela ao vivo para dentro do núcleo (kernel).
/proc/uptime só são gerados no instante em que você lê o arquivo — e mudam a cada leitura. Não é um arquivo, é uma pergunta feita ao kernel disfarçada de arquivo.
/proc| Hardware | Comando rápido | Janela em /proc | O que revela |
|---|---|---|---|
| CPU | lscpu | /proc/cpuinfo | Modelo, núcleos, cache, velocidade |
| Memória | free -h | /proc/meminfo | RAM total, em uso, livre, swap |
| Kernel | uname -r | /proc/version | Versão exata do núcleo Linux |
| Tempo ativo | uptime | /proc/uptime | Há quanto tempo a máquina está ligada |
| Disco | df -h | /proc/mounts | Espaço usado e pontos de montagem |
Quando você roda docker run, o container enxerga o mesmo /proc do host — só que com limites. Um docker run --memory=512m não muda a RAM física da máquina: ele restringe o que aquele processo pode enxergar e usar dela.
Nos próximos ~90 minutos você vai rodar lscpu, free -h e explorar o /proc na sua própria VM — e escrever três observações conectando o que viu com o que acabamos de discutir.
Comandos explicados passo a passo, dicas pra quem travar, e o checklist final pro seu portfólio.
A leitura vem depois da aula, como fechamento — e já prepara o Encontro 3. Confira o mapa completo em Mapa_de_Leituras_SO_ADS23.md.
O Sistema de Arquivo /procfs. O livro explica exatamente o que você acabou de explorar no laboratório.
O zoológico dos sistemas operacionais. Mainframe, servidor, embarcado, tempo real — onde o Linux do lab se encaixa.
Revisão sobre hardware de computadores. Processadores, memória, discos, barramentos — opcional, pra quem quer ir além.