In this article, I have tried to give an overview of the various operating systems under the umbrella of Windows Embedded and also of its differences with Windows mobile. This is my first article and I hope it helps those who are beginning work in Windows Mobile.
When starting to work in Windows Mobile, I am sure most of us come across Windows CE and then comes the question of 'Why Windows Mobile when Windows CE is already there?' While trying to figure this out, we come across a term called Embedded OS and there also we find Windows CE, Windows XP Embedded and Windows Embedded for point of service.
So here we will discuss about all of them: Windows CE, Windows XP Embedded, Windows Embedded Point of service and Windows Mobile.
Microsoft ships two embedded operating systems: Windows CE and Windows XP embedded. Both of these are designed for use within embedded systems.
It is one of the very popular embedded operating systems, it's a small footprint, componentized, real time OS for large range of small devices like set-top boxes, medical monitoring devices, robots, retail point-of-sale devices, etc. It is a hard-real time embedded operating system that runs on multiple processor architectures, which include x86, MIPS, ARM, SH4.
Windows CE architecture is different from its desktop cousins. The components like Kernel32, GDI32, and User32 do not exist in Windows CE, though Coredll and GWES can be considered as their counterparts.
By small footprint, I mean the memory requirement for the OS is very less, the kernel-only is of 200 KB (approx) and a fully configured OS with the features like web browser, media player, office file viewer, support for .NET Compact Framework and Windows Explorer shell would be of 18 MB approximately.
And a componentized operating system is one which has been broken down into a number of components, device drivers and operating system technologies. The user can choose and pick components /device drivers/ application to include in the final embedded system image for the device.
Windows XP Embedded
It is again a componentized operating system; it has been broken down in almost 12000 components, 9000 device drivers and 3000 operating system technologies. It can be considered as a scaled down version of Windows XP SP2 with additional embedded-enabling features. Its architecture is similar to that of Windows XP SP2. It is found on devices which are main powered always-on like kiosk/gaming console, home gateway, information appliance, retail POS, Win-based terminals, ATM, etc. with x86 processors or PC architecture hardware. Any existing Windows 2000 or Windows XP device driver or application can run on Windows XP embedded as it is Windows XP SP2 componentized.
Thus Windows CE and Windows XP Embedded cater to different types of devices/processors. Both have different memory requirements and also the internal architecture is different.
Windows Embedded for Point of Service
It is an installable operating system unlike Windows CE or Windows XP embedded where the OS image needs to be constructed. It gives us a baseline OS image ready to be installed, it is based on Windows XP embedded. It can be found on retail device peripherals like cash drawer, receipt printer, scanners, etc. It has a managed interface layer which exposes the Point of Service APIs to the developers, so that they can write applications to run on the Windows embedded POS without having much knowledge of the underlying hardware device. Windows Embedded Point of service reduces the developers' time to a greater extent and it is also cost effective.
Windows Mobile is an operating system for mobile devices like Pocket PC and Smart phones. Windows mobile has Windows CE as its core, WM 2003 has Win CE 4.x and WM 5.0 has WinCE 5.x kernel.
One can build a cellular phone based on Windows CE, but it would not have the look and feel of Windows. This is because Windows CE is not specifically for Mobile devices. It caters to a large range of devices, some of which don't even need user interface.
For such Windows mobile operating systems was designed as a standard platform for PDAs and cell phones allowing common user interfaces, a common set of APIs and developer tool with WinCE kernel plus a standard shell, application, APIs.
Windows mobile is a non componentized operating system. It includes a set of applications like Office mobile, Internet Explorer mobile, Windows Media Player mobile, etc., a radio interface layer (RIL) for connected devices, platform OS extension and APIs.
Thus all the four operating systems are different and they cater to different devices. Windows Mobile is not Windows CE and vice-versa.