A system and method of allocating contiguous real memory in a data
processing system. A memory controller within system memory receives a
request from a data processing system component for a contiguous block of
memory during operation of the data processing system. In response to
receiving the request, the memory controller selects a candidate
contiguous block of memory. Then, after temporarily restricting access to
the candidate contiguous block of memory, the memory controller
identifies a set of frames currently in use within the candidate
contiguous block of memory, relocates the set of frames, and allocates
the candidate block of memory for exclusive use by the requesting data
processing component. The allocation of contiguous real memory occurs
dynamically during the operation of the data processing system.