Browse Prior Art Database

Method for Multiple Physical Memory Allocations in Advanced Operating Systems Disclosure Number: IPCOM000016627D
Original Publication Date: 2003-Jul-07
Included in the Prior Art Database: 2003-Jul-07
Document File: 2 page(s) / 67K

Publishing Venue



Optiming physical memory allocations within specific range(s) in Windows.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 54% of the total text.

Page 1 of 2

Method for Multiple Physical Memory Allocations in Advanced Operating Systems

The following 3 operations take a significant amount of time to complete:
1. Allocating "all" of the physical memory in the system.
2. Getting the physical addresses for each physical page.
3. Freeing the unused physical memory in the system. All of these operations take longer as there is more physical memory in the system.

As a result, this keeps those operations at a minimum for multiple allocations.

Step 1: Get all of the physical addresses ranges which are desired


     First, all of the ranges of physical memory addresses which will be used in subsequent allocation operations are collected into a list. In the case of target specific memory dimms which are striped, all of the valid ranges are collected.

          Step 2: Allocate "all" of the physical memory in the system. Step 3: Free the pages which do not fit within the list. This involves 2 things. First all of the pages allocated must have their physical addresses identified. Then once the page is identified, it is compared to the list of ranges. If it fits, it is kept. If it does not fit, it is deallocated, or placed into a pool which will be deallocated when all of the pages have been identified so a massive free can be performed.

     After all the undesired pages are deallocated, the remaining pages are identified again, and each of the physical addresses is stored in memory so the function to convert from virtual to physical addresses does not have to be called again. This information could have been saved during the first identification, but then memory bounding the system becomes more of a concern.

The pages which fit within the range remain allocated.

          Step 4: Answer the allocation requests using the physical pages stored and their stored physical addresses.

     Compares are done between the range(s) desired, and the stored physical ad...