Kernel (Compact 2013)
The kernel provides the base OS functionality for any Windows Embedded Compact-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.
Thread priority levels, priority inheritance, interrupt support, and timing and scheduling are all included in the Windows Embedded Compact kernel architecture. Together, they provide real-time application capability for time-critical systems.
In any Windows Embedded Compact-based device, ROM stores the entire OS, in addition to the applications that come with the OS design. Windows Embedded Compact supports a 32-bit (4-GB) address space.
The Windows Embedded Compact kernel uses a paged virtual-memory system to manage and allocate application memory. The virtual-memory system provides contiguous blocks of memory, in 4,096-byte pages along 64-KB regions, so that applications do not have to manage memory allocation. For memory requirements of less than 64 KB, an application can use the local heap provided for all Windows Embedded Compact applications or create separate heaps. The kernel also allocates memory to the stack for each new process or thread.
NK.exe is the OEM application layer (OAL) process. The kernel, Kernel.dll, is loaded during boot by the OAL. Nk.exe is the core of the Windows Embedded Compact OS.
For reference information, see Kernel Reference.