In any Windows phone, ROM stores the entire OS, in addition to the applications that come with the OS design. Windows Mobile supports a 32-bit (4-GB) address space.
When a process initializes, the OS maps the following DLLs and memory components:
Some execute-in-place (XIP) DLLs
Some read/write sections of other XIP DLLs
All non-XIP DLLs
A data section for each process
DLLs are controlled by the loader, which loads all the DLLs at the same address for each process. The stack, the heap, and the executable (.exe) file are created and mapped from the bottom of the address space. The bottom 64 KB of memory always remains free.
DLLs and ROM DLL read/write sections are loaded starting at the top of the address space.