The Evolution of Microsoft Windows ~ The Windows NT Family

written by: Aktaz Lineda; article published: year 2006, month 10;


In: Root » Computers and technology » Microsoft OS family » The Evolution of Microsoft Windows ~ The Windows NT Family

Dutch French Spanish Portuguese Italian German Japanese Chinese Korean Russian Arabic Bookmark and Share this Article

In April 1987, Microsoft and IBM announced a new operating system initiative, called Microsoft Operating System 2, or OS/2. This was to be the platform to replace DOS, and would be fully 32-bit, memory-protected, preemptively multitasked operating system, written from the ground up. Microsoft and IBM worked on the project jointly, but shortly after the release of Windows 3.0, the relationship soured, and eventually ended.

IBM and Microsoft each continued to work with the project independently. IBM continued to develop OS/2 version 2 on its own, as we mentioned earlier. Microsoft took its initial work on what was to have become OS/2 version 3, and took it in a different direction. In 1988, a team led by Dave Cutler, who was the architect of the RSX-11 and VAX/VMS operating systems for Digital Equipment Corporation, rechristened the project Windows NT, and redesigned and rewrote the "kernel" or minioperating system on which Windows NT was to be built.

Version 3.1

The first release of NT was given version number 3.1 to match the contemporary 16-bit version of Windows. (Magazines of that era claimed the number was also chosen to make it seem more likely to be reliable, as anyone knew that a ".0" release of anything was bound to be buggy.)

Its user interface was visually that of Windows 3.1 but the entire system had been written from scratch; no MS-DOS or Windows 3.1 code was used. From a programming standpoint, as we mentioned earlier in our discussion of Window 9x, a "flat" 32-bit address space freed applications from having to manage 16-bit memory segment registers and their 64KB boundaries. The Windows Application Programming Interface (API) was modified to use 32-bit values in all communication between Windows and applications. This required Windows programmers to make some minor modification to their code in the process of developing applications for the new environment, but the effort required was surprisingly small. Device drivers were completely redesigned, and application programs were totally isolated from each other; it was not possible for an errant application to mangle information stored in memory used by other applications or by Windows itself. And, internally, Windows was made much more robust. For example, an errant application could be terminated, and all of the memory, graphics, files, and other resources it had been using were automatically released and made available for reuse by other programs. These were, of course, not new features for operating systems in general, but it was huge improvement over MS-DOS and Windows 3.1.

Windows NT could still run MS-DOS applications, but MS-DOS itself was not present at all. A clever program called the Windows NT Virtual DOS Machine (NTVDM), using technology Microsoft licensed from Insignia Solutions Inc. that had originally been created to run MS-DOS applications on the Macintosh, provided DOS applications a "fake" DOS environment. NTVDM intercepted the DOS application's attempts to interact with DOS, the display adapter, and other hardware, and issued Windows NT requests to perform the desired functions. A similar (although less complicated) mechanism let Windows NT run 16-bit Windows applications without modification.

Version 3.1 was released August, 1993 in two versions: Workstation, for use by an individual, and Advanced Server, which was basically the same operating system but with a different licensing scheme that allowed it to be used as a file server for larger organizations. Windows NT had taken five years to build, from the point that David Cutler signed on until its release.

The intent was to build a highly reliable system by keeping the NT kernel small, and moving as much code as possible outside of the kernel so that bugs and crashes could cause only limited damage.

Sticking to this concept has made the Novell NetWare, UNIX, and Linux operating systems exceedingly robust, and it might have done so for Windows NT as well. However, this initial version was unacceptably slow, and in subsequent versions, Microsoft moved more and more of the graphical interface program code into the kernel. There, it could run faster, but this brought increased risks that a bug in an errant driver or Windows module could take Windows down with it.

Windows NT 3.5

In April 1994, Microsoft released Windows NT 3.5, in both Workstation and Server versions. This version showed improved performance and reduced memory requirements. This was the first really usable version. Version 3.51 was released in June 1995 and included modifications to make it able to run applications designed for Windows 95.

Windows NT 3.5 servers could not only be licensed to provide shared file service to more than 10 simultaneous users, but could also act as domain controllers, offering authentication (password verification) services for corporate networks. This meant that user accounts could be managed in one place (the server) rather than on each individual workstation.

Windows NT 4.0 Workstation

By the time Windows NT 4.0 was released in August 1996, Microsoft had had time to not only significantly improve NT's performance and reliability, but also to incorporate the Windows 95 user interface, including the Start menu, so the Windows 3.1 program manager was finally left behind.

However, the most significant improvement was the addition of the NTFS file system. Up until this time, all versions of Windows used hard disks formatted with the FAT file system, which Microsoft acknowledges was written in a hurry with only floppy disks in mind. It turned out that FAT-formatted disks were quite vulnerable to data loss due to crashes and power outages. FAT also provided no means of restricting access to files based on usernames, passwords, or other credentials.

Microsoft had worked with IBM to develop the High Performance File System (HPFS) for OS/2, and was able to apply lessons learned there to NTFS. Its goals were:

  • Reliability Protection of changes to directory entries and file sizes against loss due to crashes or power outages, by encapsulating them as "transactions."
  • Security Fine-grained control of who is allowed to create, read, modify, delete, or manage files and folders. An auditing system makes it possible to track who has succeeded or failed to make changes as well.
  • Capacity The ability to handle terabytes of disk capacity.
  • Efficiency Better use of disk space, smaller allocation units, and less I/O needed to read and modify disk structures.
  • Long filenames The ability to store filenames up to 255 characters.
  • Data spaces The ability to store parallel, separate sets of data for a given file. This is used, for example, to accommodate alternative filenames and extended directory information used by different operating systems served by an NT-based file server, or the Macintosh's data and resource forks.

Windows NT 4.0 Workstation was meant as a highly reliable operating system for corporate systems, workstations, and servers.

Windows NT 4.0's Server version included additional networking services such as Windows Internet Naming Service (WINS), Dynamic Host Configuration Protocol (DHCP), Domain Name Service (DNS), Remote Access Service (RAS, a dial-up networking service), and others.

Windows 2000 Professional

Windows 2000 was to have been named Windows NT 5.0, but at this point Microsoft had officially gone berserk with its naming schemes. Windows Me was in the works, and Microsoft would now decide to rearrange their naming schemes for every successive version of Windows. Released in February 2000 after many delays, Windows 2000 was a significant advance in both functionality and reliability. It provided many advantages over Windows NT 4.0, just a few of which are listed here:

  • FAT32 support (up to 32GB per partition) in addition to NTFS and FAT16
  • Windows 98 user interface
  • Microsoft Management Console (MMC) for many maintenance functions (although the split of functions between the Control Panel and the Computer Management MMC tools was somewhat arbitrary and confusing)
  • Support for up to 4GB of RAM
  • A unified driver model, shared with Windows Me, so that hardware vendors could supply a single driver that could be used on either operating system
  • Greatly improved reliability
  • NTFS improvements including reparse points, which give Windows 2000 the ability to redirect file accesses to alternative drives or servers, a UNIX-like mountable file system, and UNIX-like links (multiple directory entries for a single file)
  • Dynamic disk support, which permits on-the-fly partition resizing
  • Improved setup and software installationfewer reboots required, and the Windows Installer service makes it easier to correctly uninstall or repair applications.
  • Plug and Play hardware support, multiple monitors, USB, and FireWire support
  • Safe mode and Recovery Console boot options, to maintain and repair unbootable systems
  • Active Directory, an enterprise management and security tool that allows very fine-grained delegation of management and security policy settings, automatic application deployment, and other services
  • ACPI power management including suspend and hibernate modes, to make it possible to use on laptops.

Windows 2000 was released in several licensing versions:

  • Windows 2000 Professional, for individual users. Dual-processor systems were supported under the Professional license. Windows 2000 Professional became the desktop operating system of choice for business users, luring the last of the Windows 3.1 holdouts into upgrading.
  • Windows 2000 Server, for file server use. Up to four processors supported on the computer's motherboard.
  • Windows 2000 Advanced Server, supporting up to eight processors in a single system and 64GB of RAM (recall that segment registers are still present in 32-bit Protected Mode. At most 4GB of RAM is visible to any one application but if the motherboard is designed for it, Windows can juggle the segment registers to give more applications that much RAM without paging).
  • Windows 2000 Datacenter Server, supporting up to 32 processors in a single system, and clustering, which links redundant servers to permit continuous operation should one fail.

Support for all of the early RISC processors was dropped and Windows 2000 was provided only in versions for the standard Intel x86 (IA-32) architecture.

Windows XP

Released in October 2001, Windows XP officially ended the Windows 9x product line and brought Windows NT to the masses, er, to the consumer. With XP, Microsoft finally managed to make the NT product reasonably compatible with the pool of remaining DOS games and applications (it helped that this pool had been dwindling over the years). Microsoft also made it simple enough to manage, and attractive enough to appeal to end consumers. It also didn't hurt that Microsoft could finally promise and actually deliver a truly reliable operating system. This in itself is remarkable given how much Windows had grown. The original version of Windows fit on two floppy disks. Windows XP required 2GB of disk space just to install. The massive amount of code can be seen in the number of lines of source codethe raw programming text typed by Microsoft's programmersestimates of which are listed in the table below:

Lines of Code in Windows
Version Million Lines of Code
Windows NT 10
Windows 95 15
Windows NT 4.0 16
Windows 98 18
Windows 2000 30
Windows XP 40 to 45

This is really a staggering amount of code, given that it's estimated that a typical programmer can produce about 100 lines of quality program code per day. If that's true, Windows XP is the product of 1,800 person-years of effort (assuming those persons get weekends off, and two weeks of vacation a year).

Windows XP introduced several enhancements over Windows 2000:

  • Improved graphical design. Derided by some as "cartoony" at first, it has sort of grown on us.
  • Simple File Sharing makes it easier for consumers and small offices to manage file security on a network and on a given computer when NTFS is used.
  • System Restore, which performs automatic backups of system programs, components, and the Registry at regular intervals and before installing new applications.
  • Fast User Switching makes it possible for several users to be logged on simultaneously, although only one person can use the computer at a time.
  • Remote Desktop allows a user to view and control a Windows XP Professional computer over the Internet.

XP was released in two versions in both Home and Professional versions. XP Professional is the everything-but-the-kitchen-sink desktop operating system and has a licensing allowance for two processors on the motherboard. XP Home Edition, which permits only one processor, had several features that were either restricted or removed. For example, Simple File Sharing cannot be disabled; the Power Users management group cannot be used; and File Encryption, Offline Files, Remote Desktop hosting and domain membership are not available.

Note

Microsoft does not count multicore or hyperthreading CPUs as multiple CPUs for licensing purposes. A dual-core CPU with hyperthreading looks like 4 CPUs to Windows but Windows XP Home Edition will still run on it.

Windows XP Service Pack 2 introduced several additional features and significant security fixes. The three most important additions were
  • An improved Windows firewall, which helps prevent damage and abuse to the system from over the Internet
  • Windows Security Center, which detects and notifies the user of out-of-date antivirus protection and less-than-optimal security configurations
  • Improvements to Internet Explorer to prevent its being hijacked by malicious websites
  • Improvements to Outlook Expressfinally!to prevent its automatically displaying graphic and script content, which can notify spammers that their email has been read

Windows XP was not released in server versions. Instead, Microsoft released the successor to Windows 2000 Server with the name Windows Server 2003 (remember, we said they'd gone berserk).

We won't discuss Windows Server versions in any detail here because our focus is maintenance of Windows XP, and to a lesser extent, earlier single-user versions of Windows.

At this point, Microsoft has decided to call the successor to Windows XP "Windows Vista." Due in the second half of 2006, Vista promises to offer greatly improved graphics and file-searching capabilities.

Disclaimer

1) E-articles is not responsible for the information contained by this article as well for any and all copyright infringements by authors and writers. E-articles is a free information resource. If you suspect this article for any copyright infringement, please read the terms of service and contact us to investigate the problem.
2) E-articles is not responsible for inaccuracies, falsehoods, or any other types of misinformation this article may contain and will not be liable for any loss or damage suffered by a user through the user's reliance on the information gained here.

link to this article