System, method and computer program product for allocating physical memory
to processes. The method includes enabling a kernel to free memory in a
physical memory space corresponding to arbitrarily sized memory
allocations released by processes or applications in a virtual memory
space. After freeing the memory, the system determines whether freed
physical memory in the physical memory space spans one or more fixed size
memory units (e.g., page frames). The method further includes designating
a status of the one or more page frames as available for reuse; the freed
page frames marked as available for reuse being available for backing a
new process without requiring the kernel to delete data included in the
freed memory released by the process. The kernel may organize pages
marked as available for reuse in one or more local "pools" that is
organized according to a variety of schemes which provide system
efficiencies in that the kernel can eliminate the need for deleting of
old data in those page frames without compromising data security.