On the heels of my OS/2 upgrade path, I thought I’d take on Windows NT.
Originally planned as OS/2 3.0, OS/2 NT, or Portable OS/2, Windows NT began life as a portable version of OS/2 2.0 for RISC processors. Even in the early design phase, it was decided that it was going to have multiple OS personalities. With the arrival of Windows 3.0 everything changed, and it was decided to use WLO, or project porthole the port of Windows 3.0 to OS/2 1.2 as the basis of what would become Win32, the primary personality for OS/2 NT, however they could keep all the kernel work, as none of the initial design would have to be changed when they dumped the OS/2 2.0 cruiser personality.
Because NT was going to be the successor to OS/2, it naturally supported the FAT & HPFS file systems, but in addition it also supported the NTFS filesystem which included the journaling capability allowing it to survive some data loss, and to be able to quickly check the disk.
So after all the betas NT finally shipped in July of 1993. The first thing that I was amazed by was the sheer size of it. There was an incredible amount of floppy disks, and fully installed it could easily consume some 50MB for the OS + space for a swapfile. What was also amazing, and confusing for the users is that NT 3.1 looked just like Windows 3.1. Even the same games/accessories were included and the look and feel was so much the same that most people couldn’t tell NT from Windows.
Windows NT 3.1 could run MS-DOS applications via the NTVDM (which is still around in 32bit versions of Windows 7!), OS/2 16bit text mode applications, specially compiled POSIX applications (vi was popular among unix people), Win16 applications which again rain inside of the NTVDM, along with a ‘speical’ version of Windows 3.1 which would then translate the system calls to the Win32 subsystem via thunking so that the applications could run seamlessly on the desktop, without requiring complicated drivers, unlike OS/2. And of course it could run the new breed of Win32 executables which included console, gui and service applications.
The ability for Windows NT to support multiple user accounts was a big change from the typical Microsoft one user / one computer approach, but it also changed the playing field with being able to run server programs on Windows that you didn’t have to login to the machine, and start yourself. The best part being that you could manage these applications with Windows programs! While it may seem impossible to imagine now, the big ‘database’ program at the time was Oracle, and if you didn’t have a mainframe or a mini computer to run it on, but wanted to go down the microcomputer path you either ran Oracle for MS-DOS, or you ran it on Novell Netware. While networking was in Novell’s blood, setting up networking on MS-DOS could prove a chore. Windows NT 3.1 may have shipped without a netware requester, but it did include support for DLC, IPX/SPX, TCP/IP and NetBEUI. This meant that Microsoft SQL Server could talk to more network types than a typical Netware setup. Another game changer was that the networking support, and namely TCP/IP was included in the box! Up until this time TCP/IP solutions were typically 3rd party for both Windows, Netware, and even some UNIX (like Xenix!).
It is also worth noting that the TCP/IP in this version is from a 3rd party, SpiderTCP although once Microsoft was ready they did release their own stack which was in NT 3.5, an update for Windows for Workgroups that supported things like DHCP.
One major annoyance of OS/2 was that command prompts were either full screen or windowed, but they could not be switched, and some programs were flagged as full screen, so if you ran them from a window the system would flash to full screen, sawn a full screen session, maybe kick out some text, then switch back to the graphical screen. It was VERY annoying for tools that expected flags, as then you’d have to switch to a full screen session to even see what was going on. Windows NT addressed this off the bat, that VGA based systems could switch between fullscreen & windowed sessions by simply hitting alt+enter, and RISC / framebuffer video systems would be stuck in ‘windowed’ command prompts much like Windows Vista and other systems won’t let the ‘Command prompt’ window go full screen.
One big annoyance about Windows NT 3.1 is that all the Win16 applications (which was what almost everyone was using) ran in a SINGLE VM which meant that a single rouge application could crash out the VM, losing all the other Win16 applications work. It wasn’t any better than what Windows 3.0/3.1 users were facing, and only OS/2 allowed people to run Windows application in separate sessions.
Another serious shortcoming in Windows NT is that the POSIX subsystem is basically brain dead, it doesn’t support any networking calls. The inability to port any networking UNIX code to NT made it pretty much worthless, and all I ever saw people do was setup vi on it.
Other than that, for a 1.0 release it supported an incredible amount of printers, sound cards, and even network cards the OS was far more stable than MS-DOS+Windows, although it did need a LOT of memory.. Microsoft gave away a TONNE of boxed copies of it back in the day, for all intents and purposes NT 3.1 was a commercial bust, lots of people I know tried it but nobody really used it, it was too slow, and too resource hungry at the time. But NT wasn’t written with 80386’s in mind, but rather the future. Windows NT 3.1 shipped with support for the MIPS R4000 CPU, and the Intel i386/i486/Pentium. The Dec Alpha had not shipped at this point so Alpha support was held back, and offered as a coupon upgrade.
For a test, I thought it’d be a good test to install Microsoft Word 5.5 for MS-DOS / OS/2 as a test, SQL Server 4.21, and Excel 3.0a for Windows. For fun I even installed Doom 1.1 for MS-DOS, which plays however there is no music as NTVDM has no pass through support to the sound hardware ports (unlike OS/2, I suspect it’d violate the whole principal of a ‘secure’ OS) and since there isn’t any soundblaster emulated devices there won’t be any sound.
Here is some videos of installing Windows NT 3.1 (from within MS-DOS because the CD-ROM support in NT 3.1 is all SCSI based that Qemu doesn’t emulate), and using Windows NT..
Windows NT 3.1 was later replaced by the smaller & more capable Windows NT 3.5 .