Article ID: 326162 - Last Review: September 24, 2003 - Revision: 3.0 INFO: Address Space Layout of a Windows CE ProcessThis article was previously published under Q326162 SUMMARY This article describes the 32-MB address space layout for a
Microsoft Windows CE 3.0 process. It includes information about where DLLs are
located and where the application (EXE) code is located. The article also
describes the location of heaps and stacks. MORE INFORMATION Windows CE is a 32-bit operating system. The address space
of the whole system ranges from 0 to 4 GB, with the largest value for a 32-bit
address. The address range from 2 GB to 4 GB is reserved for the system. Collapse this table
The address space that ranges from 0 to 1 GB + 32 MB is additionally divided into 33 different sections. These sections are named "process slots," with slot 0 at the bottom and slot 32 at the top. Slot 0 is used for the active process. Each process on Windows CE maintains 32 MB of address space for DLLs, stacks, heaps, and other allocations. The 32-MB area that starts with address 0x02000000 is reserved for ROM-based DLLs that are designated as execute in place (XIP) functionality.
The order where heaps and stacks appear as described earlier is generally for simple applications. In a more complex application that has run for a while, the heaps and the stacks can appear in various orders and anywhere in the 32-MB address space that is free address space. This includes the region where ROM DLLs are designated. When the heap manager must increase the size of the heap, it calls the VirtualAlloc function with the IpAddress parameter of NULL. For an application that uses a lot of memory and address space, Windows CE increases the size of the heap anywhere it can find free address space. That includes the region where the ROM DLLs are designated. When an application creates a thread, Windows CE allocates a stack for the thread that uses VirtualAlloc. Again, Windows CE allocates the stack anywhere it can find free address space for the process that owns the thread. REFERENCES For additional information, click the following
article number to view the article in the Microsoft Knowledge Base: 259932
(http://support.microsoft.com/kb/259932/EN-US/
)
INFO: Process Space Usage by ROM-Based DLLs
APPLIES TO
| Article Translations
|

Back to the top
