Under the hood, Windows NT 4.0 is almost
the same as its predecessors. I say "almost" because Microsoft has
taken the opportunity to make a few significant changes that will forever alter
the way some programs run under NT and how you interact with the operating
system.
NT 4.0 has a lot of good to offer--a new user interface (UI) taken from its
sibling Windows 95, a built-in Domain Name System (DNS) server, the Internet
Information Server (IIS) Web server and Web page creation tools, a new Telephony
Application Program Interface (TAPI), a network monitor, new automated setup
tools, and the hundreds of little ruffles and flourishes that distinguish it
from its 3.x predecessors. Mac users will be happy to see that NT 4.0 Server
includes some new file and print services (to learn about these services, see
the sidebar, "Windows NT 4.0 Services for Macintosh," page 123). But
4.0 also has its share of problems, such as the uncertainty about changes in
system stability that result from moving the UI to kernel mode, the client
license question, and the elusive documentation.
NT 4.0's changes are more evident in Workstation than Server. This fact
doesn't mean Microsoft is finished with NT Server by any means. Improvements to
the next major NT release, NT 5.0, will spotlight Server, so stay tuned.
The User Interface
The most obvious change to NT 4.0 is its UI.
At a glance, I have a hard time telling whether a machine is running Windows 95
or NT 4.0. Screen 1 shows the new and improved UI. The Win95 interface is a vast
improvement over the Windows 3.x interface and a pleasure to work with. But
improvement comes at a cost: Low-speed 486 workstations that run well under NT
3.x can be sluggish under NT 4.0. Server performance, however, seems unaffected.
My company's 33MHz 486DX file server runs painfully slow when accessing the NT
4.0 UI. However, the same machine zaps files out onto the network under NT 4.0
as fast as or faster than it did under NT 3.51.
True to its secure nature, NT 4.0 improves the usability of its user
profiles. These profiles let users have their own desktop, persistent network
connections, and personal directories. If you install Microsoft Office, NT
stores your application settings and documents in user profiles.
Unfortunately, I've found a few gotchas with NT 4.0's new profiles.
Throughout my NT 4.0 beta process, I performed a lot of reinstalls. Because I
write notes to myself, to-do lists, and the like, I put these notes on my
desktop. Under NT 4.0, this is not a good habit. Every time you reinstall NT 4.0
as a fresh install, you delete any user profiles, including any desktops and
data on them. Worse, NT 4.0 treats personal directories to the same immolation.
Applications such as Word put documents in the user's personal directory by
default, so users can lose months of work. The moral of the story: Don't keep
your Word documents in your personal directory, and don't leave necessary items
on the desktop--use shortcuts instead.
NT creates a new user profile when you create a new user account. Separate
user profiles are useful, but their administration can be cumbersome. Like many
network administrators, I have two user accounts: my mere mortal account and my
Administrator account. I have no way of installing a program such as Office and
telling it, "While you're at it, remember these settings for user Mark2."
In the same way, if you dual-boot Win95 and NT, you may have to install all
your programs twice, which can take a lot of time. If you're installing
everything twice, load Win95 and all your 32-bit Windows applications on the
system first. Then load NT and search for the program files--winword. exe,
excel.exe, ppt.exe, etc. Click Taskbar's Advanced Configuration to
create shortcuts from these programs to your Start Programs menu. This is the
only approach I know that works, but it's clumsy. You end up wasting time
re-creating your groups every time you install NT or log on as a new user in NT.
The UI Shifts to Kernel Mode
One area where NT never impressed
anyone was its realtime animation support. For example, you can play the
Microsoft Hearts game against the computer or other players on an NT 3.51
network, but it crawls. The animation that shows cards appearing on the baize is
glacially slow. The Win95 Plus Pack's Pinball game also runs under NT 3.51, but
is unplayably slow. NT 4.0, in contrast, runs both applications quickly,
seemingly as fast as Win95.
To accomplish realtime animation, Microsoft modified NT's architecture. All
versions of NT Server and Workstation consist of modules, and each module has a
privilege level of user mode or kernel mode. NT allocates an area of memory that
user-mode modules can't work outside of. This limitation is important because
programmers often make the mistake of letting their programs attempt to write
data outside the program's allotted memory space. NT prevents this practice so
that the ill-mannered program can't overwrite data or program areas of another
program and make the victim program crash or behave strangely. So, the worst
that a user-mode module can do is overwrite its own data areas--a user-mode
program can crash only itself.
In contrast, kernel-mode modules are trusted with the entire computer--they
can access any hardware and any memory. A mistake in a kernel-mode program can
cause the program to damage dozens of other programs.
So why build anything to run in kernel mode when such programs can
be so dangerous? First, these programs are necessary--something (a
program, driver, or other software) has to manipulate the computer's hardware.
Second, kernel-mode programs don't go through as much OS red tape as user-mode
programs. Parts of the OS that are kernel-mode programs run quicker than parts
that are user-mode programs. But when the kernel-mode parts fail, they can crash
the system.
With NT 4.0, Microsoft moved the user interface from user mode to kernel
mode. The first result is immediately obvious: Applications with a lot of
animation, such as Pinball or Hearts, run much faster than they did on NT 3.51.
Most Win95 games should run smoothly under NT 4.0. This newfound ability is
clearly part of Microsoft's strategy--for the first time, NT has a joystick
driver that loads by default when you install NT.
But what you gain in speed, you give up in reliability. NT 4.0's UI
definition now includes third-party video and print drivers as trusted parts of
the OS. And that scares me. In fact, video drivers aren't written to be
stable; they're written to be fast and to crank out a lot of WinMarks or
Winstones or whatever the graphic benchmark du jour is. Similarly, many
good printer manufacturers, such as Hewlett-Packard, update their print drivers
several times a year. A standard part of my Windows 3.x troubleshooting routine
was to get the latest HP drivers when things started crashing. An update was
often the solution. Imagine the frustration of having a major file or database
server go down during a busy day just because your printer doesn't like some
TrueType font!
Microsoft says that as long as you buy video boards and printers that
Microsoft has tested--those on the Hardware Compatibility List (HCL)--you'll
have no trouble. Perhaps Microsoft is right. But I've already noticed that my NT
4.0 workstations are less stable than those running 3.51. I've even crashed an
NT machine with an old MS-DOS game.
My advice on living with a kernel-mode UI is simple: Run the 640 * 480
16-color VGA driver on your servers. This driver is well understood, well
written, and well tested. Also, put your shared printers on a relatively small
number of dedicated print servers. If they crash, they rob only your network
printing function, not your file and application services.