Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft

The story of Windows NT (precursor to all of the current versions of Windows on the desktop and server) is a crazy roller-coaster ride of secrecy and double-crosses that is legendary in Silicon Valley history. Microsoft was desperate to ride the professional success of Windows and Office out of the personal computer market and into the highest performance category of business “workstations”. The workstation market at the time consisted of proprietary hardware, CPU, and operating system combos sold by single vendors, which no software or hardware compatibility between them. Bill Gates wanted an operating system that could run on anyone’s hardware, that could take advantage of the new features of Intel’s latest offerings in the personal computer world (the 386 and 486 CPUs), supported by compilers that could help software vendors write their apps once and be able to sell them to people running Windows NT on DEC Alpha, Intel, or MIPS CPU architectures. They bet huge on it, too: the entire thing would be built on custom MIPS commodity hardware they put together themselves, guaranteeing complete incompatibility with existing PC hardware unless the differences were properly encapsulated and abstracted so that the operating system could be ported back to the Intel architecture.

windowsComplicating matters was the partnership with IBM that Microsoft had been involved with for several users to jointly develop their existing next-generation operating system, OS/2. Because they wanted to develop their own next-gen version of Windows without relying on IBM, they had to develop it mostly in secret. DRAMA! This book definitely plays up that angle, but MS mostly cooperated with the author, who had some pretty amazing access to individual people and their stories. An invaluable trove of computing history and a really compelling story, to boot.

I read this book around the time that Windows NT 3.51 came out, and I absolutely loved it. 3.51 was the first version with PowerPC support, and since I was in the process of becoming MCSE certified I was inspired to get my hands on some non-PC hardware to try it on. I jumped on an early eBay competitor’s bid site and bought a DEC Multia and a MIPS Magnum, both RISC machines that had ARC bootloaders compatible with Windows NT. DEC even had a cool app called FX!32 that would recompile Windows NT apps compiled for x86 so they could run on the DEC CPU. Very slow, but very cool! I never got my hands on a real PowerPlay machine to boot Windows on PowerPC, but the MIPS and DEC machines were a lot of fun to play around with.

These days Windows comes in two flavors: 32bit x86 and 64bit x86 (aka x64). Over the years Microsoft removed the other CPU architectures from compatibility and they faded into history along with their respective companies/vendors/benefactors. This book contains some gripping details for developers to see the challenges faced by a software team that was convinced the CPU architecture wars had no clear winner, and that the best policy was to be prepared to port to anything. This strategy helped Microsoft port Windows to later CPU architectures like Itanium, x64, PowerPC (again, in the case of hte XBox 360) and even ARM in the case of Windows CE and Windows RT for phones, tablets, and embedded devices (like the touch display in my 2013 Ford). It’s not at all clear that Windows has a future if they can’t win a space for themselves in the ongoing mobile computing revolution–even though they deserve a lot of credit for starting it, they still haven’t really capitalized on it–but being easily portable to other CPU architectures is something in Windows’ blood, and that has to help clear some of the tough obstacles for times like these.


This entry was posted in Book Review and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s