Setting Some Real Limits Around Real-Time
Last week at the ARM TechCon conference, Microsoft announced that the next version of Windows Embedded Compact, expected to be released in June of 2012, will be updated with improved real-time performance and a smaller footprint.
In the recent past, we have often discussed how the increasing amount of system resources available within many embedded systems has facilitated the adoption of larger footprint operating systems in many application classes once served by traditional real-time OSs. The significant presence of Windows “Enterprise” SKUs (restricted licenses of Microsoft’s desktop or server OSs) in the embedded market has typified this trend.
Windows 8’s planned support for the ARM architecture should only strengthen the relevance of these desktop SKUs to many engineering teams given ARM’s broader and faster-growing use within the embedded market as compared to x86. So if Microsoft’s Enterprise SKUs do suddenly gain wider utility, can we expect Microsoft to maintain as diverse and stratified of a portfolio of embedded OSs as they have now?
The answer in the long term is most likely no, so perhaps the greater question is how many and what SKUs remain? Will there be a need for multiple componentized versions? Will Handheld (formerly Windows Mobile 6.x) be rolled back into its parent Embedded Compact (CE)?
If nothing else, Microsoft’s announcement of its plans for Windows Embedded Compact reinforces their intentions to at least maintain two threads of offerings for ARM-based designs in the near term. But what are the implications of Compact's enhanced "real-time" support?
Microsoft has always pitted the CE family as supporting real-time requirements. Traditionally, however, there has always been a substantial stratification of the RTOS space based on the varying "hardness" of real-time requirements for different application classes. As you can see from the chart below, the presence of real-time requirements is far from a binary dynamic and, as a result, the decision to use one OS over another is not always clear cut.
So one lingering question remains: Does this announcement mean Microsoft is squaring up to compete more directly with the likes of Wind River and Green Hills Software who have traditionally focused on the "hard" real-time application classes - or is the announcement simply intended to differentiate Compact from other Microsoft offerings as their evolution dissolves some of the traditional boundaries that catalyzed CE's original creation and niche?