Subscribe to Windows IT Pro
December 01, 1998 12:00 AM

Windows NT and VMS: The Rest of the Story

Windows IT Pro
InstantDoc ID #4494
Rating: (8)

The memory managers in NT and VMS are also similar. Both OSs implement virtual memory address maps that the system splits between the currently executing application and the kernel. Both NT and VMS rely heavily on memory-mapped files, especially for mapping the code for executing applications and implementing copy-on-write functionality (because of VAX hardware limitations, VMS provides less efficient copy on demand funtionality). Physical memory management in NT and VMS relies on demand-paged virtual memory. VMS's memory manager assigns each process upper and lower limits (called working sets) for the amount of physical memory the system can assign them. This feature compartmentalizes applications so that an application with heavy memory demands minimally affects other processes. NT's memory manager incorporates working sets, along with many subtleties of the VMS working-set tuning algorithms.

As with the process manager, notable differences exist between NT's and VMS's memory manager. VMS's Balance Set Manager moves entire processes' memory footprints out of memory to paging files and back to memory in response to the overall memory demands of the system. Microsoft did not carry this mechanism, known as swapping, into NT's Balance Set Manager, although some of NT's Balance Set Manager's secondary responsibilities are the same as the secondary responsibilities of VMS's Balance Set Manager.

NT's I/O Manager is closely based on VMS's I/O Manager. Both OS's I/O Manager support a layered-driver model throughout the device driver stacks for different device types and implements asynchronous packet-based I/O commands, and its device drivers dynamically load and unload. Stackable and loadable drivers make NT and VMS very extensible. Either OS can divide functionality among several device drivers, with each driver implementing a different abstraction level. For example, the system can insert a fault-tolerant disk driver between a file system driver and a disk driver. This configuration lets the fault-tolerant disk driver receive a request the system sends to one logical drive (e.g., the C drive), then send the request to multiple physical drives to implement mirroring or striping. Asynchronous I/O enables applications and the kernel subsystems to initiate device requests and work while the requests are in progress, rather than wait idly for the requests to complete. NT's device driver architecture and interrupt-request priority scheme are based on VMS. Descriptions of these aspects of the I/O Manager are applicable to both OSs with little variation.

As you can see by comparing Figure 2 and Figure 3, page 117, the Executive subsystems exhibit the most significant resemblance between VMS and NT. But many minor similarities exist in which it is clear that Microsoft derived NT's capabilities from VMS. For example, both NT and VMS represent resources as objects that the system manages through an Object Manager, which implements uniform reference counting and accounting. The Object Manager regulates resource allocation and calls the Executive subsystem functions that request notification of certain object operations. VMS object management is not formalized, like it is in NT, and the VMS Object Manager is just a loose connection of functions. Microsoft extended NT's Object Manager so that it provides a uniform naming model for all kernel resources.

NT's security subsystem is based on objects with discretionary access control lists. DACLs determine which users can perform various operations on those objects. Digital added a DACL enhancement to VMS's security model in version 4.0 in 1984. Therefore, VMS's security implementation is the predecessor to NT's. Microsoft even included systems tools similar to VMS's in NT, including the Performance Monitor, which is based on MONITOR, the extensible VMS performance monitor. VMS included a utility called BACKUP long before Microsoft developed NT's backup utility.

"Why the Fastest Chip Didn't Win" (Business Week, April 28, 1997) states that when Digital engineers noticed the similarities between VMS and NT, they brought their observations to senior management. Rather than suing, Digital cut a deal with Microsoft. In the summer of 1995, Digital announced Affinity for OpenVMS, a program that required Microsoft to help train Digital NT technicians, help promote NT and Open-VMS as two pieces of a three-tiered client/server networking solution, and promise to maintain NT support for the Alpha processor. Microsoft also paid Digital between 65 million and 100 million dollars.

The Evolution of NT and VMS
Although Microsoft presents NT as a homegrown OS, NT is actually much older than its official 1993 birthdate. NT contains architectural and design influences from another company's flagship OS. Interestingly, throughout the 1990s, Digital introduced many NT features to VMS, and Microsoft has added VMS developments to NT. For example, VMS featured native clustering support in 1984, and 64-bit memory and system APIs in 1996. Microsoft did not introduce clustering support to NT until late last year­and only on a limited scale­and several years might pass before Microsoft releases 64-bit NT. Reciprocally, Microsoft released NT's first version with support for kernel-mode threads, system-wide event logging, and a configuration database called the Registry. VMS introduced kernal-mode threads in VMS 7.0 in 1995, and VMS 7.2 will include NT-style event logging and a Registry.

The saga goes on. Now that Compaq has acquired Digital, will VMS continue to evolve, or will NT seal the fate of its predecessor? One thing is certain: NT will continue to grow, leaving its origins further and further behind.

Related Content:

ARTICLE TOOLS

Comments
  • Rishi
    6 years ago
    Sep 25, 2006

    We enjoyed reading it a lot and we really appreciate the work done by Cutler.

  • Anonymous User
    7 years ago
    Jul 22, 2005

    Linux sucks big time....comparing to NT...



  • Anonymous User
    7 years ago
    Jul 15, 2005

    Everything comes from somewhere. Linux was not written from scratch. The kernel was coded from scratch, but the ideas and philosophy behind Linux can be traced back to the original AT&T UNIX system. Likewise, much of the software for Linux (C compiler, X Windows, filesystem utilities, etc.) was available on the various UNIX systems long before Linux was even a thought.

    The difference, of course, is that Linux *legally* used the ideas and designs already available. Microsoft cannot claim the same thing; by using VMS code in NT, they actually committed copyright infringement. If DEC patented any parts of their system, then MS would also have committed patent infringement.

    All in all, this was an interesting and humorous article. I never knew the history of NT either, but at least MS took the design from a stable and robust OS. The instability is not NT's fault; the stability problems come from third-party drivers and poorly written applications, which Microsoft has no control over. I can write a device driver for Linux that will crash the system (guess how I know :) ) too.

  • Anonymous User
    7 years ago
    Jun 29, 2005

    You missed perhaps the most interersting part - the Digtal lawsuit that followed. MS was going to lose so they settled out of court. But the joke was on DEC because although they settled for $50M, it was all in forms that ultimately benefited MS. One part of the deal included MS subsiding the creation of Digital's MS Services practice and the training of DEC's personnel. But this was a move MS was going to make anyway in order to create a global enterprise-class support org such that MS could claim as many MCSE's were certified on NT and there were Unix support professionals in the market. Thus MS could be positioned as enterprise-ready and as supportable as Unix. Secondly, MS guaranteed they'd outsource a large % of their helpdesk calls to Digital call centers. Again, this was MS's model anyway. In that time period when you made a call to the MS helpdesk, and the person on the other end answerered "Hello. This is Microsoft, can I help you?" you were actaully talking to a Digital, NCR, HP, or Vanstar employee in their respective call centers. And even this arrangement was a joke because MS paid so little to DEC and other support partners on a per-incident basis (I recall the math was $25 per call which meant over 10-15 min's in length and you lost money on that particular call), and MS required so much reporting infrastructure and annual training hours, that the support vendors were left with no margin. In the end most of the big vendors finally got out of the MS desktop support business because it was a money loser.

    All of this came out of the theft of VMS! Even when they get caught they win.

  • Anonymous User
    7 years ago
    Apr 13, 2005

    Fantastic article. I have used both VMS and Win/NT intimately for the last 20 years, and Mark's article is right on the money.

You must log on before posting a comment.

Are you a new visitor? Register Here

advertisement

advertisement

Windows is a trademark of the Microsoft group of companies. Windows IT Pro is used by Penton Media Inc. under license from owner.