NT heap : The existing Windows Heap allocation mechanism
Segment Heap
: The newest Windows Heap allocation mechanism that has been added since Windows 10.
However, this mechanism has not yet been commercialized because many programs have been optimized for the NT heap.
Heap Fragmentation
and improve performance, this mechanism manages the heap using the Back-End Heap
and Front-End Heap
.Heap Fragmentation
and improve the performance.When Windows(Back-End heap) allocates the same size heap several time,
LFH prepares several heap chunks of the required size.
After that, when heaps of the same size are allocated again, LFH gets and allocates the Heap Chunk managed by the UserBlock structure.
⇒ From this,
UserBlock structure consists of one UserBlock Header and lots of Heap Chunks.
UserBlock Header
Signature
0xF0E0D0C0
is stored here.BusyBitmap.Data
BitmapData
in the UserBlock Header.BitmapData
Heap Chunk
Heap Chunk Header
(0x8 byte) and Heap Chunk Header
has Chunk Number
.Chunk Number
is the index of each Heap Chunk starting with the Heap Chunk closest to the UserBlock Header as 0. [Fig 1] The structure of UserBlock structure. I only showed part of the UserBlock Header.