Home |
RTTarget-32 Programming Manual Running Win32 Programs without Win32 Running a Program on the Target Virtual or Uncommitted Memory Manager Alternate Heap Manager RTTHeap Compiling and Linking with On Time RTOS-32 |
Virtual or Uncommitted Memory ManagerThe virtual memory manager with uncommitted memory support is not limited to the address space allocated for the heap by RTLoc. Rather, at initialization, it will completely decommit all memory in the heap area. This is done by mapping all heap memory pages to their physical location and marking them as inaccessible in the page table with appropriate page table attributes. When the application's run-time system reserves uncommitted memory, the page table is scanned for an appropriate unused address range large enough to fulfil the request. If one is found, the address range is then marked as reserved in the page table. This process may require the page table to grow. Thus, only reserving address space can fail due to lack of memory. Committing memory is implemented by mapping unused physical pages of RAM to address ranges reserved in the previous step. Committing will fail as soon as no free physical pages of memory are found. Advantages of the Virtual Memory Manager
The virtual memory manager is generally the preferred memory manager.
|