Trilha 06

🧠 Memória e execução

Todo programa é um processo com um mapa de memória próprio: stack para frames de função, heap para alocação dinâmica, segmentos de código e dados. Entender esse mapa explica stack overflow, memory leak, dangling pointer e por que linguagens modernas precisam de GC ou ownership.

6.1

O mapa da memória

Código, dados, heap e stack — os quatro segmentos de um processo e como cada variável se encaixa em um deles.

Disponível
6.2

A pilha de chamadas

Frames de função: veja fat(4) empilhando e desempilhando frames enquanto a recursão avança e retorna.

Disponível
6.3

Heap e alocação dinâmica

malloc, free, fragmentação — e o que o alocador de memória faz por dentro quando você pede um bloco.

Disponível
6.4

Ponteiros e referências

Endereços de memória, aritmética de ponteiro e a diferença entre copiar um valor e copiar uma referência.

Disponível
6.5

Vazamentos e erros de memória

Leak, use-after-free, double free e buffer overflow: os erros que causam os exploits mais devastadores da história.

Disponível
6.6

Coleta de lixo

Mark-and-sweep, contagem de referências e GC geracional: como Python, Java e Go liberam memória automaticamente.

Disponível