Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

Articles4.0 Isn't for Everyone


July 1996 / Special Report / 4.0 Isn't for Everyone

Has Microsoft traded stability for performance in the latest NT release?

David S. Linthicum

If you're not already a Windows shop, NT is no more or less important than any other operating system that's vying for your heart, mind, and corporate servers. But if you are running Windows 95, you probably feel yourself racing toward judgment day like a skydiver with a busted parachute. Sooner or later, you'll switch to NT.

In the meantime, there will be upgrades to 95 and to NT itself, and all the while you'll ask yourself, "Are there enough performance benefits to go to NT?" "Can we handle all t he additional resource requirements for NT?" "Is it better to wait or take the leap now?"

Microsoft's slated release this summer of NT 4.0 raises these questions anew, not only for Windows 95 users but also for those who must decide whether to upgrade from NT 3.51 or make a more fundamental switch from Unix. But in its wisdom, or in spite of it, Microsoft hasn't delivered a new version of NT that makes the upgrade decision a slam dunk.

NT 4.0 is better than 3.51. It's faster, it's more agnostic about networks, and if you want to set up a Web server, you can't beat the price: All the capabilities to do this now come standard. So what's not to like? Most of all, NT's designers made a pact with the performance devil. To squeak out speed, they went the kernel-mode route--which Novell was roundly criticized for with an analogous move in NetWare 4.x--and that potentially opens up NT to system crashes.

At the moment, the NT migration question is cloudy. If you're contemplating the change, here's what's good and bad with NT 4.0, along with advice for deciding what's best for you.

Built for Speed

For this article, we were able to review NT 4.0 beta 1 (build number 1234). Although clearly still a work in progress, this iteration shows how Microsoft is advancing the existing NT architecture, which merges the attributes of layered and microkernel operating systems.

The NT Executive, a group of several subsystems and OS services, runs in kernel mode (see "NT's New Architecture"). This placement means that basic OS functions, such as first-level interrupt handling, deferred procedure calls, thread scheduling, and synchronization primitives, communicate directly with the hardware for faster performance. Also within the Executive is the hardware abstraction layer (HAL), which provides software abstraction for such items as clocks, cache and memory controls, peripheral devices, and symmetric multiprocessing functions. This abstraction layer enables Windows NT to support a wide range of hardware designs within a microprocessor family.

What makes 4.0 significantly different than earlier NT iterations is Microsoft's decision to relocate within NT's kernel mode the graphical device interface (GDI), giving it Ring 0 status. (Ring 0 is one of four protection modes in Intel's CPU designs.) This gives GDI functions--all the commands that write to the screen--the highest priority possible. No overhead means faster performance. But it also means no protection for the OS in the event, for example, that a third-party graphics driver is plagued with problem code. In NT 3.51, the GDI didn't communicate directly with the hardware, so a problem with a graphics driver would have crippled the user interface but would not have brought the entire system down. That potential exists now with 4.0.

The Ring 0 vulnerability is also found in NetWare 4.x. (IBM hasn't taken this path with OS/2.) The issue is critical for NT because NT is more likely to run cross-platform tools, such as emulators, that write directly to the GDI rather than to an API. Clearly Microsoft is heading down the kernel-mode road to enhance performance. O ur tests running standard business applications and graphics-intensive games showed 4.0 to be noticeably faster than NT 3.51. However, the kernel-mode approach may cause stability problems as driver authors write code that burrows deeper into the OS to extract faster performance in their applications. Thus, Microsoft may be trading stability for performance.

Our tests with the beta software did not uncover a smoking gun: None of the crashes we experienced could be attributed directly to the architectural change. But the decision to make this change--and its departure from traditional design practices--troubles us. Drivers are volatile, and now they could be a weak link in NT's stability.

Stability is more of an issue with NT Server than with NT Workstation because a single server crash will also bring down all the clients attached to it. That's not to say that workstations are immune to potential problems. If a client goes down, the IS support staff will have to track down the cause, which will be difficult since a frozen workstation will not be able to run diagnostics software.

Microsoft says it works with hardware manufacturers to develop reliable drivers and that the change doesn't affect the stability of the system. All drivers shipped with the OS, the company adds, are submitted to the same testing as other Executive components. We won't know how significant the kernel-mode issue is until we have final 4.0 code and monitor how well the OS runs in real-world situations.

This potential vulnerability is all the more troubling considering the steps Microsoft has taken in other areas to avoid NT system crashes. NT 4.0 remains more stable than Windows 95 thanks to Microsoft's use of virtual machines, which are secure areas in the OS where an application can execute as if it were using its own processor and memory space. This means that unruly applications won't bring the entire system down. Instead, only the virtual machine will die, leaving the OS in a stable state. NT runs MS-DOS appl ications in their own virtual machine, and you can run Win16-based applications in a virtual machine as an option. NT 4.0 also uses virtual machines for multitasking and multithreading of Win32 applications.

New and Improved Server

The NT Server and Workstation modules emanate from the core architecture. Both have seen a number of changes in 4.0. Each module now provides all the major network protocol stacks (including NetBEUI, IPX/SPX-compatible, and TCP/IP), as well as easy connections to NetWare, NFS, Vines, and existing NT servers. NT 4.0's updated version of Microsoft's Client and Gateway Services for NetWare now supports NetWare Directory Service (NDS).

One of the most appealing additions to NT Server is the integrated Internet Information Server, or IIS (for more details, see "NT and the 'Net"). With IIS, you can turn NT Server into a fully functional Web server (that can also perform its other duties). Microsoft wants you to look to NT, and not Unix, for your We b server needs. What chance does NT have to compete? Compared to most flavors of Unix, NT is easier to use, it supports a larger application base, and now the Web server software is free.

Other new Internet features include a Domain Naming System (DNS) name service. This is significant because it provides a distributed database of host information for local networks and the Internet. With DNS, you can resolve computer-name-to-IP-address mapping queries. You also can configure the DNS name service for use with Microsoft's Windows Internet Naming Service (WINS), which dynamically allocates IP addresses for host name resolution. The combination of WINS and DNS provides the Dynamic DNS, which resolves the upper layers of the domain name and passes the final resolution to WINS. This is transparent to the NT Server client.

Server 4.0 also supports multiprotocol routing to help network administrators connect LANs or connect LANs to WANs without a costly dedicated router. For instance, administrators ca n set up LAN-to-LAN routing support for IP and IPX by connecting both a TCP/IP and a NetWare LAN. You can also configure NT Server to act like a BOOTP/DHCP Relay Agent that allows a computer to transmit BOOTP/DHCP messages across an IP LAN. However, using NT Server to connect LANs and WANs requires at least two network adapters (one for each segment) inside your server hardware.

New administration tools in NT Server can run remotely on Windows 95 clients. In addition, NT Server provides remote boot service for Win 95 clients. This is especially helpful if you're working in a secure environment with Windows 95 diskless workstations. NT Server also lets you create your own special groups by arranging resources, such as printers, for easy reference and browsing. You create these groups using the WINS Manager tool, or through the LMHOSTS file. However, each group is limited to only 25 members.

Anyone involved in the federal market will be happy to know that Server 4.0 continues its POSIX tradition. Microsoft plans to build on the base OS services to support upcoming POSIX standards as they evolve.

Better Interfaces

Both the Server and the Workstation editions of NT 4.0 present a Windows 95 look-alike interface . If you've run Windows 95, you've already seen many of the new interface features in NT 4.0: the Windows Explorer, the Internet Explorer browser, and WordPad. Clearly Windows NT 4.0 is Windows 95 reincarnated for the power user. NT functions the same as Windows 95, with the same hierarchical drag-and-select menu structure and the ability to examine the file system. The new interface is especially adept at opening programs (you can launch applications using Macintosh-like point-and-shoot icons), finding documents, and using system tools such as Explorer.

Also new to the NT interface is the Microsoft Windows Messaging Subsystem, which lets you send and receive e-mail, including files created in other applications. Already message-enabled are most of the 32-bit applications that run on Windows NT, including Microsoft Word and PowerPoint and Borland Paradox. Unfortunately, NT 4.0 does not support Multipurpose Internet Mail Extensions (MIME) mappings to filename extensions. And messages containing attachments are sent in MIME format as an application/octet-stream, not as a MIME type. Therefore, you may want to consider another fully MIME-enabled e-mail system if file attachments are common in your organization.

A new Hardware Profiles feature (familiar to Windows 95 users) lets you create a list of hardware configurations to meet specific requirements. This is most useful for people who run NT on a portable computer with a docking station. When you dock the portable, NT prompts you to select a hardware configuration (using variables like network interface card, printer, and monitor). When you remove the portable from the docking station, NT returns to the previous system configuration.

Preliminary Tests

Our beta o f 4.0 was noticeably faster than NT 3.51, depending on what type of application we ran. We compared performance of 4.0 versus 3.51 by using a 133-MHz Pentium machine with 32 MB of RAM. We ran Win32 and Win16 applications, which we automated with macros or application programs. All applications worked without any compatibility problems. In general, we found the performance of Win32-based applications like the Microsoft Office Suite was excellent under NT 4.0, but Win16-based applications (e.g., Excel 4.0) lagged behind. DOS applications performed well, and NT 4.0 adapted to the most unruly graphical DOS applications, such as arcade-type games. We did crash the system once, but the result was a dead MS-DOS session and not a dead OS. However, when we ran Adobe Photoshop, some image windows did not repaint properly. And Lotus Approach crashed when we selected Send Mail from the File menu. (Note that none of these problems relate to the kernel-mode issue.)

Will performance be even faster once Microsoft fini shes the final version of 4.0? That depends. Developers will surely optimize the code, which will make it faster. However, our beta version still did not include Distributed COM (Common Object Model), which has replaced Network OLE as the name for Microsoft's distributed object technology. DCOM lets communications take place among objects without any object needing to know the physical location of any other object. We were unable to judge how any overhead from DCOM might affect performance (and we still remember how performance in Windows 95 went to hell in a hand basket when Microsoft added the OLE subsystem). Until we test with that component, we have only half the performance story of NT 4.0. (Microsoft planned to include DCOM in the beta 2 version that was scheduled to be released after we filed this story.)

The Bottom Line

So, if Windows NT 4.0 looks a lot like Windows 95 and offers many of the same look-and-feel and OS features, what are the reasons to include 4.0 in your migrat ion plans? That depends on the platform you're currently using.

If you're now running Windows 95, NT 4.0 may be more stable, thanks to its virtual-machine approach. (Kernel mode is an open question, however.) Another of NT's key differences from Windows 95 is NT's support for multiple platforms and for symmetrical multiprocessing. NT can provide this support because Microsoft wrote it in portable C, while developers wrote huge portions of Windows 95 in processor-dependent Intel Assembler (however, Windows 95 provides better performance on Intel-based computers with fewer resources).

NT adheres to the Advanced RISC Computing (ARC) open specification for RISC-based systems in both single and multiprocessing configurations. These RISC platforms include the PowerPC, MIPS R4xx00, and Digital Equipment Alpha. In the past, NT didn't support x86 software on these systems, which was limiting since only the major software vendors bother to port to non-x86 hardware. The good news is t hat NT 4.0 provides a 486 emulator for non-Intel platforms. The 486 emulator is another application that can convert the nonnative x86-dependent calls into calls the native processors understand. Emulation overhead does levy a performance hit, however.

In the short term, the changes to NT Workstation probably won't produce a wave of converts: Windows 95 will continue to rule the desktop. The absence of Plug and Play in NT 4.0 will discourage people who rely on this Win 95 capability for portables with docking stations.

The bottom line for Windows 95 users is this: If you're committed to Windows applications and need to run them in a crash-protected or cross-platform environment, it may be time to move to NT. If you're a mobile worker who relies on Plug and Play capabilities, you should stay with Windows 95 for now.

If you're already running NT 3.51, the leap to 4.0 will seem as wide as the gap Windows 3.1 users crossed when they moved to Windows 95. The speed improvements we see in the fi nal version of 4.0 will go a long way to helping you make your decision. Also, if distributed objects within your enterprise will become the foundation for your applications, 4.0 grows in importance.

At first, the new UI may be appealing, but you should also consider the impact the learning curve will have on your organization. If NT 3.51 currently serves you well, the interface alone isn't enough to switch to NT 4.0.

If you're a Unix or other non-Windows shop, NT 4.0 can give you the advantages of a huge base of business applications that may be more extensive and less expensive than what you're using. If you've already considered 3.51 and decided against the switch, the new UI and Distributed COM, if Microsoft pulls it off in this revision, could be new inducements to go NT. Also, NT 4.0's support for multiple hardware platforms means you can upgrade to faster processors to meet new requirements.

No matter which group you're in, you should set up a test-bed of representative hardware an d software for your organization and run extensive compatibility tests using 4.0 before you make any decisions. Your mix of resources is unique, and you should find compatibility and performance problems before you decide to change to any new OS.

The last issue you need to consider is Cairo. We expect DCOM to be part of the Cairo OS, as well as an object-oriented file store and Plug and Play (see "OO Meets OS," November '95 BYTE). At that point, NT will have morphed object-oriented technology, the interface and mobile-computing benefits of Windows 95, and the already solid server features of NT. It's a formidable package--on paper. But even if Cairo stays on track, it's a distant target. In the meantime, NT 4.0 offers an intriguing choice.


Where to Find


Microsoft

Redmond, WA
Phone:    (800) 426-9400 or (206) 882-8080
Fax:      (206) 635-6100
Internet: 
http://www.microsoft.com


HotBYTEs
 - information on products covered or advertised in BYTE


NT 4.0 and Windows 95 Compared


NT 4.0 Advantages                       Benefit

Virtual machines                        Makes NT more stable
Internet Information Server             Free Web-server capabilities 
Distributed COM                         Handles distributed objects
RISC support                            For single- and multiprocessor systems


Windows 95 Advantages                   Benefit

Portions written in Intel 
Assembler code                          Faster speed on Intel-based PCs
Plug and Play                           Integrates portables with docking
 
                                        stations



NT's New Architecture

illustration_link (31 Kbytes)

To boost graphics performance in NT 4.0, Microsoft made the controversial decision to move the Graphical Device Interface (GDI) from user mode to kernel mode.


Familiarity Breeds Ease of Use

screen_link (42 Kbytes)

Look familiar? Windows NT 4.0 adopts the interface design of WIndows 95.


David S. Linthicum is a technical manager at AT&T Solutions and the author of several books on software development. You can reach him at 70742.3165@compuserve.com .

Up to the Special Report section contentsGo to next article: Netware: Fight or Switch?SearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network