I had an e-mail asking why someone would move from their existing 100kb operating system to Windows CE when the CE 6.0 kernel alone builds at about 300kb and the CE 6.0 image that meets the needs of the customer is about 1MB in size.
In many cases size isn’t a good metric for comparison, perhaps features and functionality may be a better comparison, of course limiting size of an embedded operating system can be important depending on the type of embedded application you are building.
Assuming that the current embedded operating system lives in the 100kb size range I wonder what capabilities it has in terms of communication support – is there any support for personal area networking (bluetooth, IrDA), local area networking (Wired/Wireless lan, IPv4, IPv6, what about secure sockets), what about wide area networking (server technologies, FTP, RAS, HTTP, and client side technologies, RDP, VPN, PPTP) – and what about higher level functionality such as media player and codecs, internet browser, what about VoIP capabilities, networked media streaming, and the list goes on. Exactly what do you get for your 100kb? – Windows CE and Windows XP Embedded are componentized operating systems, so the more features you add from the catalog of components the larger the operating system size is going to be.
Microsoft offers a range of embedded operating systems which includes .NET Micro Framework, Windows CE, Windows XP Embedded, and Windows Embedded for Point of Service – you get to pick the operating system that fits the feature set, size, real-time, and processor needs for your device.