A method and system provides a requested memory to a requesting process.
The memory is requested by a consumer process residing in application
space. The consumer process requests the requested memory from a Very
Large Memory (VLM) driver in the operating system. The size of the
requested memory may be larger than the maximum size per process
supported by the operating system. The VLM driver creates one or more
donor processes residing in application space dependent on the size of
the requested memory. Each donor process requests an allocation of a
portion of memory less than the maximum size per process supported by the
operating system. Having received the requested memory, the donor process
transfers ownership of the portion of memory to the VLM driver. The VLM
driver provides the requested memory provided by the donor processes to
the consumer process.