Kernel Overview (Windows CE 5.0)

Send Feedback

The kernel, which is represented by the Nk.exe module, is the core of the Microsoft® Windows® CE operating system (OS). The kernel provides the base OS functionality for any Windows CE–based device. This functionality includes process, thread, and memory management. The kernel also provides some file management functionality. Kernel services enable applications to use this core functionality.

The following illustration shows the general structure, emphasizing the kernel as the conduit for the rest of the core OS.

Aa450566.coreos(en-us,MSDN.10).gif

Use the kernel process and thread functions to create, terminate, and synchronize processes and threads, and to schedule and suspend a thread. Processes, which represent single instances of running applications, enable users to work on more than one application at a time. Threads enable an application to perform more than one task at a time. Thread priority levels, priority inheritance, interrupt support, and timing and scheduling are all included in the Windows CE kernel architecture. Together, they provide real-time application capability for time-critical systems.

The Windows CE kernel uses a paged virtual-memory system to manage and allocate program memory. The virtual-memory system provides contiguous blocks of memory, in 1,024-byte or 4,096-byte pages along 64-kilobyte (KB) regions, so that applications do not have to manage the actual memory allocation. For memory requirements of less than 64 KB, an application can use the local heap provided for all Windows CE applications or create separate heaps. The kernel also allocates memory to the stack for each new process or thread.

Use the kernel memory functions to allocate and deallocate virtual memory, use memory on the local heap, create separate heaps, and allocate memory from the stack. Your code can use the unused memory from the static data block that is allocated to load the application. Processes also can use memory-mapped objects to share data.

The kernel contains the following functionality:

See Also

Core OS Design Development | Kernel Reference | Core OS Reference

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.