Home |
RTTarget-32 Programming Manual Running Win32 Programs without Win32 Running a Program on the Target RTTarget-32's Memory Managers Virtual or Uncommitted Memory Manager Alternate Heap Manager RTTHeap Compiling and Linking with On Time RTOS-32 |
RTTarget-32's Memory ManagersRTTarget-32 provides two different memory managers with different properties. Usually, RTTarget-32 will automatically select the memory manager to be used. Alternatively, you can use function RTSetFlags called from an Init function to force the use of a specific memory manager. By default, the Virtual Memory Manager is used if the application runs with paging enabled and uses DLLs or the heap contains pages with physical != virtual addresses. Most demos shipped with On Time RTOS-32 locate the heap to a virtual regions, so they will run with the Virtual Memory Manager. The reason for two different memory managers is Win32's requirement for uncommitted memory support, which cannot be implemented without paging. Uncommitted memory is allocated address space with no associated physical memory. A typical C/C++ or Pascal run-time system for Win32 implements its heap by allocating large regions of uncommitted memory which is then committed in smaller chunks as memory is allocated by the application. The allocation of uncommitted memory is typically performed even when no or only very little heap space is required by the application. The following sections describe the differences between the two memory management strategies. Virtual or Uncommitted Memory Manager Alternate Heap Manager RTTHeap
|