No Linux, uma imagem de processo é o layout completo de memória virtual de um processo em execução — um espaço de endereçamento contíguo (da perspetiva do processo) contendo tudo o necessário para execução.
| Segmento | Conteúdo | Permissões |
|---|---|---|
| Texto (Código) | Instruções executáveis (ELF .text), bibliotecas partilhadas só-leitura | r-x |
| Dados | Globais/estáticos inicializados (.data), não inicializados (.bss) | rw- |
| Heap | Alocações dinâmicas (malloc, new); cresce para cima | rw- |
| Mapeamentos de Memória | Bibliotecas partilhadas (libc, etc.), ficheiros mmap'd, vDSO, vsyscall | r--, r-x, rw- |
| Stack | Frames de função, locais, endereços de retorno; cresce para baixo | rw- |
| Kernel | Reservado (topo 1 GiB no x86_64); inacessível do user mode | --- |
fork() duplica imagem do pai; execve() substitui por novo programa (carrega ELF, mapeia libs, configura stack).mmap/munmap adicionam/removem mapeamentos; ASLR aleatoriza endereços base.exit() liberta todas as páginas, fecha ficheiros, sinaliza pai.cat /proc//maps – mapa de memória.pmap -x – RSS detalhado, dirty, swap.gdb / perf – debug/profile dentro da imagem.coredumpctl – snapshot post-mortem da imagem.A abstração da imagem de processo isola processos, permite memória virtual e sustenta a segurança e multitasking do Linux.
Tecnologia Eletrônica © [www.351231.com]