The kernel provides the base OS functionality for any Windows Mobile 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.
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 Mobile OS.
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 Mobile kernel architecture. Together, they provide real-time application capability for time-critical systems. For more information, see Real-Time Priority System.
The Windows Mobile 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 Mobile 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. You can use the unused memory from the static data block that is allocated to load the application. Processes can also use memory-mapped objects to share data.
The kernel contains the following functionality:
- Memory Architecture
Explains the memory architecture system.
Provides information about the scheduling system.
- Real-Time Performance
Describes a real-time performance system.
Provides information about the process of loading modules into virtual memory.
- System Calls
Describes the operation of system calls.
- Kernel Power Management
Provides information about the power states and transitions.
- Additional Kernel Functionality
Describes miscellaneous services that the OS provides.
The following illustration shows the general structure of the Windows Mobile kernel, emphasizing the kernel as the conduit for the rest of the core OS.