Kernel Servers: Windows CE 5.0 vs. Windows Embedded CE 6.0
1/6/2010
For Windows CE 5.0, a process server library (PSL) is a process that implements a set of APIs for applications to call. For Windows Embedded CE 6.0, a kernel-mode server is a DLL that loads into the kernel process and implements a set of APIs for applications to call. Kernel.dll, filesys.dll, device.dll, gwes.dll, and most of device drivers are kernel-mode servers.
The kernel-mode servers are supported by a kernel-only version of coredll named kcoredll.dll. Any code that loads into the kernel, but was linked to coredll.dll, is automatically redirected to use k.coredll.dll, instead. For Windows Embedded CE 6.0, a user-mode server is a process that registers an API set. Services.exe is a user-mode server that loads some drivers that in previous version of Windows Embedded CE were loaded by filesys, device, and gwes.
Benefits of the Kernel Servers
- Improved performance for most API calls.
- Simplified and improved security for API calls.
Tradeoffs of the Kernel Servers
- API calls into user-mode servers are slower because of parameter marshalling.
See Also
Other Resources
Kernel Functionality Modifications: Windows CE 5.0 vs. Windows Embedded CE 6.0
Kernel API Modifications: Windows CE 5.0 vs. Windows Embedded CE 6.0