>> Tecnologia Eletrônica >  >> Câmeras >> Reparo de Câmeras

O Que É uma Imagem de Processo no Linux?

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.

Segmentos de uma Imagem de Processo

SegmentoConteúdoPermissões
Texto (Código)Instruções executáveis (ELF .text), bibliotecas partilhadas só-leiturar-x
DadosGlobais/estáticos inicializados (.data), não inicializados (.bss)rw-
HeapAlocações dinâmicas (malloc, new); cresce para cimarw-
Mapeamentos de MemóriaBibliotecas partilhadas (libc, etc.), ficheiros mmap'd, vDSO, vsyscallr--, r-x, rw-
StackFrames de função, locais, endereços de retorno; cresce para baixorw-
KernelReservado (topo 1 GiB no x86_64); inacessível do user mode---

Ciclo de Vida

  1. Criação: fork() duplica imagem do pai; execve() substitui por novo programa (carrega ELF, mapeia libs, configura stack).
  2. Runtime: Heap/stack expandem; mmap/munmap adicionam/removem mapeamentos; ASLR aleatoriza endereços base.
  3. Terminação: exit() liberta todas as páginas, fecha ficheiros, sinaliza pai.

Ferramentas de Inspeção

  • 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.