O sistema operativo (com suporte de hardware MMU) faz a ponte entre os endereços lógicos (virtuais) de um processo e os endereços físicos de RAM onde os dados realmente residem.
Mecanismos Centrais
- Memória Virtual — Cada processo vê um espaço de endereçamento privado e contíguo (ex.: 4 GB em 32-bit), isolado dos outros.
- Tabelas de Páginas — Tabelas por processo mapeiam páginas virtuais para frames físicos. Cada entrada (PTE) contém número de frame, permissões (R/W/X), presente/ausente, dirty, accessed bits.
- Tradução de Endereços — Em cada referência de memória, o MMU divide o endereço virtual em número de página + offset, consulta a PTE e combina o número de frame com o offset para formar o endereço físico.
- TLB (Translation Lookaside Buffer) — Pequena cache rápida de PTEs recentes evita caminhadas na tabela de páginas para páginas quentes.
- Page Faults — Se a PTE está ausente (página swapped out ou nunca carregada), o SO trap, busca a página do disco, atualiza a PTE e reinicia a instrução.
- Proteção — Bits de permissão na PTE impõem isolamento read/write/execute entre processos e modos kernel/user.
Esta abstração permite multiprogramação, overcommit de memória, swapping e segurança — tudo transparente para aplicações.