Announcing that it's reacting to a growing need in the consumer electronics market, Microsoft Corp. recently expanded its Windows CE embedded software to handle up to 32,000 simultaneous processes, each in a 2-Gbyte virtual memory address space.
The announcement coincided with the introduction of Windows CE 6 and is primarily aimed at the makers of mobile phones, set-top boxes, Personal Digital Assistants (PDAs), and global positioning devices. The software giant said engineers of those applications, in particular, are constantly trying to increase the number of simultaneous processes that their devices must run. As a result, Microsoft software developers boosted the number of simultaneous processes from 32 in its previous version of Windows CE, to 32,000 in Windows CE 6, introduced on May 8.
"It's all about head room," notes Mukund Ghangurde, group product manager for Windows Embedded Products. "In technology, you have to let your imagination take hold a little. There will be a time when 32,000 simultaneous processes are needed."
Microsoft engineers say they made the extraordinary thousand-fold increase because makers of connected devices are demanding more capability from their OSes. In mobile phones, for example, operating system kernels take up several "slots," along with device drivers, graphical interfaces, e-mail inboxes, calendars, time functions, security software and firewalls. Games, navigation capabilities and camera functions take up multiple process slots. Many such applications are already reaching the limits of the operating systems, and in the next decade, the number of processes could grow "exponential" fashion, they say.
Ghangurde points out that today's handheld devices, for example, are adding games, camera capabilities and navigation functions. Set-top boxes, too, have added sophisticated functions and games.
To meet the demand of such applications, Microsoft engineers "re-architected" the new operating system's virtual memory manager. They changed the data structures responsible for tracking running processes from single-integer-type to arrays and linked lists. Doing so, was the key to enabling the memory manager to run 32,000 simultaneous processes.
"We've created a strategic roadmap for OEMs," Ghangurde concludes. "This gives them a platform they can build from for the next 10 to 15 years."
For more on Microsoft's Windows CE 6, join our Electronics Forum.