Windows CE
From Wikipedia, the free encyclopedia
Windows CE | |
Windows CE for Handheld PC 3.0 (WinCE 2.11 core) |
|
Website | Windows CE |
---|---|
Company/ developer |
Microsoft Corporation |
OS family | Windows CE |
Source model | Closed source (shared source kernel[1]) |
Latest stable release | 6.0 / November 1, 2006 |
Available language(s) | Multilingual |
Supported platforms | x86, MIPS, ARM, SuperH |
Kernel type | Monolithic kernel Hybrid kernel |
License | Microsoft EULA |
Windows CE (also known officially as Windows Embedded CE since version 6.0[2][3], and 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 not to be confused with Windows XP Embedded which is NT-based. It is supported on Intel x86 and compatibles, MIPS, ARM, and Hitachi SuperH processors.
Contents |
[edit] Features
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”.[4] Microsoft says it implies a number of Windows CE design precepts, including “Compact, Connectable, Compatible, Companion, and Efficient.”[5] 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 a component-based, embedded, real-time operating system. It is no longer targeted solely 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, Windows Mobile 2003, Windows Mobile 2003 SE, Windows Mobile 5.0, Windows Mobile 6, 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 compared to 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. However, a number of core components that do not need adaptation to specific hardware environments (other than the CPU family) are still distributed in binary form only.
[edit] Development tools
[edit] Visual Studio
Late versions of Microsoft Visual Studio support projects for Windows CE / Windows Mobile, producing executable programs and platform images either as an emulator or attached by cable to an actual mobile device. A mobile device is not necessary to develop a CE program. The .NET Compact Framework supports a subset of the .NET Framework with projects in C# and VB.NET, but not Managed C++.
[edit] Platform Builder
This programming tool is used for building the platform (BSP + Kernel), device drivers (shared source or custom made) and also the application. This is a one step environment to get the system up and running. One can also use Platform Builder to export an SDK (standard development kit) for the target microprocessor (SuperH, x86, MIPS, ARM etc.) to be used with another associated tool set named below.
[edit] Embedded Visual C++ (eVC)
The Embedded Visual C++ tool is for development of embedded application for Windows CE based devices. This tool can be used standalone using the SDK exported from Platform Builder or using the Platform Builder using the Platform Manager connectivity setup.
[edit] 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 Excel Mobile/Pocket Excel are not part of this kit. The older Handheld PC version of Pocket Word and several other older applications are included as samples, however.
Windows Mobile is best described as a subset of platforms based on a Windows CE underpinning. Currently, Pocket PC (now called Windows Mobile Classic), SmartPhone (Windows Mobile Standard), and PocketPC Phone Edition (Windows Mobile Professional) 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 do not include a touchscreen interface. SmartPhone devices generally resemble other cellular handset form factors, whereas most Phone Edition devices use a PDA form factor with a larger display.
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. In other words, you can use it as a flash drive.
[edit] Competing products
Competitors to consumer CE based PDA platforms like Pocket PC – the main application of Windows CE – are Java, Symbian OS, Palm OS, iPhone OS and Linux based packages like Qtopia Embedded Linux environment from Trolltech, Convergent Linux Platform from a La Mobile, and Access Linux Platform from Orange and Access.
The secondary usage of CE is in devices in need of graphical user interfaces, (point of sale terminals, media centers, web tablets, thin clients) as the main selling point CE is the look and feel being similar to desktop Windows. The competition is Windows XP, Linux and graphical packages for simpler embedded operating systems.
Being an RTOS, Windows CE is also theoretically a competitor to any realtime operating system in the embedded space, like VxWorks, ITRON or eCos. The dominating method, however, of mixing Windows look and feel with realtime on the same hardware, is to run double operating systems using some virtualization technology, like TRANGO Hypervisor from TRANGO Virtual Processors or Intime from TenAsys [1] in the case of Windows, and OS Ware from VirtualLogix, Padded Cell from Green Hills Software, OKL4 from Open Kernel Labs, TRANGO Hypervisor from TRANGO Virtual Processors, RTS Hypervisor from Real-Time Systems or PikeOS from Sysgo, in case of the competition.
[edit] See also
- ActiveSync
- Handheld PC
- Handheld PC Explorer
- Palm-Size PC
- Pocket PC
- Windows Mobile
- Tablet PC
- List of Windows CE Devices
- Windows Embedded CE 6.0
[edit] Notes and references
- ^ Microsoft opens full Windows CE kernel source. Linux Devices' article(Nov. 01, 2006).
- ^ Microsoft renames Windows CE, sets CE 6.0 launch date
- ^ Windows Embedded Homepage
- ^ Microsoft Product Names. Retrieved on 2007-11-07.
- ^ The Meaning of "CE" in Windows CE. Q166915. Microsoft (2002-09-03). Retrieved on 2006-09-15.
[edit] External links
- 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 3.0
- Go Embedded! An Embedded Systems blog that devotes a great deal of attention to Windows CE
- Choosing the correct version of Windows Embedded operating systems
- Technical articles on the Windows CE technology
|