Download presentation
Presentation is loading. Please wait.
Published byConrad Wilson Modified over 9 years ago
1
Administering a heap of H bytes Address = 0Address = H - 1 Free List Pointer :
2
Initial Layout Address = 0Address = H - 1 Free List Pointer : Key: Free block: Live block: Block header: H-4 Address = 4
3
26 After program requests block of size 26 Address = 0Address = H - 1 Free List Pointer : Key: Free block: Live block: Block header: Address = 4Address = 34 H-34
4
26 After program requests blocks of sizes 10, 2, 18, H-78 Address = 0Address = H - 1 Free List Pointer : Key: Free block: Live block: Block header: Address = 4Address = 78 104 18 Minimum block size=4 bytes (null) H-78
5
26 After program frees one block Address = 0Address = H - 1 Free List Pointer : Key: Free block: Live block: Block header: Address = 4Address = 78 104 18 Minimum block size=4 bytes H-78
6
26 After program frees a second block (free() uses LIFO policy) Address = 0Address = H - 1 Free List Pointer : Key: Free block: Live block: Block header: Address = 4Address = 78 104 18 Minimum block size=4 bytes H-78
7
26 After program requests a block of size 8 (free block is split) Address = 0Address = H - 1 Free List Pointer : Key: Free block: Live block: Block header: Address = 4Address = 78 104 8H-78 Minimum block size=4 bytes 6
8
26 Program frees a block (free() uses LIFO policy – interim position) Address = 0Address = H - 1 Free List Pointer : Key: Free block: Live block: Block header: Address = 4Address = 78 104 8H-78 Minimum block size=4 bytes 6
9
40 Program frees a block (free() uses LIFO policy – final position) Address = 0Address = H - 1 Free List Pointer : Key: Free block: Live block: Block header: Address = 4Address = 78 4 8H-78 Minimum block size=4 bytes 6
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.