Intel recently announced a project with Google to allow its Android mobile operating system to run on ARM and Intel Atom processors. Microsoft is saying that Windows 8 will run on both X86 and ARM processors. HP announced that webOS would run on Qualcomm Snapdragon chipset and X86 chips.
These moves were attempts by Intel, Microsoft and HP to break into the mobile market dominated by Google’s Android and Apples iOS operating systems. HP has already withdrawn, and Microsoft and Intel are unlikely to succeed in their attempts to break into this market this way. Why? History shows that while one platform can support multiple operating systems, an operating system can only run successfully on one platform.
There are many examples of platforms supporting multiple operating systems successfully. The Intel X86 architecture supports many, including Microsoft Windows, Windows server, VMware, Linux, Sun Solaris Unix, and Apple OSX, among others. The ARM processors run Apple’s IOS, and Google’s Android among others. IBM’s power chips run AIX, iSeries servers, and others. Successful hardware platforms attract operating systems.
Conversely, there are very few examples of operating systems running on multiple platforms. The Pink project was an ill-fated attempt by Apple, IBM, and other partners to create an operating system that would run on multiple platforms – great in theory, but a complete failure in practice. Almost all operating systems run on a single platform. VMware runs only on X86 servers, Microsoft Windows only on X86 servers, and so on. The only “success” story is Solaris, which runs on X86 and SPARC platforms. However, to do that Sun had to create two entirely different operating systems with different binaries and support the huge overhead of keeping the two in line each time they were updated. As a result of this complexity, functionality of Solaris has suffered over time against other operating systems.
The reason for the lack of success is that operating systems need to have both high performance and high availability to be successful. Performance tuning the different operating system functions is at the bit level with low-level coding, and every chipset is very different. A large part of an operating system is recovery routines, and these are highly sensitive to the platform architecture. Trying to make an operating system run on multiple platforms ends up with the OS not running optimally on both. The more usual outcome is that one platform becomes the main standard, and work on any other platform dies quickly. It is instructive that Apple has a separate iOS for ARM-based mobile devices, and OSX for x86 PCs.
The bottom line is that it is a sign of desperation when companies try to make operating systems bridge platforms. The likely outcomes are that:
- Google will take Intel’s development money but relegate the support for Atom to an afterthought.
- Microsoft will need to develop a Windows 8 product for the PC, and a Window 8 Mobile product for mobile on ARM processors. Microsoft could and probably should take the dramatic step of migrating to ARM processors for all PCs and mobile, and keep the server OS on the x86 platform. However, the chances of such an approach gaining traction and consensus throughout the many divisions at Microsoft are low.
Action Item: CIOs and CTOs should not adopt any strategy which depends on any operating system running on different platforms. In particular, it should be assumed that server and mobile operating systems will run on different hardware platforms.