informIT: User-Level Memory Management in Linux Programming
May 19, 2004, 06:00 (0 Talkback[s])
(Other stories by Arnold Robbins)
"Without memory for storing data, it's impossible for a program
to get any work done. (Or rather, it's impossible to get any useful
work done.) Real-world programs can't afford to rely on fixed-size
buffers or arrays of data structures. They have to be able to
handle inputs of varying sizes, from small to large. This in turn
leads to the use of dynamically allocated memory—memory
allocated at runtime instead of at compile time. This is how the
GNU 'no arbitrary limits' principle is put into action.
"Because dynamically allocated memory is such a basic building
block for real-world programs, we cover it early, before looking at
everything else there is to do. Our discussion focuses exclusively
on the user-level view of the process and its memory; it has
nothing to do with CPU architecture..."