From Wikipedia, the free encyclopedia
Windows CE (sometimes abbreviated WinCE) is a variation of Microsoft's Windows operating system for minimalistic computers and embedded systems. Windows CE is a distinctly different kernel, rather than a "trimmed down" version of desktop Windows. It is supported on Intel x86 and compatibles, MIPS, ARM, and Hitachi SuperH processors.
Windows CE is optimized for devices that have minimal storage—a Windows CE kernel may run in under a megabyte of memory. Devices are often configured without disk storage, and may be configured as a "closed" system that does not allow for end user extension (for instance, it can be burned into ROM). Windows CE conforms to the definition of a real-time operating system, with a deterministic interrupt latency. It supports 256 priority levels and uses priority inheritance for dealing with priority inversion. The fundamental unit of execution is the thread. This helps to simplify the interface and improve execution time.
Microsoft has stated that the "CE" is not an intentional initialism, but many people believe CE stands for "Consumer Electronics" or "Compact Edition"; users often disparagingly called it "Wince." Microsoft says it implies a number of Windows CE design precepts, including "Compact, Connectable, Compatible, Companion, and Efficient." The first version, known during development under the codename "Pegasus", featured a Windows-like GUI and a number of Microsoft's popular applications, all trimmed down for smaller storage, memory, and speed of the palmtops of the day.
Since then, Windows CE has evolved into—according to Microsoft's documentation—a component-based, embedded, real-time operating system. It is no longer only targeted at hand-held computers. Many platforms have been based on the core Windows CE operating system, including Microsoft's AutoPC, Pocket PC 2000, Pocket PC 2002, Mobile 2003, Mobile 2003 SE, Mobile 5.0, Smartphone 2002, Smartphone 2003 and many industrial devices and embedded systems. Windows CE even powered select games for the Sega Dreamcast, was the operating system of the controversial Gizmondo handheld, and can partially run on modified Microsoft Xbox game consoles.
A distinctive feature of Windows CE vis-à-vis other Microsoft operating systems is that large parts of it are offered in source code form. First, source code was offered to several vendors, so they could adjust it to their hardware. Then products like Platform Builder (an integrated environment for Windows CE OS image creation and integration, or customized operating system designs based on CE) offered several components in source code form to the general public. The procedure used to build operating system images with Platform Builder is often criticized as being overly complex and fragile, with poor or incorrect supporting documentation.
Relationship to Windows Mobile, Pocket PC, and SmartPhone
Often Windows CE, Windows Mobile, and Pocket PC are used interchangeably. This practice is not entirely accurate. Windows CE is a modular/componentized operating system that serves as the foundation of several classes of devices. Some of these modules provide subsets of other components' features (e.g. varying levels of windowing support; DCOM vs COM), others which are mutually exclusive (Bitmap or TrueType font support), and others which add additional features to another component. One can buy a kit (the Platform Builder) which contains all these components and the tools with which to develop a custom platform. Applications such as Word Mobile/Pocket Word are not part of this kit.
Windows Mobile is best described as a subset of platforms based on Windows CE underpinning. Currently, Pocket PC (now called Windows Mobile), SmartPhone, and Portable Media Center are the three main platforms under the Windows Mobile Umbrella. Each platform utilizes different components of Windows CE, as well as supplemental features and applications suited for their respective devices.
Pocket PC and Windows Mobile is a Microsoft-defined custom platform for general PDA use, and consists of a Microsoft-defined set of minimum profiles (Professional Edition, Premium Edition) of software and hardware that is supported. The rules for manufacturing a Pocket PC device are stricter than those for producing a custom Windows CE-based platform. The defining characteristics of the pocket pc are the digitizer as the primary Human Interface Device and its extremely portable size.
The SmartPhone platform is a feature rich OS and interface for cellular phone handsets. SmartPhone offers productivity features to business users, such as email, as well as multimedia capabilities for consumers. The SmartPhone interface relies heavily on joystick navigation and PhonePad input. Devices running SmartPhone typically did not feature a digitizer. SmartPhone devices closely resemble other cellular handset form factors.
Many applications written for the SmartPhone and Pocket PC platforms either have versions for both platforms, or will run with limited functionality on either.
With Windows Mobile 5 (aka Pocket PC 2005), the distinction between Pocket PC and SmartPhone has all but disappeared. The same OS runs on both, enabling/disabling features as necessary. The primary distinction between "Pocket PC" and "Smartphone" is that smartphones lack a touchscreen. Most, but not all, programs written for PPC 2002 or 2003 will run on Windows Mobile 5. However, Windows Mobile 5 will probably not run on older hardware originally shipped with 2002 or 2003 versions, because of some of the changes it incorporates (such as suspending to flash memory rather than keeping the SDRAM alive after power-down as with all previous versions).
Windows Mobile 5 supports USB 2.0 and new devices running this OS will also conform to the USB Mass Storage Class, meaning the storage on PPC can be accessed from any USB-equipped PC, without requiring any extra software, except requiring a compliant host such as Windows 2000 or later. In other words, you can use it as a flash drive.
The major competitors to Pocket PC are Palm OS and Symbian OS, featured on similar ARM-based hardware platforms. WinCE's major competition is VxWorks, iTRON, eCos, OSE, QNX, Symbian OS, Linux derivatives such as uClinux and, most notably, Palm OS. Some device manufacturers handcraft their own system.
Uses for older Windows CE devices
Some people have used their older Windows CE devices, such as Ver.2.11 and 2.0 to make a web server. They have even installed NetBSD to their Windows CE devices. CEHTTP is one of the most popular web server programs for Windows CE devices, and is relatively stable.
Other people can use The Core Pocket Media Player (formerly known as BetaPlayer), which is available for free, to view MPEG, AVI, MPEG4 and MP3 on their old machines.
There is also a Python environment ported for Handheld PC devices, as well as a Scheme environment.
Also, for the Sega Dreamcast, a small motif embedded in the plastic says "Compatible with Windows CE". This video game system has no Windows CE inside, but the hardware is compatible. Microsoft built a custom version to be launched from the software (from the optical disc). Only a few games have used this feature. 
- Handheld PC
- Handheld PC Explorer
- Palm-Size PC
- Tablet PC
- List of Windows CE Devices
- Windows CE 6.0
Notes and references
- ^ http://www.linuxdevices.com/news/NS6932977445.html
- ^ The Meaning of "CE" in Windows CE. Q166915. Microsoft (2002-09-03). Retrieved on 2006-09-15.
- Windows CE Home Page on MSDN
- WindowsForDevices.com, an independent Windows Mobile and Embedded community
- Benchmarking Real-time Determinism in Microsoft Windows CE
- Excerpts from John Murray's "Inside Microsoft Windows CE", a (slightly technical) behind-the-scenes history of the people and projects that created Windows CE
- A Brief History of Windows CE, by HPC:Factor with screenshots of the various versions
- Site hosted by Windows CE, Website hosted by Handheld PC. Unfortunately offline now; only this archived version exists
- Windows XP Embedded on MSDN
- Windows CE: C# Applications developer
- Portable CE 2.0
- First Diagramming Associative Diagramming software for Pocket PC devices
- Go Embedded! An Embedded Systems blog that devotes a great deal of attention to Windows CE