This article needs additional citations for verification .(February 2017) |
Developer | Microsoft |
---|---|
Written in | C [1] |
Source model | |
Initial release | November 16, 1996 |
Final release | 8.0 (Embedded Compact 2013) / October 10, 2023 [3] [4] |
Platforms | x86, 32-bit ARM, (SuperH [5] up to 6.0 R2, MIPS and PowerPC were also supported) [6] [7] [8] [9] [10] [11] |
Kernel type | Hybrid Monolithic |
License | Commercial proprietary software |
Succeeded by | Windows IoT |
Official website | msdn |
Support status | |
Not supported, see § Releases for details. |
Windows CE, later known as Windows Embedded CE and Windows Embedded Compact, is a discontinued operating system developed by Microsoft for mobile and embedded devices. It was part of the Windows Embedded family [12] and served as the software foundation of several products including the Handheld PC, Pocket PC, Auto PC, Windows Mobile, Windows Phone 7 and others.
Unlike Windows Embedded Standard, Windows For Embedded Systems, Windows Embedded Industry and Windows IoT, which are based on Windows NT, Windows CE uses a different hybrid kernel. [13] Microsoft licensed it to original equipment manufacturers (OEMs), who could modify and create their own user interfaces and experiences, with Windows Embedded Compact providing the technical foundation to do so.
Earlier versions of Windows CE worked on MIPS and SHx architectures, but in version 7.0 released in 2011—when the product was also renamed to Embedded Compact—support for these were dropped but remained for MIPS II architecture. The final version, Windows Embedded Compact 2013 (version 8.0), released in 2013, only supports x86 and ARM processors with board support package (BSP) directly. [14] It had mainstream support until October 9, 2018, and extended support ended on October 10, 2023; however, license sales for OEMs will continue until 2028. [15] [4] [16] [17]
Windows CE is optimized for devices that have minimal memory; a Windows CE kernel may run with one megabyte of memory. [18] 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. From Version 3 and onward, the system supports 256 priority levels [19] 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.
The first version – known during development under the code name "Pegasus" – featured a Windows-like GUI and a number of Microsoft's popular apps, 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. [20] 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, Windows Mobile 6, Smartphone 2002, Smartphone 2003, Portable Media Center, Zune, Windows Phone 7 and many industrial devices and embedded systems. Windows CE even powered select games for the Sega Dreamcast and was the operating system of the Gizmondo handheld.
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 only form.
Windows CE 2.11 was the first embedded Windows release to support a console and a Windows CE version of cmd.exe . [21]
Windows Embedded Compact was formerly known as Windows CE. According to Microsoft, "CE" is not an explicit acronym for anything, although it implies a number of notions that Windows developers had in mind, such as "compact", "connectable", "compatible", "companion" and "efficient". [22] [23] The name changed once in 2006, with the release of Windows Embedded CE 6.0, and again in 2011, with the release of Windows Embedded Compact 7.
Windows CE was originally announced by Microsoft at the Computer Dealers' Exhibition (COMDEX) in 1996 and was demonstrated on stage by Bill Gates and John McGill. Microsoft had been testing Pegasus in early 1995 and released a strict reference platform to several hardware partners. The devices had to have the following minimum hardware specifications:
Devices of the time mainly had 480×240 pixel displays with the exception of the Hewlett-Packard 'Palmtop PC' which had a 640×240 display. Each window took over the full display. Navigation was done by tapping or double tapping on an item. A contextual menu was also available by the user pressing the ALT key and tapping on the screen. Windows CE 1.0 did not include a cascading Start menu, although Windows 95 and Windows NT 4.0 did. Microsoft released the Windows CE 1.0 Power Toys that included a cascading menu icon that appeared in the system tray. Also bundled were several other utilities, most notable were a sound applet for the system tray, enabling the user to quickly mute or unmute their device or adjust the volume and a 'pocket' version of Paint.
The release of Windows CE 2.0 was well received. Microsoft learned its lessons from consumer feedback of Windows CE 1.0 and made many improvements to the operating system. The Start menu was a cascading menu, identical to those found on Windows 95 and Windows NT 4.0. Color screens were also supported and manufacturers raced to release the first color H/PC. The first to market was Hewlett Packard with the HP 620LX. Windows CE 2.0 also supported a broader range of CPU architectures. Programs could be also installed directly in the OS by double clicking on CAB files. Due to the nature of the ROMs that contained the operating system, users were not able to flash their devices with the newer operating system. Instead manufacturers released upgrade ROMs that users had to physically install in their devices, after removing the previous version. This would usually wipe the data on the device and present the user with the setup wizard upon first boot.
In November 1999, it was reported that Microsoft was planning to rename Windows CE to Windows Powered. [24] The name only appeared in brand in Handheld PC 2000 and a build of Windows 2000 Advanced Server for network-attached storage devices (which bears no relation to Windows CE). Various Windows CE 3.0 products announced at CES 2001 were marketed under a "Windows Powered" umbrella name. [25]
Microsoft Visual Studio 2012, 2013, and 2015 support apps and Platform Builder development for Windows Embedded Compact 2013. [26]
Microsoft Visual Studio 2008 and earlier support projects for older releases of 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 Visual Basic (.NET), but not Managed C++. "Managed" apps employing the .NET Compact Framework also require devices with significantly larger memories (8 MB or more) while unmanaged apps can still run successfully on smaller devices. In Visual Studio 2010, the Windows Phone Developer Tools are used as an extension, allowing Windows Phone 7 apps to be designed and tested within Visual Studio.
Free Pascal introduced the Windows CE port in Version 2.2.0, targeting ARM and x86 architectures. Later, the Windows CE header files were translated for use with Lazarus, a rapid application development (RAD) software package based on Free Pascal. Windows CE apps are designed and coded in the Lazarus integrated development environment (IDE) and compiled with an appropriate cross compiler. [27]
This programming tool is used for building the platform (BSP + Kernel), device drivers (shared source or custom made) and also the apps. This is a one stop environment to get the system up and running. One can also use Platform Builder to export a software development kit (SDK) for the target microprocessor (SuperH, x86, MIPS, ARM etc.) to be used with another associated tool set named below.
The Embedded Microsoft Visual C++ (eVC) – a tool for development of embedded apps for Windows CE. It can be used standalone using the SDK exported from Platform Builder or using the Platform Builder's Platform Manager connectivity setup.
CeGcc project provides GNU development tools, such as GNU C, GNU C++ and binutils that targeting Windows CE; [28] 2 SDKs are available to choose from – a standard Windows CE platform SDK based on MinGW, and a newlib-based SDK which may be easier for porting programs from POSIX systems. [29]
CodeGear Delphi Prism – runs in Visual Studio, also supports the .NET Compact Framework and thus can be used to develop mobile apps. It employs the Oxygene compiler created by RemObjects Software, which targets .NET, the .NET Compact Framework, and Mono. Its command-line compiler is available free of charge.
Basic4ppc – a programming language similar to Embedded Visual Basic, targets the .NET Compact Framework and supports Windows CE and Windows Mobile devices.
GLBasic – a very easy to learn and use BASIC dialect that compiles for many platforms, including Windows CE and Windows Mobile. It can be extended by writing inline C/C++ code.
LabVIEW – a graphical programming language, supporting many platforms, including Windows CE.
MortScript – is the semi-standard, extremely lightweight, automation SDK popular with the GPS enthusiasts. Uses the scripts written in its own language, with the syntax being aside to VBScript or JScript.
AutoHotkey – a port of the open source macro-creation and automation software utility available for Windows CE. It allows the construction of macros and simple GUI apps developed by systems analyst Jonathan Maxian Timkang. [30]
Often Windows CE, Windows Mobile, and Pocket PC are used interchangeably, in part due to their common origin. 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 separate (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. Apps such as Excel Mobile (formerly Pocket Excel) are not part of this kit. The older Handheld PC version of Pocket Word and several other older apps 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 Pocket PC Phone Edition (Windows Mobile Professional) are the three main platforms under the Windows Mobile umbrella. Each platform uses different components of Windows CE, plus supplemental features and apps suited for their respective devices.
Pocket PC and Windows Mobile are Microsoft-defined custom platforms for general PDA use, consisting 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 touchscreen as the primary human interface device and its extremely portable size.
CE 3.0 is the basis for Pocket PC 2000 and Pocket PC 2002. A successor to CE 3.0 is CE.net. [31] "PocketPC [is] a separate layer of code on top of the core Windows CE OS… Pocket PC is based on Windows CE, but it's a different offering." And licensees of Pocket PC are forbidden to modify the WinCE part. [32]
The Smartphone platform is a feature-rich OS and interface for cellular phone handsets. SmartPhone offers productivity features to business users, such as email, and multimedia abilities 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.
Version | Name | Released | Support status | Changes |
---|---|---|---|---|
1.0 | Windows CE 1.0 | November 16, 1996 [33] | Unsupported as of December 31, 2001. | Codename "Pegasus" and "Alder". [34] 1.01 version (1.0a) – added Japanese language support. |
2.0 | Windows CE 2.0 | September 29, 1997 [35] | Unsupported as of September 30, 2002 for Windows CE 2.11. Mainstream Support ended on September 30, 2003, and Extended Support ended on September 30, 2005, for Windows CE 2.12. | Codenamed "Birch". [34]
2.11 version (Palm-Size PC 1.1) – changed screen resolution to QVGA, added handwriting recognition. 2.11 version (Palm-Size PC 1.2) – based on Windows CE H/PC 2.11 kernel, removed Pocket Office. HandeldPC 2.11 version (HandheldPC Professional) – added small versions of Microsoft Access, improved Microsoft Office documents formats support. |
3.0 | Windows CE 3.0 | June 15, 2000 [36] | Mainstream Support ended on September 30, 2005, and Extended Support ended on October 9, 2007. | Codenamed "Cedar" [34] and "Galileo".
|
4.x | Windows CE 4.x | January 7, 2002 [37] | Mainstream Support ended on July 10, 2007, and Extended Support ended on July 10, 2012, for Windows CE 4.0, Mainstream Support ended on January 8, 2008, and Extended Support ended on January 8, 2013, for Windows CE 4.1 and Mainstream Support ended on July 8, 2008, and Extended Support ended on July 9, 2013, for Windows CE 4.2. | Codenamed "Talisker/Jameson/McKendric". [34]
|
5.0 | Windows CE 5.x | August 2004. [34] | Mainstream Support ended on October 13, 2009 and Extended Support ended on October 14, 2014. | Adds many new features. Codenamed "Macallan" [34]
|
6.0 | Windows Embedded CE 6.0 | September 2006 | Mainstream Support ended on April 9, 2013, and Extended Support ended on April 10, 2018. | Codenamed "Yamazaki". [34]
|
7.0 | Windows Embedded Compact 7 | March 2011 | Mainstream Support ended on April 12, 2016, and Extended Support ended on April 13, 2021. |
|
8.0 | Windows Embedded Compact 2013 | June 2013 | Mainstream Support ended on October 9, 2018, and Extended Support ended on October 10, 2023. |
|
Java Platform, Micro Edition or Java ME is a computing platform for development and deployment of portable code for embedded and mobile devices. Java ME was formerly known as Java 2 Platform, Micro Edition or J2ME.
A Pocket PC is a class of personal digital assistant (PDA) that runs the Windows Mobile operating system, which is based on Windows CE/Windows Embedded Compact, and that has some of the abilities of modern desktop PCs. The name was introduced by Microsoft in 2000 as a rebranding of the Palm-size PC category and was marketed until 2007. Some of these devices also had integrated phone and data capabilities, which were called Pocket PC Phone Edition. Windows "Smartphone" is another Windows CE based platform for non-touch and non-PDA devices.
In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.
Casio Cassiopeia was the brand name of a PDA manufactured by Casio. It used Windows CE as the Operating system. Casio was one of the first manufacturers of PDAs, developing at the beginning small pocket-sized computers with keyboards and grayscale displays and subsequently moving to smaller units in response to customer demand.
Windows Mobile is a discontinued mobile operating system developed by Microsoft for smartphones and personal digital assistants (PDA). Designed to be the portable equivalent of the Windows desktop OS in the emerging mobile/portable area, the operating system is built on top of Windows CE and was originally released as Pocket PC 2000.
ActiveSync is a mobile data synchronization app developed by Microsoft, originally released in 1996. It synchronizes data with handheld devices and desktop computers.
A handheld computer, also called a palmtop computer, is a term that has variously been used to describe a small-sized personal computer (PC) typically built around a clamshell form factor and a laptop-like keyboard, including: Palmtop PCs, personal digital assistants (PDA), ultra-mobile PCs (UMPC) or portable gaming PCs. The brand Handheld PC specifically is a now-defunct class of computers introduced in the 1990s that was marketed by Microsoft, and is detailed below.
Internet Explorer Mobile was a mobile version of Internet Explorer developed by Microsoft, based on versions of the MSHTML (Trident) layout engine. IE Mobile comes loaded by default with Windows Phone and Windows CE. Later versions of Internet Explorer Mobile are based on the desktop version of Internet Explorer. Older versions however, called Pocket Internet Explorer, are not based on the same layout engine.
Windows CE 5.0 is a successor to Windows CE 4.2, the third release in the Windows CE .NET family. It was first released on July 9, 2004. Like its predecessors, Windows CE 5.0 is marketed towards the embedded device market and independent device vendors. Windows CE 5.0 is billed as a low-cost, compact, fast-to-market, real-time operating system available for x86, ARM, MIPS, and SuperH microprocessor-based systems.
The Microsoft .NET Compact Framework is a version of the .NET Framework that is designed to run on resource constrained mobile/embedded devices such as personal digital assistants (PDAs), mobile phones, factory controllers, set-top boxes, etc. The .NET Compact Framework uses some of the same class libraries as the full .NET Framework and also a few libraries designed specifically for mobile devices such as .NET Compact Framework controls. However, the libraries are not exact copies of the .NET Framework; they are scaled down to use less space.
Windows Mobile 5.0 is a mobile operating system developed by Microsoft. It was originally codenamed "Magneto". It was released at Microsoft's Mobile and Embedded Developers Conference 2005 in Las Vegas, May 9–12, 2005. Microsoft offered mainstream support for Windows Mobile 5 through October 12, 2010, and extended support through October 13, 2015. It was first offered on the Dell Axim x51.
The Jornada was a line of personal digital assistants or PDAs manufactured by Hewlett-Packard. The Jornada was a broad product line that included Palm-Size PCs, Handheld PCs, and Pocket PCs. The first model was the 820, released in 1998, and the last was the 928 model in 2002 when Compaq and HP merged. The Jornada line was then succeeded by the more popular iPAQ model PDAs. All Jornada models ran Microsoft Operating Systems that were based on Windows CE.
Windows SideShow was a feature by Microsoft introduced in Windows Vista to supply information such as e-mail, instant messages, and RSS feeds from a personal computer to a local or remote peripheral device or display. SideShow was intended to enhance the Windows experience by enabling new mobility scenarios for the Windows platform and by providing power saving benefits as part of Microsoft's broader efforts regarding a mobile initiative.
Windows Embedded CE 6.0 is the sixth major release of the Microsoft Windows embedded operating system targeted to enterprise-specific tools such as industrial controllers and consumer electronics devices like digital cameras. CE 6.0 features a kernel that supports 32,768 processes, up from the 32-process limit of prior versions. Each process receives 2 GB of virtual address space, up from 32 MB. Windows Embedded CE is commonly used in supermarket self-checkouts and cars as a display. Windows Embedded CE is a background system on most devices that have it.
Windows IoT, short for Windows Internet of Things and formerly known as Windows Embedded, is a family of operating systems from Microsoft designed for use in embedded systems. Microsoft has three different subfamilies of operating systems for embedded devices targeting a wide market, ranging from small-footprint, real-time devices to point of sale (POS) devices like kiosks. Windows Embedded operating systems are available to original equipment manufacturers (OEMs), who make it available to end users preloaded with their hardware, in addition to volume license customers in some cases.
Windows Mobile 6, formerly codenamed "Crossbow", is a version of Windows Mobile released on February 12, 2007 at the 3GSM World Congress 2007. It comes in three different versions: "Windows Mobile 6 Standard" for Smartphones, "Windows Mobile 6 Professional" for Pocket PCs with phone functionality, and "Windows Mobile 6 Classic" for Pocket PCs without cellular radios.
Pocket PC 2002, originally codenamed "Merlin", was a member of the Windows Mobile family of mobile operating systems, released on October 4, 2001. Like Pocket PC 2000, it was based on Windows CE 3.0. Although mainly targeted for 240×320 (QVGA) Pocket PC devices, Pocket PC 2002 was also used for Pocket PC phones, devices that combined the PDA with cellular connectivity.
The MobilePro is a discontinued line of personal digital assistants manufactured by NEC. Most models in the MobilePro range were handheld PCs with almost full size keyboards and a compact form placing them between being a palmtop and a subnotebook. All of the models in the MobilePro range ran a version of Microsoft's Windows CE mobile operating system and could be navigated using a stylus and touchscreen.
Basic4ppc is a programming language originally for Pocket PC handheld computers running Windows Mobile operating system, by Anywhere Software. Since 2014, B4x was renamed, and currently, 2023, supports multiple devices and their OS, including desktop and mobile solutions with development adaptions for these environments. The language is based on a BASIC-like syntax, taking advantage of Microsoft's .NET technology, to allow additional libraries, graphical user interface design of windows forms, rapid application development (RAD), and .NET framework compatible compilation. The language implements a unique way of adding objects to a program without being object-oriented. Its advantages are simplicity, development pace and the integration with .NET framework. A special version of the integrated development environment (IDE) allows developing straight onto the Windows Mobile device or. With the demise of Windows Mobile operating system and the devices running it Basic4PPC came to the end of its life in about 2012. For owners of Basic4PPC it remains a useful Windows-desktop BASIC compiler as it runs code directly in the Windows environment and it can compile a project to a Windows 'exe' file for use as a Windows program.
Pocket PC 2000 was the first member of the Windows Mobile family of mobile operating systems that was released on April 19, 2000, and was based on Windows CE 3.0. It is the successor to the operating system aboard Palm-size PCs. Backwards compatibility was retained with such Palm-size PC applications.