Windows CE 6 Overview

This is Tuesday June 6th 2006
This session was presented by Mike Hall (Senior Technical Product Manager Windows Embedded).
The presentation started with a review of the 10 years of Windows CE, from the first version in 1996 without real-time support, version 3 which was the first incorporating this feature, to the current version.
After that, Mike Hall answered some frequently asked questions about Windows CE, like:
- Is it based on Windows? No. Windows CE is based on a different concept: componentization. What is true, though, is that a lot of APIs coincide in both systems, Win32 being the most obvious one. He joked about the question: Have you ever seen a blue screen in WCE? No you don’t. So it is not Windows.
- How small can it be? 300 KB minimum. But with this size it can just boot. So, from this size and up. In a real device example, the HTC Star Trek system occupies 19 MB.
- What is “shared source”? With the Platform Builder you get about 2 million source code lines of the system. There is a “premium source” license that includes the complete source code. You can use it to debug and even modify the system.
Before talking about the features of the new WCE version he clarified that it responds both to requirements coming from other groups at Microsoft (Pocket PC, SmartPhone, Windows Automotive) and from external customers.
The pillars that define the new version are:
- Robust and reliable.
- Safe and securable.
- Reduced time-to-market.
- Better together experience with Windows.
- Foundation for the new generation of devices
They are working with the following schedule:
- January 06: Alpha.
- May 06: Beta.
- June 06: Feature complete milestone.
- 2nd half 06: Release to manufacturers.
Some of the features of the system he emphasized were:
- Feature parity with previous versions, to start with
- Upgraded developer tools. Platform Builder integration with Visual Studio
- The kernel has been totally rebuilt. Now there are more things running in kernel space (device drivers, GUI …) to reduce context switching.
- Backwards compatibility. The top 200 commercial applications could run without modification. But, there will be a list of deprecated APIs.
- User-mode drivers: run in a separate process.
After that, he explained in more detail the new features.
- The new kernel has support for 32K processes and 2GB of virtual memory space for each process.
- The system has a new modularization. OAL.dll has been separated form Kernel.dll, which means that the OAL can be changed without having to modify the design of the system. The file system (FILESYS.dll) and the user interface (GWES.dll) are also independent from kernel. Now, device drivers can call into a user-mode DLL, which in fact enables them to have a user interface.
- Security has been improved. Now the system has a 1-tier security model (an application either can run or can’t run at all). The defense-in-depth strategy has been implemented across the entire system. They now use the Secure-C run-time library to build Windows CE 6. All of these practices, and more, are adopted to comply with the Security Development Lifecycle Microsoft follows in their development process.
- There is support for the exFAT file system that allows large volumes and files.
- Now 14 languages are supported.
In the tools chapter he mentioned some interesting things:
- Besides the Secure C Run Time Library, the new compilers in Platform Builder have improved conformance:
o With the use of the latest C++ standards, MFC 8, ATL 8, latest versions of WTL and STL.
o With support for pluggable Run Time C (customized versions of the C run-time library).
- The Platform Builder integration in Visual Studio 2005 allows the use of a single catalog tree where the components in use appear as checked. The catalog is stored using an XML file.
- The APIScan tool checks applications looking for incompatibilities with the new APIs.
- The CE Test Kit (used to validate the behavior of drivers, components and applications) has been ported to the beta.
In the first demo, Mike Hall showed some of the capabilities of the Platform Builder inside Visual Studio by design a new system and adding a .NET application to it. The application appeared in the “Third party” components branch. In the second demo, he used the APIScan tool with an application. It detected the use of one of the functions he mentioned as obsolete during the demo.



