Compreendendo o layout da memória de processo do Windows

Compreendendo o layout da memória de processo do Windows

Encontro muitos blogs e documentos explicando o layout da memória do processo. Todos eles descrevem um layout de memória do seguinte tipo:

Mas quando olho para a ferramenta VMMap no windows, encontro páginas de pilha, heap etc... misturadas!
Por exemplo:
insira a descrição da imagem aqui

Tenho as seguintes perguntas:

  1. Alguém pode explicar por que essas imagens não são coerentes? Onde eu estou errando?

  2. Quando eu uso VirtualAllocEx(), no VMMap, uma região é marcada como memória privada. É heap ou pilha ou segmento de mapeamento de memória?

informação relacionada