The History of Windows NT 3.1
A Highly Portable Future
David Neil Cutler Sr was born on the 13th of March in 1942 in Lansing, Michigan. He was interested in sports as a young man growing up in Dewitt, and received a scholarship for his athleticism to Olivet College. An injury ended his sports playing and forced him to reevaluate his future. He was interested in math and physics, but he preferred hands-on work; a preference he would keep for the rest of his life. As a result, he chose engineering. Cutler graduated from Olivet College in 1965, and shortly thereafter went to work for DuPont. Initially, Cutler wasn’t much of computer guy. That is to say, at that time he wouldn’t have been a reader of this publication. Despite computers not being his interest, his job at DuPont required him to use them. He was working with IBM’s GPSS-3 language on an IBM model 7044 developing computer models of the Scott Paper company’s foam production process. Working on this project, he became more interested in how the computer worked than how the model worked. This exposure sparked his interest in operating systems enough that he joined Digital Equipment Corporation in 1971.
Cutler worked at DEC’s location in Maynard, Massachusetts developing operating systems for the PDP-11. His first major work was on developing RSX-11M, where he led a team of 8 people. This was a multi-user, real-time operating system for the PDP-11 series minicomputers originally intended for process control and manufacturing automation. Despite the intended use, it did see widespread use in general purpose computing. As far as I can tell, the first public release of RSX-11M was in November of 1974, and the project was given 2 years of development time. So, we can safely assume that development of the project and Cutler’s work with it began in either late 1971 or in early 1972. That is, Cutler was very quickly recognized for his capabilities and given leadership of a rather large project. RSX-11M was meant to be usable on smaller memory systems and to make sure that the OS stayed within the memory limits of the systems intended. To these ends, Cutler gave everyone a budget; each part of the OS was given a strict limit of how much memory it could use. The slogan Cutler used was “size is the goal.”
In 1975, DEC realized that they’d need a 32 bit machine and a 32 bit operating system. The machine was the VAX-11/780 superminicomputer, and the operating system was VMS. Cutler, along with Dick Hustvedt and Peter Lipman, ran a project that was codenamed Starlet (after the Star family of processors) to produce this operating system. The quality of this work was extremely high. The first release had no known bugs.
Cutler moved to DEC West in 1981 where he worked on MICA for a RISC machine project called PRISM. This system was unique in that it required compatibility with both VMS and UNIX. MICA and PRISM were both canceled in 1988. Despite these two projects being unsuccessful, they informed Cutler on several aspects of OS design.
With the end of MICA and PRISM in 1988, Cutler began thinking about striking out on his own. He and several coworkers from DEC were trying to figure out their next steps when Bill Gates called to recruit them, and they met Steve Ballmer shortly thereafter. Ballmer was apparently extremely convincing. According to Cutler, they quit DEC on Friday and joined Microsoft on Monday.
Around this time, Microsoft was focused on developing IBM OS/2 as the replacement for both MS-DOS and Windows. OS/2 was the future and this was so much the case that Windows was scheduled to die. For the 32 bit release, Microsoft was working on their own Microsoft-branded release of OS/2. This system needed to be highly portable to non-x86 architectures, and as a result all initial development was on the Intel i860XTR (codenamed N10 or N-Ten) to keep the system portable. The system’s nickname for this CPU became the working title “NT OS/2.” The i860 CPU was quickly turning out to be a poor choice, and development shifted to MIPS, for which Microsoft made their own motherboard “JAZZ.” This system was meant to be so portable, that compatibility with the Intel 80386 (where it would have most of its later commercial success) wasn’t undertaken until shortly before launch. To achieve this portability, the kernel was written in C, the userland and API in C++, and assembly was limited to those parts specific to a given architecture. To aid in internationalization, unicode was used top to bottom, greatly enhancing internationalization.
Cutler and his team had nearly zero experience with either OS/2 or with PCs. They did, however, have ample experience with both portable code and with varied hardware platforms. Similar to his experience at DEC, Cutler was very quickly placed as the lead of the NT project. NT needed to have some compatibility with MS-DOS, OS/2, and UNIX (all systems Microsoft supported, sold, and developed at some level at the time [except for UNIX where SCO held Xenix and MS owned a decent portion of SCO]). As a result, NT was a fully 32 bit microkernel operating system with paged virtual memory and the win32 API operating in protected mode with fully pre-emptive multitasking. It also had the NTVDM for MS-DOS compatibility, the win16 WOW system for older Windows compatibility, an OS/2 compatibility subsystem, and a POSIX subsystem for UNIX compatibility. For Cutler and his team, “WNT” was the working name for the OS (increment each letter by one from VMS). The similarities between VMS and NT are striking. The VMS Interrupt Priority Level became the Interrupt Request Level in NT, the Asynchronous System Trap became the Asynchronous Procedure Call, a Fork Procedure became the Deferred Procedure Call, while some other terminology was copied verbatim. NT and VMS share similarities in many ways, but unlike VMS, NT processes can contain more than one thread of execution, NT uses access control lists for object security, NT uses its own NTFS, and NT uses the registry (a centralized hierarchical configuration database) allowing the configuration of computers over a network, among many other major differences.
NT also has personalities, where NT can be DOS-like, UNIX-like, or OS/2-like. This is actually really cool. In NT, APIs are implemented as subsystems on top of a native API that isn’t publicly documented. Because of this, Microsoft can have compatibility with many different systems (as the modern Windows Subsystem for Linux shows), and Microsoft can make major changes to the NT microkernel and NT executive without disturbing userland. A program written for NT in 1993 can run unmodified on Windows 11 in 2023 as the entire API and userland haven’t changed while everything underneath most certainly has. Like Windows 3x, Windows NT shipped with Program Manager, File Manager, and other utilities and applications found on Win3.
Windows 3.1 was released on the 6th of April in 1992 and sold more than 3 million copies in its first 3 months on the market. Following this huge market success, the name NT OS/2 changed to Windows NT. Within Microsoft, IBM and their OS/2 were swiftly becoming irrelevant. More importantly, the win32 API was extended for use in NT, and the OS/2 API extensions were dropped. In the Windows NT Workstation Resource Kit for NT 3.1, I found an OS2API.txt file for Alpha, i386, and MIPS. It details which parts of the OS/2 API that are implemented, which are not, and which are only partially implemented. The list, while long, doesn’t include everything. Microsoft was clearly intending for developers to target win32 and not OS/2.
The first release of Microsoft Windows NT was version 3.1 on the 27th of July in 1993. This sold in a workstation version named “Windows NT” and a server version named “Windows NT Advanced Server.” At the time of release, it was available for the MIPS R4000 and the Intel 80386. It had been ported to the DEC Alpha as well, but this wasn’t ready at the time of launch. Yet, some retail boxes of NT did contain coupons for the Alpha port, and the Alpha version shipped in September of 1993. The workstation version sold for $495 (around $1047 in 2023), and the server version sold for $1495 (around $3162 in 2023).
Windows NT 3.1 required a minimum of a 25 MHz 80386, 12 MBs of RAM, 75 MBs of hard disk space, and a VGA card. In its first year, NT 3.1 sold roughly 300000 copies. My guess is that the (for the time) relatively high hardware requirements combined with a dearth of 32 bit applications were to blame for this low-ish sales number. Microsoft added the win32 API developed for NT to Windows 3.x as well, and thus in Windows NT 3.1 we can see the future that Microsoft had planned. All bets were solidly on NT. So, despite NT not initially being a commercial success, an untethered Microsoft would build upon this base until success was achieved.
The similarities to VMS almost created a problem for Microsoft. Shortly following the release of Windows NT 3.1, Digital Equipment Corporation threatened litigation against Microsoft over similarities between VMS & MICA and NT. The matter was settled out of court for something around $50 million (around $106 million in 2023) in August of 1995 as well as a rather broad alliance between the two companies. Microsoft was to train (and pay for this training) of 1500 DEC employees from DEC’s large services division as certified NT engineers (this was more NT engineers than Microsoft itself had at the time). Additionally, Microsoft would build and maintain the Alpha port of Windows NT. As a result of these two things, DEC’s revenues on NT would reach roughly $450 million by 1997 (near $900 million in 2023), VMS customers were migrated to NT, and the DEC Alpha saw moderate success in the rather crowded workstation and server markets of 1990s.
Microsoft was on solid footing. Windows 3 was dominating the market and transforming computing. NT was released and gave Microsoft the freedom to innovate without IBM holding them back. NT was hyper portable and Microsoft was no longer bound to Intel. The future was looking good, and Microsoft was ready to shape it.
On a side note, I now have readers from many of the companies whose history I cover, and many of you were present for time periods I cover. A few of you are mentioned by name in my articles. All corrections to the record are welcome (especially on this one as sources were conflicting), feel free to leave a comment.