Kernel Overview (Windows Embedded CE 6.0)

1/6/2010

The kernel provides the base OS functionality for any Windows Embedded 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.

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 CE 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 Embedded CE kernel architecture. Together, they provide real-time application capability for time-critical systems. For more information, see Real-Time Priority System.

The Windows Embedded CE 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 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. 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:

  • Scheduling
    Provides information about the scheduling system.
  • Loader
    Provides information about the process of loading modules into virtual memory.

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

Ee483054.6106677e-c0dd-4d87-ac24-5b896dc06989(en-US,WinEmbedded.60).gif

See Also

Other Resources

Kernel
Core OS Design Development
Kernel Reference
Core OS Reference