This preview shows page 1. Sign up to view the full content.
Unformatted text preview: will be linear in the total number of allocated and free blocks in the heap. It is important to realize that the system’s alignment requirement and the allocator’s choice of block format impose a minimum block size on the allocator. No allocated or free block may be smaller than this minimum. For example, if we assume a double-word alignment requirement, then the size of each block must be a multiple of two words (8 bytes). Thus, the block format in Figure 10.37 induces a minimum block size of two words: one word for the header, and another to maintain the alignment requirement. Even if the application were to request a single byte, the allocator would still create a two-word block. 10.9. DYNAMIC MEMORY ALLOCATION
Practice Problem 10.6:
Determine the block sizes and header values that would result from the following sequence of malloc requests. Assumptions: (1) The allocator maintains double-word alignment, and uses an implicit free list with the block format from Figure 10.37. (2) Block sizes are rounded up to the nearest multiple of eight bytes. Request malloc(1) malloc(5) malloc(12) mall...
View Full Document
- Spring '10
- The American