Archive / / / 2002-09-20-malloc.txt
2002-09-21 01:51:30 UTC
previous next
For page-aligned heap blocks: 0x7F000 - Last block 0x01000 - First block 0x00000 - Free page bitmap (5 bytes for each block - 640 bytes) ( Byte 0: Flags (Bit 0: 1 = used, 0 = free) Byte 1-5: Physical address of block Beginning of heap block 0x1000 - Beginning of heap 0x0200 - 0x0000 - Heap block map (1 byte for each block, gives flags, 512 bytes) (bit 0: 1 = used, 0 = free) (bit 1: 1 = page-aligned block, 0 = normal block) If free, byte = 0, for eaiser searching First page of heap may be partially used, if this 512 bytes map doesn't fit, put at start of next page All addresses relitive to start of heap