In a computer system, a descriptive memory allocation system is described
having a memory policy allocation module for setting memory allocation
policies by an operating system in response to descriptive resource use
requirements provided by an application requesting access to a specified
address range in memory. The descriptive memory allocation system
includes a descriptive resource allocator that uses descriptive memory
use advice provided by an application to decide how to allocate memory to
the application. The descriptive resource allocator includes memory
allocation policies that may be set by the operating system after the
operating system has determined the appropriate allocation scheme to
implement based on an allocation advice provided by a requesting after
the application. The application in providing its descriptive memory use
information does not specify a specific allocation policy the operating
system should use to allocate memory to it.