Windows NT. (Microsoft's new operating system) (Software Review) (Cover Story) (Evaluation)
by Len Feldman
Microsoft's recently released Windows NT (New Technology) is a bold attempt to extend Windows' incredible market success far beyond individual desktop PCs into companywide networks and essential mission-critical applications. NT is an industrial-strength operating system capable of competing head to head with OS/2 and UNIX, as well as a fully featured network operating system for both modest peer-to-peer networks (a la Windows for Workgroups) and large client/server networks (like those supported by Novell NetWare). Yet, to the average user, Windows NT looks and feels almost identical to today's Windows 3.1.
To understand what Windows NT is, it's important first to understand what it is not. NT is not the next version of Windows 3.1 or Windows for Workgroups, although it can do virtually everything that those two operating environments can do, and far more. Unlike today's Windows 3.1, which is an operating environment that runs on top of DOS, NT is an entirely new operating system, built from the ground up to demolish the limitations that PC users and software developers have labored under for more than a decade. This means that NT can tackle sophisticated networked applications that are far beyond the reach of Windows 3.1; but as we'll see, it exacts a price in the form of hefty processor, memory, and hard disk requirements.
NT's designers had to balance their desire to develop a state-of-the-art operating system, capable of satisfying the computing needs of large organizations, with the knowledge that NT had to be compatible with the huge installed base of DOS and Windows applications. The result is a 32-bit operating system that pays homage to many of today's most popular computing buzzwords (multitasking, multiprocessing, objects, and client/server computing) while supporting 16-bit DOS and Windows applications.
Leaving DOS in the Dust
What are some of the practical improvements of Windows NT over today's DOS and Windows combination? For one, Windows NT says goodbye to the memory management limitations of DOS. No more questions about when and how to use extended versus expanded memory, and no more memory managers such as HIMEM, EMM386, or QEMM-386 to tweak and configure. Unlike DOS with its arcane segmented memory architecture, NT supports a linear memory address space of four gigabytes (two gigabytes for programs and two gigabytes for the operating system), which is more than enough for all but mainframe-and supercomputer-class applications.
If you've tried to run multiple applications at once under Windows 3.1, you know how limited Windows' capabilities are. Trying to print a long document or transfer a file by modem while working in your word processor or spreadsheet can be an agonizing process. Even worse, if any of your programs crash, it can bring the entire system to a screeching halt. Windows NT, however, eliminates these problems with a sophisticated preemptive multitasking system that switches between programs so quickly and smoothly that, from the user's point of view, each program appears to run nearly at top speed. An even more sophisticated capability called multi-threading enables many programs, or in NT terminology, processes, to be broken down into two or more threads, each of which can be executed concurrently. Multithreading enables NT to do many more things at once, and it's widely applied within NT itself in order to speed things up. However, programs must be written with multithreading in mind in order to get maximum performance.
In addition, NT's virtual memory manager (which gives each program more room to run by combining available RAM with hard disk space) protects the system by keeping programs and system tasks from interfering with each other. If one program crashes, Windows NT itself and the remaining programs continue to run. The frustrating General Protection Faults and freezes that are common in Windows 3.1 are largely a thing of the past in Windows NT.
For complex applications that require more power than one processor can provide (such as sophisticated engineering-design problems or transaction-processing systems for high-speed processing of sales orders or airline reservations), NT supports multiprocessing. With this capability, two or more processors can work in concert to execute applications. In fact, by combining multiprocessing and multithreading, each processor can run different portions of the same application, or entirely different applications, in order to gain potentially enormous performance improvements. However, most applications must be written from the ground up with multiprocessing in mind; otherwise, performance improvements are modest at best. Virtually no existing Windows applications can take full advantage of multiprocessing without involving extensive redesign.
The Compatibility Suite
Even though its internal architecture is completely different from that of DOS, Windows NT runs most existing DOS and Windows applications without modification. To do so, NT uses an emulator. Macintosh and NeXT users will be familiar with one such emulator called SoftPC, which completely reproduces the PC hardware architecture in software, so that DOS and Windows applications can run "inside" SoftPC under Macintosh System 7 or NextStep. Insignia Solutions, the company that developed SoftPC, worked with Microsoft to develop a similar emulator for Windows NT called the Virtual DOS Machine, or VDM. The VDM emulates both DOS and the standard PC hardware, and it runs all DOS applications except those that bypass the operating system to talk directly to hardware, such as some games, CAD programs, and older applications that require direct access to hardware for acceptable graphics or hard disk performance.
Windows applications also run on NT by using an emulator; in this case, an emulator called Windows on Win32, or WOW for short, runs on top of the VDM. WOW supports most standard and enhanced mode Windows applications, but not Windows 3.0 real mode applications. (As with DOS, any application that bypasses Windows and directly manipulates memory or hardware is unlikely to work with Windows NT.) Multiple applications can run simultaneously inside WOW, but since the WOW environment so closely duplicates Windows, an application crash within WOW has a good chance of crashing other running applications and possibly even WOW itself. Unlike in DOS/Windows-based systems, however, a crash within WOW will not affect any other non-Windows applications. In other words, while existing DOS and Windows applications are no more "bulletproof" in Windows NT than they are today in Windows 3.1, the overall system is far more reliable.
In addition to DOS, Windows, and Windows NT applications, NT also runs a limited set of OS/2 and UNIX-like applications. For example, NT can run character mode OS/2 1.x applications. In reality, this feature is of very limited usefulness, because most OS/2 1.x applications have long since been upgraded to take advantage of OS/2 2.x's Workplace Shell and Presentation Manager graphical user interface features.
Likewise, NT is also capable of running POSIX 1.0-compatible applications. POSIX is a U.S. government--specified standard flavor of UNIX that allows compatible programs to be run on a wide variety of different computers.
Unfortunately, most existing UNIX applications require more features and capabilities than those specified in POSIX 1.0.
Further, POSIX doesn't yet support the X Window system or higher-level graphical user interface tools that are quickly becoming an integral part of most UNIX systems. Therefore, as with OS/2, Windows NT's POSIX support is, for now, primarily a token gesture aimed at providing cross-platform compatibility, rather than an immediately useful feature.
Keeping Secrets
As mentioned earlier, Windows NT includes sophisticated networking capabilities. Existing Windows for Workgroups (WFW) users will recognize NT's networking features as extensions of WFW's capabilities. NT systems can share files, printers, and other resources (such as networkable modems) on a peer-to-peer basis with other NT systems, as well as with WFW systems. These peer-to-pee networks don't require expensive dedicated file and print servers. Or you can choose to create client/server network configurations, with NT systems acting as file, print, and application servers to other NT, WFW, LAN Manager, and DOS-based systems. In fact, Windows NT includes approximately 90 percent of the functions and features found in Microsoft's LAN Manager 3.0. NT supports the network protocols used by LAN Manager and IBM's LAN Server, as well as the protocols used by most UNIX systems and the worldwide Internet. Additionally, Novell NetWare users aren't left out; Windows NT systems can be connected as clients to existing NetWare servers.
A powerful networked operating system like Windows NT will usually be used in applications in which more than one user needs to use the network; otherwise, there's little reason to upgrade from Windows 3.1. As soon as multiple users begin to access a single system or network of systems, security becomes essential. Each user will have applications and data files that must remain private to him or her, while some programs and files will need to be shared by other users. More importantly, critical functions such as modifying operating system files and adding or deleting users must be strictly limited to authorized system administrators.
Windows NT includes the Security Subsystem, which requires all users to log on with a unique user name and password in order to gain initial access and then strictly controls access to files and subdirectories according to rules set up by the system administrator. NT meets the U.S. government's C2 level of security, meaning that it can be used for moderately sensitive applications (although its safeguards are insufficient for secret or even more sensitive data). By comparison, OS/2 has only rudimentary security features; it relies on LAN Server's network-based security for more extensive protection.
UNIX, on the other hand, has had password protection and access control features for years, but only recently have some desktop UNIX vendors (Univel and SunSoft) brought their products' security up to C2 standards. These vendors require users to purchase add-on software to achieve the same level of security built into Windows NT.
In order to keep track of who has permission to access which files and subdirectories, a file system (which manages the directories and file attributes for each hard disk) must maintain and update a great deal of security information. The FAT file system used by DOS and Windows makes no allowances for security, nor does it provide the fail-safe features required in mission-critical applications, where a single disk failure could have catastrophic results.
Windows NT's developers devised a new file system, called NTFS (NT File System) that works hand in hand with the Security Subsystem to keep track of security permissions for every file, subdirectory, and user. In addition, for reliability, NTFS supports disk mirroring, in which two disk drives contain identical information, so that the mirror drive can take over instantly in the event of a failure in the primary drive. NTFS can also improve disk performance with a technique called disk striping, in which files are written, or "striped," across two or more physical disk drives.
Because each drive can read or write a different block of data from the same file simultaneously, the time it takes to perform disk functions can be dramatically reduced. In addition, by adding parity, which stores disk data with a small amount of redundant information, small data errors can often be corrected on the fly, and data damaged by more severe hardware or software failures can usually still be reconstructed.
In addition to NTFS, Windows NT is also compatible with the FAT file system and OS/2's High Performance File System (HPFS), although NT's security features can't be used with FAT or HPFS volumes.
Intel and Beyond
One of the most important and exciting new features of Windows NT is its ability to run on non-Intel processors. UNIX can run on a wide variety of different computers, from desktops to supercomputers, but even today, DOS and Windows can run only on either Intel or Intel-compatible processors, or on top of software that emulates the Intel x86 architecture. In addition to Intel's family of 386, 486, and Pentium processors, NT supports the new generation of high-performance RISC (Reduced Instruction Set Computer) processors that offer big price and performance advantages over CISC (Complex Instruction Set Computer) processors (such as Intel's x86 and Motorola's 680x0 families). Windows NT currently runs on MIPS 4000 RISC processors from Silicon Graphics, as well as on Digital Equipment's Alpha RISC processor family. Future support for Hewlett-Packard's HP-PA and Intergraph's Clipper RISC processors is planned, and IBM is rumored to be working on moving NT to the PowerPC processor family that will form the backbone of Apple's and IBM's next generation of desktop computers.
Later this year, the first RISC PCs will begin to appear, using Alpha and MIPS 4000 processors. These PCs will be priced slightly higher than, and look and run very much like, existing high-end PCs; they'll have EISA-bus slots and support ISA- and EISA-bus expansion cards.
For superior video display and hard disk performance, most will also support local-bus architectures such as VL-Bus or PCI. They'll use the same keyboards, mice, monitors, modems, printers, and other peripherals as conventional PCs, but instead of DOS and Windows, they'll run either Windows NT or a flavor of UNIX.
These RISC PCs will run existing DOS and Windows applications under NT about as fast as a 33-MHz or clock-doubled 50-MHz 486-based PC does today under DOS, but they'll equal or exceed all but the fastest available Pentium chips when running native Windows NT applications. (Existing DOS and Windows applications won't have to be modified in order to run on these systems, but new NT applications will have to be recompiled in order to run on different processor designs.) Windows NT will help to turn these RISC PCs into real competitors for Intel-based PCs and servers, and in so doing will help to drive down the price of high-end 486-and Pentium-based systems.
NT Versus OS/2 and UNIX
Windows NT is often compared to OS/2 and UNIX. In fact, when NT was first conceived by Microsoft, it wasn't called Windows NT at all. Instead, it was called OS/2 3.0, and it was intended to be Microsoft's next-generation platform-independent version of OS/2. The split between IBM and Microsoft sealed OS/2 3.0's fate, and the announcement of the ill-fated Advanced Computing Environment in the fall of 1991 by MIPS, Compaq, Microsoft, and others was the first formal acknowledgment that OS/2 3.0 had metamorphosed into Windows NT. Today, Windows NT 3.1 will compete head to head with OS/2 2. 1, as well as with a variety of UNIX flavors, including UnixWare (Novell/Univel), SCO UNIX (Santa Cruz Operation), Solaris (SunSoft), and NextStep (NeXT).
The table provided on the preceding page summarizes the similarities and differences between NT, OS/2, and generic UNIX.
The Price of Power
Windows NT's power and flexibility has its price. NT demands faster processors, more memory, and bigger hard disks. Unlike Windows 3.1, which runs on virtually any 386, 486, or Pentium processor, Microsoft states that at least a 25-MHz 386 is required for NT. In fact, anything short of a 486 is underpowered so far as NT is concerned. A 25-MHz 486SX is probably the minimum processor needed for adequate performance. Also, be prepared to buy more RAM. Until March of this year, Microsoft's stated goal was to make NT run in 8MB of RAM with acceptable speed, but software developers who tested the first two beta versions of NT were dubious that Microsoft would ever achieve its goal. With the March beta release, Microsoft threw in the towel and raised the minimum requirement to 12MB of RAM, with the best performance possible only on systems with 16MB or more.
Finally, NT needs lots of disk space; the complete operating system, including networking, OS/2, and POSIX support, requires 80MB of storage. The complete Software Development Kit requires another 40MB. Swap files for virtual memory will require another 10-20MB, so depending on whether you'll be developing applications or simply running them, you'll need 100-140MB of hard disk space just to get started. And don't plan to save money or slots by using Stacker or SpeedStor; at the present time, NT is totally incompatible with these utilities. In fact, NT doesn't even understand Microsoft's own DoubleSpace compression, which is built into DOS 6. (Microsoft is working on a new NT disk driver that will be able to read and write DoubleSpace volumes, but it won't be available until sometime after NT ships.)
Should You Switch?
It's clear that Windows NT is a big step beyond DOS and Windows. However, for the average home or small-business user, does it make sense to switch? The answer depends on how successfully you can get your tasks done today with Windows 3.1. If you're constantly battling with DOS's memory limitations, if you need the ability to do both peer-to-peer and client/server computing, or if you want to move a favorite UNIX application to Windows, NT could be right for you. Keep in mind, though, that NT currently doesn't support multi-user capabilities with low-cost character-oriented terminals. Unless you're going to develop your own application from scratch, or move an existing application from UNIX to NT, be sure that your software suppliers are readying NT versions of their programs before you take the plunge. Otherwise, you'll be stuck with expensive NT systems that offer little practical benefit over what you're already using.
On the other hand, if you're currently using Windows applications and you don't really need the additional power of Windows NT, or if you have an existing small LANtastic, NetWare, or Windows for Workgroups network and you're not planning to add lots of new users, today's DOS/Windows combination is probably fine for you. In fact, switching to NT might actually be counterproductive for two reasons. First, as I explained earlier, both DOS and Windows applications run in emulators under NT, not in the native NT environment. Like all emulators, NT's Virtual DOS Machine and Windows on Win32 exact a performance penalty.
The second reason for not switching is the extra expense involved in equipping each PC to run Windows NT. Applications that run perfectly well today on a 25-MHz 386SX will probably need at least a 25-MHz 486SX in order to satisfy NT's requirements and still provide adequate performance. In addition, a system with 8MB of RAM that's perfectly adequate for your current DOS/Windows needs will require at least 12MB and probably 16MB of RAM for acceptable performance with NT. For existing applications, you'll get even greater performance gains by upgrading your PC's processor and memory while keeping your current DOS/Windows software configuration. Your existing software will run significantly faster, and you'll be ready for Windows NT in the future.
If you're willing to wait until sometime in 1994 for a "lite" version of NT, Microsoft is working on Windows 4.0, often referred to by its code name, Chicago. According to industry sources, Chicago will have most of the features of Windows NT except its ability to act as a server on client/server networks and its support for OS/2 and POSIX applications. Like NT, Chicago will be a complete operating system and thus will no longer require DOS in order to run. Chicago's memory and disk requirements will probably be significantly more modest than NT's. For example, Microsoft claims that Chicago will be able to run on PCs with 8MB of RAM; however, keep in mind that up until March of this year, Microsoft claimed that NT would also be able to run in 8MB. Also, indications are that like today's DOS and Windows, Chicago will run only on Intel and Intel-compatible processors, although that might change if NT is a big hit on non-Intel platforms.
The bottom line is that Windows NT offers true multitasking, multithreading, and multiprocessing, along with extensive networking capabilities, while remaining compatible with most existing DOS and Windows applications. In addition to Intel x86- and Pentium-based PCs, you'll also be able to run NT on RISC-based PCs and workstations using MIPS 4000 and Digital Equipment's Alpha processors. However, to use NT with your present PC, be prepared to upgrade your system with a faster processor, more RAM, and a bigger hard disk. If you're a home or small-business PC user, there's little reason to switch to NT unless you really need one or more of its advanced features. Windows 4.0, or Chicago, due out sometime next year, promises to offer most of NT's functionality in a smaller package. In short, Windows NT is a powerhouse that's likely to be overkill for all but the most demanding applications, but it offers a first look at the future of desktop computing, Microsoft style.
Len Feldman is the author of Windows NT: The Next Generation, published by Sams Publishing. Mr. Feldman is a computer industry consultant based in San Jose, California; his clients include Borland, Hitachi, Radius, and Toshiba. He was formerly the chief sysop of CompuServe's Multimedia Vendor Forum.