
144 Basic Memory Management Chap. 9
9.7 Design Of The Low-Level Memory Manager
A set of functions and data structures are used to manage free memory. The low-
level memory manager provides four functions:
getstk — allocate stack space when a process is created
freestk — release a stack when a process terminates
getmem — allocate heap storage on demand
freemem — release heap storage as requested
Our design treats free space as a single, exhaustable resource — the low-level
memory manager allocates space provided a request can be satisfied. Furthermore, the
low-level memory manager does not partition the free space into memory available for
process stacks ...