Happy 20th birthday, Windows NT 3.1: Microsoft's server outrider
I remember when you were BSODing all over my shoulder
It started on the server, became the desktop, it's still there in Windows 8 today, and it just turned 20 years old: Happy birthday, Windows NT.
Windows NT 3.1 was released to computer manufacturers on 26 July, 1993, and initial sales of Microsoft’s debut server operating system were modest – fewer than 500,000 units sold in the first year, half of the projected one million, according to G Pascal Zachary’s Showstopper, a history of NT.
Fortunately, the purpose of Windows NT 3.1 was not so much to drum up immediate sales, but rather to create the foundation for the next generation of Windows for a company that made its name on the desktop.
In this context Windows NT was a spectacular success, and the code was slowly fed into Microsoft’s flagship Windows client products before utterly replacing their insides. Among them, the seemingly immortal Windows XP, built on NT 5.1. This proved both a blessing and a curse.
Windows NT – the NT initially standing for “New Technology” – was so good it also changed the direction of computing. Combined with the zero-sum will-to-win spirit of Bill Gates' young company, Windows NT robbed NetWare of its server operating system crown and consigned mild-mannered incumbent Novell to the footnotes of history.
And yet, Windows NT might never have existed, if Microsoft’s agreement with IBM had not gone awry. In 1985 the two companies agreed to work on a new operating system to follow DOS, which helped established Microsoft, and in April 1987 this was announced as OS/2. Early versions of Windows, including Windows 3.1, ran on top of DOS rather than replacing it. When Microsoft hired Dave Cutler in October 1988 to work on a new operating system, the official line was that it would run OS/2’s Presentation Manager rather than Windows, but in hindsight it showed that the company was at least hedging its bets.
Cutler was the architect of Digital Equipment Corp's VMS operating system, and came to Microsoft after a successor project was cancelled. Shortly afterwards, several others from Cutler’s former Digital team followed him to Microsoft. Zachary describes how, in August 1990 and with OS/2 struggling in the market while Windows flourished, Microsoft decided that NT would run the Windows graphical user interface. There was an initial intention that it would run Presentation Manager as well, but Microsoft did little work on this and by early 1991 the alliance with IBM was effectively over.
The Windows NT registry: a central configuration database
Windows NT was not an update of Windows 3.1, but newly built from the ground up. It was the first 32-bit version of Windows, and the first to have a secure file system (NTFS) or indeed any kind of security. The registry, which existed in Windows 3.1 mainly for COM (Microsoft’s software component system), came to the fore in Windows NT as a central configuration database. Windows NT 3.1 Advanced Server was the first server version of Windows, replacing Microsoft’s Lan Manager.
Portability between different processor architectures was a top goal in the design of Windows NT from the start. The initial release ran on x86 and MIPS, with a version for Digital’s Alpha following a few months later. Today the system runs a range of silicon from ARM-compatible chipsets to 64-bit x86 beasts.
Windows NT 3.1 was built on a core microkernel with most operating system functions handled by separated subsystems, including the graphics API, enhancing the reliability and security of the system - or at least that was the aim: the kernel, drivers and system executive ran in a privileged, protected processor mode, whereas a pure traditional microkernel runs everything but the kernel outside that inner circle.
A DOS virtual machine runs 16-bit DOS and Windows applications, though because direct hardware access is prohibited compatibility is limited; many business applications work, but most games do not. Preemptive multitasking and memory access protections mean that a single badly behaved application cannot take down the operating system, in theory: tools such as CrashMe managed to find and wreck sensitive system data stashed in userspace for convenience's sake.
Running Windows NT 3.1 today is a challenge, though possible on some virtualisation platforms. Setup insists on interacting with floppy disks, which is an annoyance. This guide is a good place to start. I ran it up on Oracle’s VirtualBox; it runs though it is not stable. Superficially it looks much like the DOS version of Windows 3.1, even though under the covers it could not be more different.
Poke around though and there is much that is familiar: things like Ctrl-Alt-Del to log on, the services applet, the event viewer and the registry editor. The user manager has a simple user rights assignment dialog that is easier to understand than the labyrinthine security options in today’s Windows, though this is where that complexity started. The Mail and Schedule+ applications are ancestors of what became the Exchange client and later Outlook.
Another feature of Windows NT 3.1 is the infamous Blue Screen of Death – actually a useful resource for troubleshooting, though that is cold comfort if your operating system crashes.
Windows NT 3.1 seemed slow and resource-hungry at the time in comparison to DOS and Windows, but its stability along with the riches of a 32-bit memory address space made it immediately useful for the most demanding applications.
The Blue Screen of Death: useful for troubleshooting, cold comfort for ordinary users
Did Microsoft get it right with Windows NT? You cannot argue with the sales, but with hindsight some things could have been better. This was the moment when Microsoft could have enforced isolation between system files, application files and data, but perhaps for the sake of compatibility with legacy Windows applications, it is too lax: an enormous amount of effort was needed later to patch up its vulnerability to DLL version issues, malware and user security.
Another point of speculation is how the history of Windows Server would look if Microsoft had not decided to use GUI tools on the server itself; instead it blended desktop and server interfaces in a way that has proved bad both for security and for the ability to script common tasks.
Still, somehow Windows NT was good enough to oust NetWare on the server and to beat IBM’s OS/2 and, in terms of popularity, Apple’s Macintosh on the desktop.
Windows NT 3.1 was the biggest remake of the Windows family until Windows 8 came along with its new user interface and touchscreen agenda (although Win 8 runs NT 6.2 under the hood).
NT was a server and workstation-class operating system engineered from the ground up by a simple PC operating system maker. What chance that 20 years of Windows 8 will look equally good in 20 years' time? ®
Sponsored: Becoming a Pragmatic Security Leader