Microsoft Embedded Product Lines
Before any diving into WinCE world, for sure it is necessary a clarification about what are the embedded operating systems available from Microsoft. Personally I consider that MS doesn't have a very clear business strategy about the embedded sector and therefore is making inevitable marketing mistakes.
One of the common questions I am getting from friends is: what is the difference between Windows Embedded Compact 7 and Windows 7 Embedded? and the same apply for the rest of their products.
In Oxford dictionary embedded = [fix (an object) firmly and deeply in a surrounding mass]. In a similar manner any system that can be embedded in some sort of box it is an embedded OS, also if it does a set of dedicated tasks it is candidate for the title of embedded. Using this approach also with Windows 7 desktop operating system we can build dedicated devices: info-kiosks, vending machines, health-care dedicate machines for various tasks: vision, blood analysis, gambling machines. For these scenarios Microsoft sells the classic desktop system for a different (lower) price.
So we can have:
Windows XP Embedded
Windows 7 Embedded
Windows 2003 Embedded
Windows 2003 + SQL Server Embedded
all of them relying on the desktop/server versions. These are not general purpose machines like their brothers are. For example, we make supermarket POS or an ATM based on Windows XP Embedded, from the beginning we have to know what hardware we will use: what touchscreen, what keyboard. Switching them at runtime it will not work, you will have to remake the catalog and recreate the image once again. If the desktop brother is a general purpose machine ready to respond to various changes, the slim embedded brother will work fine only in a clear scenario. This is the reason why with Windows XP Embedded you can go to a very low footprint: up to 350MB, while a normal installation of Windows XP take about 2GB of the hard-drive.
This approach works ok, from business point of view because a company may use developers that have previous experience on desktop and so the development costs are lower.
The Windows Compact Embedded aka WinCE is a different line of products, a totally different operating system we may say, so this "embedded" particle only creates confusion. WinCE is a really small-footprint real-time operating system up to 500KB. WinCE is designed from the beginning having in mind embedded market and not just an adaptation. It has in mind from the begging, low-power consumption which is critical in battery mobile devices, connectivity, GPIO entries, and many other features that are needed in real embedded scenarios.
Microsoft struggled to maintain a similar Win32 API across those two lines, but in reality a developer needs a quite different mindset for WinCE.
The WinCE is well suited in classical embedded scenarios like, while Windows Embedded derived from desktop OSs is suited for scenarios where we want to deliver a box with a predefined set of features, but we don't have to care about power, real-time handling.















