O espaço de endereçamento contém o programa executável, os dados do programa e sua pilha. Os processos geralmente são divididos em três segmentos:
Também associado a cada processo está um conjunto de recursos, normalmente incluindo registradores (que inclui o contador e um ponteiro para a pilha), uma lista de arquivos abertos, alarmes pendentes, lista de processos relacionados e todas as demais informações necessárias para executar um programa.
Um processo é fundamentalmente um contêiner que armazena todas as informações necessárias para executar um programa. Conceitualmente, cada processo tem sua própria CPU virtual. É óbvio que na realidade isso não existe, pois o que acontece é que a CPU troca, a todo momento, de um processo para outro conforme explicado anteriormente. Essa troca de CPU entre processos é denominada de escalonamento de processos.