Demand Paging (Windows Embedded CE 6.0)

1/6/2010

OEMs can decide to put modules in ROM during creation of an OS image. Modules in ROM can optionally be compressed or remain uncompressed. When compressed, the kernel automatically decompresses the ROM-based module and pages it into RAM. Uncompressed ROM-based modules can run directly from ROM. In both cases, the kernel pages all read/write data into RAM.

When the OS executes programs directly from ROM, it saves program RAM and reduces the time needed to start an application because the OS does not have to copy the program into RAM before launching it.

The OS does not run applications contained in the object store or on a flash memory storage card in place. Instead, the OS pages these programs into RAM, and then runs them.

Depending on the OEM and the driver options on a specific Windows Embedded CE–based device, the application module can be paged on demand. The OS can bring in one page at a time or load the entire module into RAM at once.

Under low-memory conditions on some Windows Embedded CE–based devices, the OS might prompt the user for permission to take some object store RAM for use as program RAM to meet the RAM requirements of an application.

Additionally, Windows Embedded CE creates a stack for the thread and a heap for the process. The amount of virtual space that is reserved for a stack is set on a per-process basis by the /STACK option for the linker. Initially, only the first page of the stack is committed, and beyond that, physical pages are committed on demand as necessary.

The maximum number of threads is dependent on the amount of available memory.

See Also

Concepts

Memory Architecture

Other Resources

Kernel Migration