What is Windows CE? Microsoft says that Windows CE is “Componentized, real-time operating system for a wide range of small footprint devices” on their WEB site.   That is a very precise description, but what does it really mean?
Windows CE is designed for embedded systems. An embedded system is typically a device that doesn’t necessarily look like a computer, but provides some special functionality. Examples of embedded computers are GPS systems, voting machines, Automated Teller Machines, Point Of Sale devices, inventory tracking systems and many other systems that we use every day.
To satisfy the disparate needs of embedded systems, Windows CE is a componentized, real-time operating systems that supports various CPU families, is board agnostic, supports small footprint devices and can manager low power consumption.
I like to tell this story to my customers to help explain how Windows CE is different from Windows Vista or XP. When Dell decides to make a new laptop computer, Michael Dell call Bill Gates and Bill tell Michael that all he has to do is design the hardware so that Windows Vista will run on it. When I decide to create a new embedded computer all I have to do is design my board any way that I want, then write the bootloader to start it up and all of the drivers to control the hardware – then Windows CE will run on it. This is because Windows CE isn’t an operating system that is sold with an install CD, but instead is sold only to OEMs who are responsible for porting the OS to the board.

Let’s look at what “Componentized, real-time operating system for a wide range of small footprint devices” means.

Componentized
Windows CE running on a device is a subset of the possible features that can be included in the operating system. The features are referred to as components. The possible components includes features like applications (Internet Explorer and File Viewers), Application Programming Interfaces (.NET Compact Framework, COM, DCOM, SOAP and MFC) OS supported features (Audio, Graphics, Fonts) and device drivers.
The OEM or device vendor may choose to include or exclude components to control the memory footprint and cost. The bigger the memory footprint, the more ROM and RAM required which increases cost and some components require a higher license fee for Windows CE.
This componentization means that two Windows CE devices are not necessarily equal.
Real-Time
Real-time operating systems can respond to a hardware signal, or interrupt, in a fixed amount of time, or interrupt latency. Windows CE is an operating system that can handle interrupts in fixed amount of time.
CPU
Windows CE can run on several different CPU families, including x86, ARM, MIPS and SH4. That is different from big Windows (XP, Vista, 7) which only run on X86 CPUs.
Board Agnostic
Windows CE can run on computer boards with many different designs or architectures as long as the board has one of the supported CPU families. This is again different from big Windows which only runs on a “WinTel” computer board that meets certain specifications.
The OEM is required to provide all of the software that controls the hardware. This allows the OEM considerable flexibility in the board design.
Small Footprint
Because of the componentization of the Windows CE operating system, the OEM can control the amount of memory (RAM and ROM) that the OS consumes. That control also leads to considerable flexibility in the board design.
Low Power
Windows CE can be configured and designed by the OEM to support very low power consumption. 
Windows CE can include a power manager. The power manager can be used to control when certain hardware is powered up and powered down.
The OEM can provide software in the form of device drivers and a hardware abstraction layer for the kernel to control power. The OEM can also design the board in a way to keep power consumption to a minimum.
 
Copyright © 2009 – Bruce Eitman
All Rights Reserved