Windows CE 6 or Windows XP Embedded ?

Windows CE 6 Beta is being given out at MEDC 2006 world-wide events - Windows CE 6 supports 32K processes (up from 32 processes) and 2GB Virtual Memory per process (up from 32MB per process) - this is now very much in line with Windows XP and therefore Windows XP Embedded. Do these changes to the underlying Windows CE kernel change the decision process for Windows CE vs. Windows XP Embedded?

Perhaps not, here's why - Windows XP Embedded devices run on the x86 processor and PC Architecture hardware - this means that existing desktop drivers and applications can work with Windows XP Embedded without changes. This of course reduces time to market, typical Windows XP Embedded devices ship within 14 weeks. Minimal build sizes of Windows XP Embedded are 40MB and increase based on the components and technologies - a typical Windows XP Embedded image can be in the order of 300MB. Of course all technologies supported by Windows XP are also supported on Windows XP Embedded. If you have existing desktop applications or drivers Windows XP Embedded would appear to be the obvious choice (although, it is possible to port some desktop applications to Windows CE - this depends of course on the APIs and technologies you are using).

Windows CE 6 continues to be a small footprint (300kb+), componentized, hard real-time embedded operating system that runs on multiple processor cores, ARM, MIPS, x86, and SH4 - so developers have a choice of underlying hardware, this can reduce the overall bill of materials (BOM) for an embedded device, of course the choice of processor and hardware peripherals can also affect the battery life of handheld/mobile devices when compared with an x86 processor and PC Architecture hardware. Windows CE devices expose a subset of the full desktop API (and a subset of the .NET Framework called the .NET Compact Framework) - this means that desktop applications and device drivers are not supported on Windows CE (in their binary form) - at a minimum desktop applications will need to be ported to Windows CE or recompiled on Windows CE.

So, this being the case Windows CE 6 supporting 32K processes and 2GB Virtual memory certainly makes it possible for developers to build more complex/interesting applications and devices but there still exists a clear decsion path for developers to choose between Windows CE and Windows XP Embedded.

- Mike