Why Linux is Alpha and Omega

I'm sure most people remember DEC - Digital Equipment Corporation - that later rebranded itself as the singularly unmemorable “Digital” before being swallowed up by Compaq in 1998, which was itself digested by HP a few years later. ...


I'm sure most people remember DEC – Digital Equipment Corporation – that later rebranded itself as the singularly unmemorable "Digital" before being swallowed up by Compaq in 1998, which was itself digested by HP a few years later. But I wonder how many people remember the DEC Alpha chip.

Here's what Wikipedia has to say on the subject:

in 1992, DEC launched the DECchip 21064 processor, the first implementation of their Alpha instruction set architecture, initially named Alpha AXP (the "AXP" was a "non-acronym" and was later dropped). This was a 64-bit RISC architecture (as opposed to the 32-bit CISC architecture used in the VAX) and one of the first "pure" (not an extension of an earlier 32-bit architecture) 64-bit microprocessor architectures and implementations. The Alpha offered class-leading performance at its launch, and subsequent variants continued to do so into the 2000s. An AlphaServer SC45 supercomputer was still ranked #6 in the world in November 2004. Alpha-based computers (the DEC AXP series, later the AlphaStation and AlphaServer series) superseded both the VAX and MIPS architecture in DEC's product lines, and could run OpenVMS, DEC OSF/1 AXP (later, Digital Unix or Tru64 UNIX) and Microsoft's then-new operating system, Windows NT.

Curiosity aside, the DEC Alpha chip has a special place in the history of Linux, because it was thanks to the loan of a DEC PC system based on it that Linus not only made the first official port of Linux, but was also able to write up the project as his master's thesis at Helsinki University.

In fact, this was by no means the first port of Linux to other architectures: almost as soon as it was usable hackers had got the code running on other hardware that eventually came to include the Apple Macintosh, the popular Amiga and Atari micros, the PowerPC platform, and workstations based on the MIPS R4000 and Sun's SPARC processor. But Linus' work on porting to the DEC Alpha chip was the most significant because it entailed a radical re-write of the kernel.

As he told me back in 1996:

"What happened was that I really had to clean up a lot of code, especially in the memory management, because it was completely specific to one architecture and I had to really take a completely different approach. I never wanted to have two separate versions; I wanted to have one Linux that worked on both Intel and Alpha and anything else."

As you might guess, this was a non-trivial task that had its heart-stopping aspects:

"When I did portability stuff on the networking code, for something like three weeks I didn't have a kernel that worked, on either Alpha or Intel. Because I was restructuring everything, and I was doing it one part a time, and at first the problem was that it doesn't work until everything is perfect. So you actually have to get everything correct before you can even test it."

Sounds like Linus earned that master's degree....

But the result of this rather heroic undertaking was an architecture that was even easier to port than it had been before. This has led to Linux appearing on just about every chip architecture around.

Now, you might also have expected that to be the case for the most successful commercial operating system. And indeed, back in the mid-1990s Microsoft's Windows NT ran on many chips – and not just the DEC Alpha as noted by the Wikipedia section above – including the MIPS, Fairchild Clipper and PowerPC architectures.

Over time Microsoft decided these markets simply weren't big enough to support, and dropped them from its Windows offerings; moreover, it was presumably making so much money in the Intel world that it didn't need to worry about sideshows. But this has had a rather interesting consequence. While Linux is available on just about everything, Microsoft Windows has been been pretty much dependent on a chip duopoly, Intel and AMD.

As new form factors like mobile and tablets demanding new architectures have taken off, Microsoft has rather belatedly realised that it has painted itself into a corner. In an attempt to get it out of that corner, it has just announced that it will be bringing Windows to the increasingly-key ARM architecture:

Microsoft Corp. today announced at 2011 International CES that the next version of Windows will support System on a Chip (SoC) architectures, including ARM-based systems from partners NVIDIA Corp., Qualcomm Inc. and Texas Instruments Inc.

The comment from ARM accompanying the announcement is as follows:

"We are excited by today's announcement, which marks a significant milestone for ARM and the ARM Partnership, and we look forward to working with Microsoft on the next generation of Windows. Windows combined with the scalability of the low-power ARM architecture, the market expertise of ARM silicon partners and the extensive SoC talent within the broad ARM ecosystem will enable innovative platforms to realize the future of computing, ultimately creating new market opportunities and delivering compelling products to consumers."

I'm sure the ARM Partnership is indeed "excited": it can't lose. It already has a healthy share of several new sectors, mostly thanks to Linux-based products; the addition of Windows-based systems can only grow that share. But it's worth emphasising that these are future Windows systems: Linux has been up and running on ARM for years.

Once again, this is a clear demonstration of how Windows is technically way behind Linux, for all Microsoft's boasts about its "innovation". The fact of the matter is that when it comes to cross-platform support, Linux is – and has been for a decade – the Alpha and Omega of portability.

Follow me @glynmoody on Twitter or identi.ca.

Find your next job with computerworld UK jobs