OMFG!!! Microsoft is porting Windows to ARM processors! It’s the end of the Intel/x86 dominance! It’s the start of a new age!
Or it’s no big deal. You decide.
At last week’s Consumer Electronics Show (CES) in Las Vegas, Microsoft officially admitted that it is porting Windows—real Windows, not just Windows CE or Windows Embedded or Windows Phone—to ARM-based processors. The operating system we know and love from millions of PCs will soon be available on another platform. The company even demonstrated an early Windows port running on some ARM-based evaluation boards from Texas instruments, Qualcomm, and others.
Some observers have heralded this event as the greatest thing since canned beer. It’s the end of the 30-year hegemony between Intel and Microsoft, the dawn of a new era, the final nail in the PC’s coffin. Suck on that, Intel, they seem to be saying, with barely concealed glee.
Bah, humbug. Personally, I don’t see this as a huge deal. Although I’m glad to see Microsoft pay real attention to the embedded world, I don’t believe ARM-based Windows is a game-changer. Instead, it’ll be just one more OS option among many available to embedded designers.
Let’s review the facts.
First—and this should be obvious—Windows programs will not run on ARM chips. Just because the operating system itself has been ported doesn’t mean applications will magically run, too. Your familiar copies of Office 2010, Firefox, Excel, Flash, Photoshop, and Call of Duty: Black Ops will be completely useless on an ARM-based Windows machine.
You’d have to port every single application, driver, codec, DLL, and library before you’d have anything close to an ARM-based PC. This is no small issue. It took more than 30 years for the PC to develop the huge software base it has now, and every bit of it—literally, every bit—is x86 binary code. That won’t magically transmogrify itself into ARM binary code just because Windows got ported.
People have been writing PC applications for longer than some of today’s engineers have been alive. Do you think that’s all going to get duplicated overnight? Remember how RISC processors were going to overthrow the x86 back in the 1990s, if only we would recompile our applications? Think how successful that was.
Second, Microsoft has ported Windows to other processors before, so this isn’t an original or groundbreaking move. Years ago, the company released its flagship Windows NT operating system for x86, MIPS, and Alpha, Digital Equipment Corp’s awesome high-end RISC processor (which, ironically, Intel wound up owning as the spoils of a lawsuit). So for a while, NT was available for three different processor families. You had your choice, and the market chose x86. Why? Because even though the MIPS and Alpha versions of NT ran faster and more cheaply, they didn’t have any applications. Sure, your MIPS- or Alpha-based machine could run all the basic server code built into the OS, but third-party applications? Those were pretty scarce. A computer is no fun if you can’t buy apps for it.
Third, you can already (sort of) get Windows for ARM and other processors. There’s Windows Embedded, for example. And its predecessor, Windows CE, was always available for other CPU families. Granted, these weren’t the same as the “real” Windows we had on our PCs, but they were pretty close. The Windows APIs were the same, the user interface was the same (for good or ill), and the underlying task models were pretty much the same. The various embedded spinoffs of Windows all had a lot in common with the parent OS. That was the whole point: you could develop a desktop Windows app and move it to your embedded system, or vice versa. Some developers liked that idea, but, overall, embedded versions of Windows weren’t very popular. That’s precisely because they were so much like “real” Windows: bloated, slow, resource-hungry, and expensive. Almost any other embedded operating system, up to and including Linux, was faster, cheaper, and easier to use. If there was so little interest in running Windows on embedded processors then, what’s different now?
Fairy tales are wonderful things. It’s very appealing to daydream about our PCs and laptops running on ARM processors with their long battery life and relatively low cost. It’s thrilling to think we might not be shackled to the x86 architecture much longer. It’s exciting to imagine a product that looks like an iPad but runs all our PC software. But that’s not what this announcement delivers. That’s not where this dream leads.
Windows on ARM is not a magic wand that banishes the x86, and PCs, to the dustbin of history. Instead, it’s yet another new operating system choice for embedded designers. As such, it joins the many other embedded operating systems from which we can choose. It’ll certainly be the biggest, baddest, best-known (and likely, most expensive) from among those choices, but a choice it is.
Note that this isn’t really an option for PC designers. PCs, almost by definition, need to use an x86 processor and all the entrenched peripheral I/O that defines that platform. No, Windows-on-ARM is an embedded choice, not a PC alternative. And for that, Microsoft gets kudos for spending so much time and attention on its development.
Porting Windows to ARM is a big deal in the sense that it’s taking Microsoft a ton of man-hours and sacksful of cash to make it happen. This is not the work of a moment, nor is Microsoft doing this on a lark. The company expects to be well compensated for its effort, and it means this product to be profitable and successful. It’s likely that ARM itself paid for most of the work, or that the companies split the cost. Either way, the check must have had a lot of zeroes after the Euro sign. Two large companies are betting big on the success of ARM-ified Windows.
Do you care? Has the lack of a fully featured Windows port prevented you from building your dream device? Up until now, you could always build such a machine using a select few x86 chips and the right peripherals. The price tag may have been a bit higher than you wanted; same goes for the power consumption. But at least it was doable. There are plenty of embedded devices (think point-of-sale kiosks) that are really just thinly veiled PCs underneath. So “embedded Windows” hasn’t always been an oxymoron.
Apart from the CPU instruction set, what has changed? You’ll have the look and feel of Windows, but without the underlying x86 hardware… or the applications. Swapping out Intel hardware for ARM-based chips has some advantages, but I’m not sure they outweigh the loss of the PC-software infrastructure. Actually, I am sure—and it isn’t a good trade. You’d have to really love Windows and really hate Intel chips for this to make sense. I’m not sure many embedded designers fall into that category. Maybe the real opportunity here is for PC-software developers who can port their applications to ARM. Then, like Microsoft, they can sell the same old software to a whole new audience.