INF: Heap Placement in Memory

ID Number: Q12245

2.00 3.00

WINDOWS

Summary:

The Windows system uses LocalInit(ds,0,size_in_bytes) to align the

heap. The first 16 bytes in DS are the NULL segment. It contains a

block of "reserved pointers." These are the heap pointers. The heap is

located in DS by subtracting the size of the heap from the end of

DGROUP and filling in the start of the heap pointer with the resulting

offset from the end of DGROUP. This procedure avoids data-stack/heap

collision.