Favorites
What is Windows NT

What is Windows NT

Windows NT (New Technology). Windows NT is the result of a schism between Microsoft and IBM in their joint development program for OS/2 Presentation Manager. In 1988 Bill Gates commissioned the creation of a new operating system. The premise for the design of this new operating system was portability, security, compliance and compatibility, scalability, extensibility, and ease of internationalization. This meant that the system would need to run on different hardware platforms with minimal changes; it could be locked down through software, meeting NSA's C2-level criteria; it would be POSIX-compliant and run existing Windows applications; it would support symmetric multiprocessing (SMP); it could be easily expanded on by writing to a well-defined application programming interface (API); and it could easily be ported to run in numerous different languages and writing systems, with minimal modifications to the software. (See Table 1.1.)

To design this system, Microsoft hired David Cutler, an operating system designer with Digital Equipment Corporation (DEC), and a group of his co-workers from DEC. David was renowned for his work on DEC operating systems, including RSX-11M (which helped turn DEC's PDP-11 mini-computer into a great world-wide success), and on his work with the VAX architecture.

Microsoft launched Windows 3.0 on May 22, 1990. Windows 3.0 was an instant success, overwhelming IBM's nascent market for OS/2 on the desktop. On September 17, 1990, Microsoft and IBM announced a division of responsibility for the continued development of OS/2. IBM alone would work on the 1.x and 2.x versions, while Microsoft was to be responsible for the advanced 3.x versions. OS/2 3.0 was specified to be a 32-bit, portable, multiprocessing, preemptive multitasking operating system with advanced security features.

In the fall of 1991, with Windows assured a dominant role on the world's desktop PCs, Microsoft played its Windows NT hand. Steve Ballmer, Microsoft's vice president of marketing, stated that OS/2 "was dead" if IBM didn't agree to use the Windows NT kernel as the foundation for OS/2 3.x. IBM, which even in 1991 was calling its beta version of OS/2 2.0 "better DOS than DOS, better Windows than Windows," wasn't about to adopt the kernel of a Windows-centric operating system for OS/2 3.0. On its own, IBM began to develop what ultimately became the first version of OS/2 Warp, a 32-bit operating system that primarily ran 16-bit (only) Windows applications and offered neither portability nor multiprocessing capabilities.

Windows NT 3.1

Microsoft released Windows NT 3.1 and Windows NT 3.1 Advanced Server for Intel and MIPS processors in August 1993. The version number came from Windows 3.1, whose graphical user interface (GUI) Microsoft grafted to Windows NT. The Advanced Server version, designed to replace LAN Manager running under Microsoft's OS/2, supported the NetBEUI protocol and included a primitive TCP/IP stack.

Prospective users were put off by what were then considered to be Windows NT's humongous resource requirements: 16M of RAM and 100M or so of fixed-disk space just to run the operating system. Windows NT required hardware vendors to write new 32-bit device drivers for their products, which limited support for existing adapter cards and peripherals. Sales of Windows 3.1 continued to boom, but the market for Windows NT 3.1 failed to meet Microsoft's optimistic projections. According to industry reports, total sales of both versions of Windows NT 3.1 were in the low hundred thousands, most of which were for evaluation, not production use.

Windows NT 3.5 and 3.51

The cost of PCs capable of running Windows NT declined dramatically during 1994. The price of dynamic RAM (DRAM) plummeted, as did the price per megabyte of fixed-disk storage, minimizing the hardware cost penalty for adopting Windows NT. During this period, Dave Cutler's Windows NT development group labored to reduce the minimum RAM requirement, enhance networking features, improve overall performance, and port Windows NT to Digital's Alpha AXP RISC (Reduced Instruction Set Computing) processor. The result of this effort was the September 1994 introduction of Windows NT 3.5, which reduced RAM requirements by about 4M.

The most significant improvements in version 3.5, however, were the addition of NWlink (Microsoft's IPX/SPX stack for NetWare), and substantial improvements to the TCP/IP stack and TCP/IP administration tools. Microsoft changed the default network protocol from NetBEUI to IPX/SPX, but it was the inclusion of TCP/IP features, such as WINS (Windows Internet Naming Service), DNS (Domain Name Service), DHCP (Dynamic Host Configuration Protocol), and support for PPP (Point-to-Point Protocol) and SLIP (Serial Line Internet Protocol) over RAS (Remote Access Service) that made corporate network administrators take Windows NT 3.5 seriously as a production network server, as well as a database server. Windows NT 3.5 also included remote server administration tools that ran under Windows for Workgroups 3.1.

Microsoft announced its BackOffice 1.0 suite simultaneously with the release of Windows NT 3.5. BackOffice 1.0 included Windows NT Server 3.5, SQL Server 4.21a, SNA Server 2.1, System Management Server 1.0, and Microsoft Mail Server 3.2. Like the Microsoft Office productivity software suite, the BackOffice bundle offered a substantial discount on the license fees for the individual server components. 

Microsoft announced the Windows NT Workstation and Server 3.51 update on June 12, 1995. The primary objective of version 3.51 was to support Windows 95's common controls and common dialogs in order to run forthcoming 32-bit "Designed for Windows 95" applications under Windows NT. Windows NT 3.51 also supplied selective NTFS data compression and limited support for PC Card (then PCMCIA) adapters. Windows NT 3.51 added minor enhancements to OLE, including support for "NetworkOLE 0.9" (the precursor of Windows NT 4.0's Distributed COM), which lets developers with Visual Basic 4.0 Enterprise Edition deploy Remote Automation Objects (RAOs) for three-tier client/server database applications.

The "Shell Update Release" and Windows NT 4.0

Press hoopla surrounding the release of Windows 95 relegated Windows NT to bit-player status during the latter half of 1995. Windows 95 greatly enhanced usability and made network installation a snap, but required at least 8M to run most applications reasonably well and 16M for 32-bit mega-apps, such as Access 95. Direct-mail and retail PC suppliers preinstalled Windows 95 on virtually all of their systems destined for the home and small-business markets.

Most corporate and institutional buyers, however, shunned Windows 95 for a variety of reasons, not the least of which were the costs of adding needed RAM, user training, 32-bit software upgrades, and lost productivity during the migration to a new operating system. The perception that Windows 95 was a 16-bit/32-bit kluge and was less robust than Windows NT contributed to lack of short-term success of Windows 95 in the corporate environment. The vast majority of people who tried Windows 95, however, agreed that the Windows 95 UI was a substantial improvement over that of Windows 3.1+.

Microsoft correctly assumed that after a person used Windows 95 for any length of time, he or she would consider the Windows 3.1+ UI of Windows NT Workstation 3.51 to be klutzy, at best. To answer this problem, Microsoft released an unsupported alpha version of the Shell Update Release (SUR) for Windows NT 3.51 in late 1995. The alpha SUR had a variety of problems but demonstrated the feasibility of grafting the Windows 95 UI to Windows NT 3.51. (Fortunately, you could uninstall the UI update easily.) Microsoft's initial plan was to provide the SUR in the form of a Service Pack (maintenance release) for Windows Workstation and Server 3.51+. Even though a 4.0 version number appeared when the alpha SUR was installed, Microsoft representatives insisted that version 4.0 was reserved for the "next major release of Windows NT" (a.k.a. Cairo).

It's relatively uncommon for administrators to work at the server console. You can perform the most common server administrative duties remotely from Windows NT 4.0 or Windows 95 clients. Thus, the Windows 95 UI currently is of more importance to users of the Workstation version than to administrators responsible for the Server version of Windows NT 4.0. Grafting the Windows 95 UI to Windows NT Server 4.0 is a necessity for the transition to a common object model for future versions of Windows NT and Windows 95.

Microsoft released the first beta version of the SUR-now known as Windows NT 4.0-in early 1996. Beta 1 had the Windows 95 UI in place but lacked many of the promised features. Microsoft distributed Beta 2, a full-featured version, to more than 200,000 testers in late May 1996. According to Microsoft, the Windows NT 4.0 beta program was the most widespread in the firm's history of Windows NT beta testing. The final version of Windows NT 4.0 was released to production on July 31, 1996. The first recipients of Windows NT Server 4.0 were to manufacturers for preinstallation on server PCs.

Windows NT Heart and Soul

The internals of Windows NT were written from scratch and centered around a microkernel-style architecture similar to UNIX. This microkernel gave Windows NT preemptive multitasking. Additionally, Windows NT made use of process threads—an idea popularized by Carnagie Mellon's MACH operating system—to support symmetric multiprocessing.

Using this microkernel as the foundation, Cutler's team added a number of features and services, including an integrated security subsystem, an abstracted, virtualized hardware interface, robust multiprotocol network support, fault tolerance, integrated GUI management tools, and much more.

When NT was finally released, Microsoft came to market with two different versions, Windows NT 3.1 and Windows NT Advanced Server 3.1. While these two products represented a tremendous achievement, their lack of compatibility with existing Windows programs and their steep hardware requirements prevented them from making significant in-roads in the network operating system environment, which was dominated by Novell's NetWare product.

In autumn 1994, Microsoft released NT 3.5. This release incorporated a number of important changes and enhancements, such as multiprotocol remote access services using the point-to-point protocol (PPP), a reduced memory footprint, extensive bug fixes, a rewritten TCP/IP stack, and much more. Additionally, Microsoft renamed the products to Windows NT Workstation and Windows NT Server, which, coupled with a further optimization of the internal architectures, helped to better define the exact role of each product.

It was with this release that Windows NT began to legitimize its claim in the server market. The computer press began to turn out favorable reviews of NT Server and some people even began to predict that it could challenge Novell's market dominance.

However, Microsoft upstaged itself with the forthcoming release of Windows 95, relegating Windows NT to the back stage. The 1995 release of Windows NT 3.51 added to the networking functionality and offered a greatly enhanced suite of server products known as BackOffice. With Windows NT 3.51, Microsoft began to be taken seriously as a real threat to NOS vendors like Novell.

With the 4.0 release of NT, Microsoft has made a concerted effort to make Windows NT the standard by which all others are judged. NT Server 4.0 includes not only the Windows 95 user interface, but a host of other features, such as Network OLE, Internet Information Server (IIS) 2.0, RAS multilink and RAS autodial, Point-to-Point Tunneling Protocol (PPTP), fully integrated DNS and WINS, integrated multiprotocol router, expanded driver support, improved performance, and much more.

Incorporating the Windows 95 user interface represented NT’s single most important advancement and, since its release in late 1996, Windows NT 4.0 experienced significant market acceptance. In fact, Microsoft internally referred to NT 4.0 as the Shell Update Release (SUR), referring to the Windows 95 front-end. Windows NT 4.0 also added the Distributed Common Object Model (DCOM) and enhanced Domain Name Server (DNS) support for its TCP/IP transport. A great number of components to the optional BackOffice suite were added, in particular the Exchange Server. Despite its many enhancements though, Windows NT 4.0 did experience a number of real and perceived shortcomings, especially within larger enterprise environments.

16-bit and 32-bit Operating Systems

If you ask about the differences between a 16-bit and a 32-bit operating system, you'll get all kinds of responses. Very often they try to compare apples and oranges and mix them together with unrelated, but seemingly important "facts."

The essential difference between 16-bit and 32-bit operating systems is the way they handle internal structures. Additionally, some processors are optimized to work with structures of a particular size.

I'm not saying there isn't a difference. In fact, when we're talking about Microsoft Windows operating systems, there is a big difference between 16-bit and 32-bit versions. For example, one of the features of the 32-bit Microsoft operating systems, is support for a 32-bit protected, flat memory model, which provides cleaner memory management than 16-bit Windows, and allows programs to create and address very large data structures.

The base of 32-bit Windows operating systems is a complete 32-bit kernel. The kernel does things such as system scheduling and memory management. Additionally, the 32-bit OS enables us to use 32-bit device drivers, which, among other advantages, enable the operating system to communicate with devices faster.

Most of the other features that come from 32-bit Windows operating systems come from their support of the Win32 API. This API set can only be fully implemented on a 32-bit kernel, such as Windows NT and Windows 95. Some of the advantages of the Win32 API are long filename support, 32-bit installable file systems, and better management of system resources. 

No More DOS

Perhaps one of the greatest accomplishments for Windows NT was to get rid of DOS completely. In fact, when Microsoft first began work on the NT project, there were no firm plans to enable NT to run DOS or Windows applications. This, along with the fact that NT was conceived and designed by a group of programmers new to Microsoft, should be a convincing enough reason to believe that there is no DOS in Windows NT.

Windows NT contains no DOS code in the operating system. Everything is done through emulation of standard DOS calls. Windows 95, in comparison, still relies on actual DOS code to run DOS applications. Windows 95 is actually two full operating systems in one package: Windows 4.0 and DOS 7.0.

Although there is no DOS, Windows NT is still able to run the vast majority of DOS programs as long as they don't try to directly access the hardware or require special device drivers. It does this by creating a virtual DOS environment called the NT Virtual DOS Machine (NTVDM). The DOS program runs in this emulated DOS environment. NT traps the DOS calls and converts them to standard Win32 API calls. In fact, this process means that certain DOS programs, such as disk intensive programs, can actually run faster in Windows NT than on a standard machine running DOS. Additionally, because the NTVDM provides emulated support for things like mouse driver, network drivers, and CD-ROM drivers, you can actually get more free "conventional" memory in an NTVDM than would ever be possible running real MS-DOS.

Design Objectives of Windows NT Server

As mentioned previously, there was a definite set of goals in mind when Microsoft began developing Windows NT. These goals played a fundamental role in making NT the product it is today, and no discussion of Windows NT could be complete without addressing them. 

Client/Server Operating System

When David Cutler was first brought to Microsoft to design the operating system that became Windows NT, he was sold on the idea that the operating system should be based on a client/server design. Under this paradigm the entire operating system would be divided into small self-contained units and would communicate with each other by passing well-defined messages back and forth. A unit that needed a service would pass a message to a unit that could provide the service. The requestor is the client and the provider is the server.

User programs, for example, would usually be the clients. They would request services from the protected subsystems, which in this case would be the servers. The protected subsystem would in turn play the part of a client and request services from other parts of the system.

The idea here is that each small portion of the operating system would run in its own protected memory space and would be isolated from interference from errant or invasive programs running on the system. Additionally, if a single server went down, it would not take down the rest of the system. 

Flat, 32-bit Memory Model

Remember DOS? DOS was designed as a 16-bit operating system. This meant that memory structures could be addressed 16 bits at a time. Okay, so what does that mean? Well, two examples of where this 16-bit limit created crippling effects on Windows 3.x is in memory addressing and also in the file allocation table (FAT) scheme used for storing disk data.

With memory management, the 16-bit nature of DOS required that everything be written to 64k (16-bit) code segments because you couldn't address anything larger than that. This process made writing software more difficult and cumbersome.

With the FAT, the 16-bit limit meant that only 65,536 clusters could be addressed on a single volume. Because at the time DOS was developed disks were very low capacity, this was not an issue. However, with today's high-capacity hard drives, this is a problem that results in enormous amounts of wasted space on large drives.

To maintain compatibility, the NT version of FAT, called VFAT, still uses a 16-bit address for addressing clusters, limiting a FAT volume on FAT under NT to 65,536 clusters. Windows NT's solution to this limitation was to introduce a new file system—NTFS. Microsoft also introduced a new 32-bit version of FAT for Windows 95 that corrects this problem.

Because Windows NT is a 32-bit operating system, it uses 32-bit addresses to access objects. This results in many advantages, one of which is NT's use of a 32-bit flat memory model as opposed to DOS's 16-bit segmented memory model. The 32-bit flat memory model enables NT to address 4,194,304KB (four gigabytes) of memory.

Reliability Through Protected Memory Model

One of the other concepts NT introduced into the Windows product family is the protected memory model. Windows 3.x inherited its memory structure from DOS. In this model, all programs essentially had access to any memory location, including memory segments belonging to the operating system itself. This meant that if an application misbehaved, it could accidentally write to a memory location belonging to another program, or even to the operating system itself. This resulted in a great deal of the instability of the Windows 3.x products. One misbehaved application could, and usually did, bring down the entire system.

In addition to accidental problems, the other down-side of this model was that any application could read information belonging to another, and thus no data was secure. A virus, for instance, could be written to snatch information, such as passwords, as the user entered it.

In Windows NT's memory model all processes get their own 32-bit address space. This 4GB space is divided in half, and the application can only really use the lower 2GB of space. The upper 2GB is for interfacing with other parts of the system. In this way, every process effectively thinks it is the only thing running. There is no way for a process to read or write outside of its own memory space, either accidentally, or intentionally. This has two very positive results. First, it prevents ninety percent of the system crashes that occurred in Windows 3.x. Second, it provides security for each process.

Some 16-bit applications expect to run in a shared memory space with other programs, and some even rely on this to work properly. For this reason, Windows NT runs 16-bit applications in a shared memory space by default. This means that one 16-bit application could potentially interfere with other 16-bit applications in the shared memory space.

Preemptive Multitasking

There are two major types of operating system multitasking: cooperative and preemptive. The most common form on personal computers is cooperative multitasking, which is used by Windows 3.x and Apple's Mac OS.

In a cooperative multitasking environment the operating system gives control of the system to a particular application so it can run. When that application is finished, it returns control of the system to the operating system, which then gives control to the next application. Windows 3.1 uses a message queue to signal when an application was supposed to give up control. Applications were supposed to be written to check this queue regularly.

In this methodology, applications are expected to be good citizens, keeping control of the system only as long as necessary before passing control back to the OS. The downside here is that a single misbehaved application can seize control of the system, leaving everything else, including the operating system itself, starving for CPU time. Additionally, if a program crashes without returning control to the operating system, the entire system can hang.

In contrast to this is the preemptive multitasking model. The most common foundation for preemptive multitasking is a micro-kernel design, such as Windows NT and UNIX. With preemptive multitasking, the micro-kernel always maintains control of the system. It gives processes specific slices of time in which to run. At the end of that allotted time, the micro-kernel preempts the running process, and passes control to the next process.

An additional factor that needs to be addressed when discussing multitasking is the presence of non-re-entrant code. In a multitasking system there is often the need for a single segment of code to be simultaneously executed by more than one process, or even by multiple threads in the same process. Code that is written to support this is known as re-entrant code, while code that was not designed with this in mind is called non-re-entrant. Thus, in order to support full multitasking, the operating system code and the application code must be fully -re-entrant. All the operating system code in Windows NT is re-entrant.

For comparison, note that although Windows 95 provides a preemptive multitasking environment, large portions of the GDI and User routines are non-re-entrant. This was done to maintain full backward compatibility. The result is that Windows 95 "turns off" preemptive multitasking whenever an application accesses a piece of the non-re-entrant code. It has to do this to prevent possible application deadlock where two or more processes fight for access to the same piece of non-re-entrant code. Windows NT does not have this limitation.

Portability

In 1994 or so, public opinion in the computing industry was that Intel's x86 architecture, which included the 8086, 80286, 80386, i486, Pentium processors, would eventually run out of steam. Intel's newer microprocessors would have to devote an increasing amount of valuable silicon and transistors to maintain compatibility with the older chips. The prediction was that eventually this would reach a point of diminishing returns. DOS and Windows were tied to this Intel chip family both because of the programs that were written to run on them, and also because of the reliance on assembly language programming to squeeze speed out of the operating systems.

Intel has spent lots of money and come up with some very creative chip designs to prove the nay-sayers wrong and help keep the x86 family alive. Ultimately, as the programs themselves become more and more portable, the need for hardware compatibility with the older architecture diminishes.

Part of the key to Windows NT's portability is the hardware abstraction layer (HAL), which hides the difference in actual hardware from the higher level operating system software. The HAL makes all hardware look essentially identical to the rest of Windows NT.

Scalability

As it relates to Windows NT, scalability is used to refer to NT's capability to take full advantage of multiple processors in a single system. The key to scalability in Windows NT is symmetric multiprocessing (SMP). The SMP design in Windows NT Server enables you to run it on system with from 1 to 32 processors with up to four gigabytes of memory. NT dynamically assigns system and application threads for execution on different processors. The internal operations of Windows NT are designed to take full advantage of SMP systems.

Scalability, however, is not limited by the design of the operating system alone. Both the application software and hardware play a key role in determining the benefits of SMP. If an application is not designed to make effective use of the SMP environment, you might not gain worthwhile performance improvements by using SMP hardware. Likewise, the quality of the SMP hardware can greatly affect the performance of your system. 

Personality/Compatibility

Personality is the key to compatibility. Most operating systems, such as DOS, are limited to a single personality. DOS can only run DOS programs. However, Windows NT was designed to support multiple simultaneous personalities. When Microsoft first began working on NT, they planned that it would support the OS/2 Presentation Manager interface as its primary personality. However, as the project continued, and the success of Windows grew, the Windows interface became the primary personality. In addition, Windows NT supports a POSIX personality, an OS/2 personality, and a DOS/Windows personality. Additional personalities, such as a full UNIX personality can easily be added.

Localization

Microsoft recognizes the value and importance of products that integrate into the global marketplace. Windows NT is available in localized versions for Brazilian, Chinese, Danish, Dutch, Finnish, French, German, Italian, Japanese, Korean, Norwegian, Portuguese, Russian, Spanish, and Swedish. In each of these versions, Microsoft has taken efforts to ensure that NT not only communicates in the particular language, but also employs standard idiom, uses correct punctuation in lists, dates, time, and numerical and currency output.

To support this localization, Windows NT uses the Unicode standard instead of the ASCII standard for representing characters. While the ASCII standard is popular in the United States, it lacks the capability to properly handle many of the characters needed in the international computing world. Unicode is a standard developed by a consortium of industry leaders, including Microsoft, Lotus, IBM, and Borland. While ASCII recognizes only 8-bit characters, meaning that a code-set can only contain 256 characters, the Unicode code-set is based on 16-bits, which means that it can represent 65,536 different characters.

Although Windows NT provides full support for the ASCII code-set, Windows NT stores and manipulates all internal data structures using Unicode. This enables Microsoft to quickly and easily localize Windows NT for different languages and regions, including full support for Japanese Kanji and Chinese traditional and simplified character sets. 

Security

When creating Windows NT, it was important that it meet a certifiable security standard. In this case, Microsoft chose to create Windows NT to meet the United States National Security Agency's C2 level evaluation criteria. By creating Windows NT based on a defined security model, Microsoft was able to guarantee that Windows NT would meet the most demanding corporate security needs. After all, the security of proprietary corporate data often translates directly into a monetary value for many corporations.

To enforce system security, NT has a robust security model that permeates every level of the operating system. This is unlike the flimsy security provided on other operating systems (including Windows 95), which is merely an easily broken wrapper on top of the operating system. 

Fault-Tolerance

In order for Windows NT to be accepted as an enterprise workstation and server product, it was important to enable it to gracefully handle abnormal conditions. This is the essence of fault-tolerance. Windows NT has many features that provide varying levels of fault-tolerance for the system. Included in NT's list of fault-tolerant features are NT's journal-based, recoverable file system (NTFS), disk mirroring and disk stripping with parity (RAID 1 and RAID 5), disk sector sparing, and support for an uninterruptible power supply (UPS). 

Network Operating Systems

Windows NT is both an operating system and a network operating system. With LAN Manager, OS/2 was the operating system and LAN Manager was the network operating system. This integration of the OS and the NOS has proved to be a formidable combination in Windows NT. 

What is a Network Operating System?

A network operating system has traditionally been a method for describing the methods and protocols used by network clients when communicating with a network server. The most common transactions involved here are file and print services. This is a very simplified description, but it demonstrates the typical mentality used when designing these systems. Effectively, the NOS is centered at the server or servers.

Microsoft, however, has traditionally had a different approach to this concept, which has been heavily promulgated by Novell. Most of Microsoft's network-related products have obscured the line between operating system and network operating system. Windows NT is definitely no exception to this.

As we move into a period in computing when the network becomes more and more an integral part of the entire environment, the concept of and the need for a network operating system will disappear or, if you prefer, simply swallow up the underlying standalone operating system. 

Windows 2000

  • Beta 1: Released September 27, 1997

  • Beta 2: Released August 20, 1998

  • Beta 3 Release Candidate: Released December 16, 1998

  • Beta 3 Release Candidate 1: Released March 17, 1999

  • Beta 3: Released April 29, 1999

  • Release Candidate 1 (RC1): Released July 2, 1999

  • Release Candidate 2 (RC2): Released September 15, 1999

  • Release Candidate 3 (RC3): Released November 11, 1999

  • Final release (RTM): Released December 15, 1999

  • MSDN Release: Released January 19, 2000

  • Manufacturer Availability: Released January 24, 2000

  • Final release (MultiLanguage Version RTM): Released January 24, 2000

  • Public Availability: February 17, 2000

  • Windows 2000 Datacenter Server Beta 2: May 23, 2000

  • Windows 2000 Service Pack 1 Release: July 31, 2000

  • Windows 2000 Datacenter release: September 29, 2000

  • Windows 2000 Service Pack 2 release: May 15, 2001

What’s In A Name?
A
pparently Microsoft believed much could be gained from shifting the name of its flagship operating system from Windows NT to Windows 2000. As NT stood for new technology, the 2000 moniker seemingly heralds in a millennium of computing. In renaming Windows 2000, the company has created a family of operating system products addressing the market spectrum from desktop to the enterprise.

Microsoft Windows 2000 is one of a series of operating systems in the Windows line. Windows 2000 comes in four versions: Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server, and Windows 2000 Datacenter Server. Additionally, Microsoft offers Windows 2000 Advanced Server, Limited Edition, released in 2001, which runs on Intel Itanium 64-bit processors.

All versions of Windows 2000 share certain new features. Some of the more significant of these features are:

  • NTFS5 - a new version of the NTFS file system
  • EFS - (Encrypting File System) allowing encryption of some or all files on a disk
  • WDM - (Windows Driver Model) an enhancement for hardware support

Windows 2000 introduced the WDM driver model to the NT kernel. WDM (standing for Windows Driver Model) is a multilayer driver model used to separate general functionality of devices from the specifics. For example, Microsoft may provide a standard USB driver that provides the basic functionality a USB device may use, such as raw bus protocol communication. The harware vendor then only has to implement a driver that provides the functionality specific for whatever the device does. This can greatly simplify driver programming, and keeps programmers from introducing bugs every time a basic device protocol is reimplemented for a new product. Additionally, WDM drivers are theoretically compatible with any version of Windows supporting WDM (Win98, WinME, WinXP) regardless of the kernel. Drivers are the leading cause of instability in Windows, and WDM addresses this.

Windows 2000 Professional is designed as a desktop operating system in business environments. It offers greater security and stability than previous Windows desktop operating systems.

The various server products share the same user interface with Windows 2000 Professional, but contain additional components for running infrastructure and application software. A significant component of the server products is Active Directory, which is an enterprise-wide directory service based on LDAP. Additionally, Microsoft integrated Kerberos network authentication, replacing the oft-criticized NT 4 authentication system. This also provided a purely transitive-trust relationship that someone else could probably explain better than me.

Windows XP

Windows XP is the next version of Microsoft Windows beyond Windows 2000 and Windows Millennium. Windows XP brings the convergence of Windows operating systems by integrating the strengths of Windows 2000—standards-based security, manageability and reliability with the best features of Windows 98 and Windows Me—Plug and Play, easy-to-use user interface, and innovative support services to create the best Windows yet.

Windows XP is built on an enhanced Windows 2000 code base, with different versions aimed at home users and business users: Windows XP Home Edition and Windows XP Professional. 

As Windows XP represents the convergence of the consumer line of Microsoft operating systems (Windows 95, Windows 98, and Windows Millennium) and the business line of Microsoft operating systems (Windows NT, Windows 2000), the new operating system offers extensive compatibility with third-party applications for both home and business users. Windows XP will be compatible with almost all of the top 1,000 applications that ran under Windows 9x, and almost every application that ran under Windows 2000, with the exception of anti-virus programs, system utilities, and backup applications. For the various specialized applications not tested by Microsoft in the development of Windows XP, Microsoft will offer an Application Compatibility Toolkit through the MSDN® developer program, which will help developers make their applications Windows XP–compatible.

Application fixes included in Windows XP help resolve application compatibility problems, such as those that occur when applications incorrectly detect the operating system version or when they reference memory after it has been freed. Fixes are invoked automatically by the operating system to make otherwise incompatible applications function; no user intervention is required.

In addition, as new applications appear or new fixes become available, application updates can be downloaded automatically from the Windows Update Web site using the Automatic Updates feature (introduced with Windows Millennium).

COM and Shared DLL Isolation Support

Windows XP has a new folder under Windows called “WinSxS” (Windows Side-by-Side). This area is used to store versions of Windows XP components that are built to reduce configuration problems with Dynamic Link Libraries (DLL) (DLL hell). Multiple versions of components are stored in this folder. Windows XP allows Win32® API components and applications to use the exact version of Microsoft components with which they are tested and not be impacted by other application or operating system updates. It does this by relying on XML files that contain metadata about application configuration such as COM classes, interfaces, and type libraries.

Windows XP Timeline

  • June 21, 2001: State attorneys concerned over Windows XP.
  • June 22, 2001: Microsoft President Steve Ballmer reveals XP source code plans.
  • June 26, 2001: Microsoft announces a billion-dollar marketing campaign for XP.
  • July 2, 2001: Microsoft releases to the public the first of two final testing versions of Windows XP.
  • July 18, 2001: Microsoft pulls Java from XP.
  • July 24, 2001: Key senator says any settlement with Microsoft should force it to open XP to rivals.
  • July 26, 2001: Privacy groups look to stop XP.
  • July 31, 2001: Microsoft invites Kodak to Windows XP demo stirring hope the developer will add other applications to the OS.
  • August 8, 2001: Despite threats of an antitrust assault, government intervention against XP seems less likely as ship date nears.
  • August 8, 2001: Microsoft reportedly gives PC makers approval to load new OS before October 25 launch date.
  • August 16, 2001: Fourteen organizations claim features in Win XP, specifically Kids Passport, violate privacy rules.
  • August 21, 2001: Microsoft's rush to get XP code to PC makers means Sun won't get its new version of Java on new machines.
  • August 24, 2001: PC makers to arrive at Microsoft in helicopters to receive final version of XP.
  • September 6, 2001: PC makers, retailers get OK from Microsoft to take advance orders for new operating system.
  • September 7, 2001: Memory prices halt three-month fall, but they could drop again before XP launches.
  • September 24, 2001: Microsoft gives computer manufacturers green light to ship XP-powered PCs a month ahead of schedule.

Windows Desktop Illustrated Timeline

 

Windows 1.0 Tile Windows 1985Windows 3.0 Control Panel and Print Screen 1990Windows 95 File Manager 1995Windows XP Control Panel 2001


Microsoft Windows Vista is an upgrade to Microsoft Windows XP and Windows 2000 users that was released to the public on January 30, 2007. Windows Vista contains a dramatic new look for users used to previous versions of Microsoft Windows that has been designed to help create an overall better experience. Below is an example picture of Microsoft Windows Vista as well some key new points pointed out.