Windows CE
Component-based real-time OS for embedded and mobile devices.
Windows CE, later renamed Windows Embedded CE and Windows Embedded Compact, is a discontinued operating system from Microsoft designed for mobile and embedded devices. It evolved from a handheld computer OS into a component-based, real-time system that served as the foundation for products such as Pocket PC, Windows Mobile, and Windows Phone 7. Unlike Windows NT-based embedded systems, Windows CE uses a distinct kernel and was licensed to OEMs who could customize the user interface. Originally announced at COMDEX in 1996 and demonstrated by Bill Gates and John McGill, the first version—code-named Pegasus—featured a Windows-like GUI and trimmed-down Microsoft apps for handheld devices with strict hardware specifications including a 480×240 pixel display and a physical QWERTY keyboard.
Quick Facts
- Developer
- Microsoft
- Released
- 16 November 1996
- License
- Commercial proprietary software
- Succeeded by
- Windows IoT
- Source model
- Closed-source, Source-available (through Shared Source Initiative)
- Kernel type
- Monolithic
- Supported platforms
- x86, 32-bit ARM, (SuperH up to 6.0 R2, MIPS and PowerPC were also supported)
- Latest release version
- 8.0 (Embedded Compact 2013)
Facts from the source article.
Features
Windows CE is optimized for devices with minimal memory; its kernel can run with one megabyte of memory. Devices often lack disk storage and may be configured as closed systems burned into ROM. The operating system conforms to real-time OS definitions, offering deterministic interrupt latency. From version 3 onward, it supports 256 priority levels and uses priority inheritance to handle priority inversion. The thread is the fundamental unit of execution, simplifying the interface and improving execution time. The first version, code-named Pegasus, featured a Windows-like GUI and trimmed-down versions of popular Microsoft apps for handheld devices. Many platforms have been built on Windows CE, including AutoPC, Pocket PC 2000, Pocket PC 2002, Windows Mobile 2003, Windows Mobile 2003 SE, Windows Mobile 5, Windows Mobile 6, Smartphone 2002, Smartphone 2003, Portable Media Center, Zune, Windows Phone 7, and various industrial and embedded systems. It also powered select Sega Dreamcast games and the Gizmondo handheld. A distinctive feature is that large parts of Windows CE are offered in source code form. Initially source code was provided to vendors for hardware adaptation, and later Platform Builder made many components available in source code to the public. However, core components not needing hardware-specific adaptation remain binary-only. Unlike Windows NT drivers based on WDM or WDF, Windows CE drivers use the Windows CE Driver Model. On x86 platforms, WCELDR serves as the second stage boot loader; on ARM platforms, EBOOT is used. The system uses a manufacturer-prebuilt Registry for hardware devices. During startup, the NK.BIN boot image or NK.EXE kernel is loaded by the boot loader. Although Windows Embedded Compact 7 supports multi-core, Windows Phone 8 used the NT kernel instead of the CE kernel.
History
Windows Embedded Compact was formerly known as Windows CE. According to Microsoft, 'CE' is not an explicit acronym but implies notions such as 'compact', 'connectable', 'compatible', 'companion', and 'efficient'. The name changed in 2006 with Windows Embedded CE 6.0 and again in 2011 with Windows Embedded Compact 7. Windows CE was announced at COMDEX in 1996, demonstrated by Bill Gates and John McGill. Microsoft had tested Pegasus in early 1995 and released a strict reference platform to hardware partners. Minimum hardware specifications included an SH3, MIPS 3000, or MIPS 4000 CPU; at least 4 MB of ROM; at least 2 MB of RAM with a backup power source; two AA batteries; a physical QWERTY keyboard with Ctrl, Alt, and Shift keys; a 480×240 pixel LCD with four shades of gray and touchscreen; an IrDA transceiver; serial port; PC Card socket; and a built-in speaker. Each window took the full display; navigation involved tapping or double-tapping. A contextual menu appeared when the user pressed ALT and tapped. Windows CE 1.0 lacked a cascading Start menu, but later Power Toys added a cascading menu icon in the system tray, along with a sound applet and a pocket version of Paint. The release of Windows CE 2.0 was well received, with a cascading Start menu like Windows 95 and NT 4.0, color screen support, and broader CPU architecture support. Programs could be installed by double-clicking CAB files. Manufacturers released upgrade ROMs that users had to physically install, which would wipe data and present the setup wizard on first boot. In November 1999, Microsoft reportedly planned to rename Windows CE to Windows Powered, which appeared in Handheld PC 2000 and a build of Windows 2000 Advanced Server for NAS devices.
Development tools
Microsoft Visual Studio 2012, 2013, and 2015 support app and Platform Builder development for Windows Embedded Compact 2013. Visual Studio 2008 and earlier support older Windows CE and Windows Mobile projects, producing executables and platform images via emulator or cable connection to a device. A mobile device is not required for development. The .NET Compact Framework supports a subset of the .NET Framework with C# and Visual Basic (.NET) projects, but not Managed C++. Managed apps using the .NET Compact Framework need devices with at least 8 MB of memory, while unmanaged apps can run on smaller devices. In Visual Studio 2010, Windows Phone Developer Tools extend it for Windows Phone 7 app design and testing. Free Pascal added a Windows CE port in version 2.2.0, targeting ARM and x86 architectures, and later Windows CE header files were translated for use with Lazarus, a RAD package based on Free Pascal. Platform Builder is used for building the platform (BSP and kernel), device drivers, and apps, and can export a software development kit (SDK) for the target microprocessor. Embedded Microsoft Visual C++ (eVC) is a tool for developing embedded apps for Windows CE, usable standalone with an SDK or with Platform Builder's connectivity. The CeGcc project provides GNU development tools targeting Windows CE, with two SDKs: one based on MinGW and a newlib-based SDK for porting from POSIX systems. CodeGear Delphi Prism runs in Visual Studio, supports the .NET Compact Framework, and uses the Oxygene compiler from RemObjects Software; its command-line compiler is free.
Relationship to Windows Mobile, Pocket PC, and Smartphone
Windows CE, Windows Mobile, and Pocket PC are often used interchangeably due to their common origin, but this is not entirely accurate. Windows CE is a modular, componentized operating system that serves as the foundation for several device classes. Some modules provide subsets of other components' features, while others are separate or add additional features. Platform Builder contains all components and tools for developing a custom platform; apps like Excel Mobile are not part of this kit, though older Handheld PC versions of Pocket Word and other apps are included as samples. Windows Mobile is a subset of platforms based on Windows CE. The three main platforms under Windows Mobile are Pocket PC (now Windows Mobile Classic), Smartphone (Windows Mobile Standard), and Pocket PC Phone Edition (Windows Mobile Professional). Each uses different Windows CE components plus supplemental features and apps. Pocket PC and Windows Mobile are Microsoft-defined custom platforms with minimum software and hardware profiles; manufacturing rules for Pocket PC are stricter than for custom Windows CE platforms. The defining characteristics of Pocket PC are its touchscreen and portable size. CE 3.0 is the basis for Pocket PC 2000 and Pocket PC 2002; its successor is CE.net. Pocket PC is a separate layer on top of Windows CE, and licensees are forbidden to modify the Windows CE part. The Smartphone platform is a feature-rich OS for cellular handsets, offering email and multimedia, relying on joystick navigation and PhonePad input without a touchscreen. Smartphone devices generally resemble cellular handset form factors, while Phone Edition devices use a PDA form factor with a larger display.
More in Microsoft Windows
Spotted an error? Know more?
Reader corrections go straight into our review queue. Suggest an edit · How this site is sourced
