Patent ID: 7472249

Claim:
A machine-implemented method for memory management, the method comprising: logically partitioning physical memory and kernel virtual memory address space of a computer system into relocatable and non-relocatable regions; for each driver of a plurality of drivers being loaded into the computer system, performing particular steps comprising: (a) determining whether the driver is located in a list; and (b) if the driver is located in the list, scanning a binary file of the driver and modifying method calls of the binary file of the driver such that all physical memory allocated for use by the driver is allocated from the non-relocatable regions; in response to a request to free the physical memory allocated for use by a particular driver of the plurality of drivers, performing particular steps comprising: (c) determining which kind of region a particular virtual address associated with the physical memory references in the kernel virtual memory address space, wherein said kind is either relocatable or non-relocatable; and (d) freeing said allocated physical memory from the appropriate region based upon the kind.