Windows NT

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Windows NT


Company/developer: Microsoft
Source model: Closed source / Shared source
Kernel type: Hybrid kernel
Default user interface: Graphical User Interface
License: Microsoft EULA
Working state: Current

Windows NT (New Technology) is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was originally designed to be a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement consumer versions of Windows that were based on MS-DOS. NT was the first fully 32-bit version of Windows, whereas its consumer-oriented counterparts, Windows 3.x and Windows 9x, were 16-bit/32-bit hybrids. Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 (beta), and Windows Home Server are the latest versions of Windows, and are based upon the original Windows NT system (as was Windows 2000), although they are not branded as Windows NT releases.

Contents

[edit] Major features

A main design goal of NT was hardware and software portability. Versions of NT were available for a variety of processor architectures, namely Intel IA-32, MIPS, Alpha, PowerPC, SPARC, Intel i860, and Intel i960. Broad software compatibility was achieved with support for several API "personalities", including the primary Win32 API and limited support for POSIX and OS/2 APIs. For secure multiuser server solutions, NT supported per-object (file, function, and role) access control lists allowing a rich set of security permissions to be applied to systems and services. NT supported Windows network protocols, inheriting the previous OS/2 LAN Manager networking, as well as Unix's TCP/IP networking (for which Microsoft would implement a TCP/IP stack derived from the BSD Unix stack).

Windows NT 3.1 was the first version of Windows to utilize 32-bit "flat" virtual memory addressing on 32-bit processors. Its companion product, Windows 3.1, used segmented addressing and switches from 16-bit to 32-bit addressing in pages.

Windows NT 3.1 featured a core kernel providing a system API, running in supervisor mode, and a set of user-space environments with their own APIs which included the new Win32 environment, an OS/2 1.3 text-mode environment and a POSIX environment. The full preemptive multitasking kernel could interrupt running tasks to schedule other tasks, without relying on user programs to voluntarily give up control of the CPU, as in Windows 3.1.

Notably, in Windows NT 3.x, several I/O driver subsystems, such as video and printing, were user-mode subsystems. In Windows NT 4, the video, server and printer spooler subsystems were integrated into the kernel. Windows NT's first GUI was strongly influenced by (and programmatically compatible with) that from Windows 3.1; Windows NT 4's interface was redesigned to match that of the brand new Windows 95, moving from the Program Manager to the Start Menu/Taskbar design.

NTFS, a journaled, secure file system, was created for NT. NT also allows for other installable file systems, and with versions 3.1 and 3.51, NT could also be installed on DOS's FAT or OS/2's HPFS file systems. Later versions could be installed on a FAT partition gaining speed at the expense of security, but this option is no longer present in Windows Vista.

[edit] Development

When development started in November 1988, Windows NT (using protected mode) was to be known as OS/2 3.0, the third version of the operating system developed jointly by Microsoft and IBM. In addition to working on three versions of OS/2, Microsoft continued parallel development of the DOS-based and less resource-demanding Windows environment (using real mode). When Windows 3.0 was released in May 1990, it was so successful that Microsoft decided to change the primary application programming interface for the still unreleased NT OS/2 (as it was then known) from an extended OS/2 API to an extended Windows API. This decision caused tension between Microsoft and IBM and the collaboration ultimately fell apart. IBM continued OS/2 development alone while Microsoft continued work on the newly renamed Windows NT. Though neither operating system would be as immediately popular as Microsoft's DOS or Windows products, Windows NT would eventually be far more successful than OS/2.

Microsoft hired a group of developers from Digital Equipment Corporation led by Dave Cutler to build Windows NT, and many elements of the design reflect earlier DEC experience with Cutler's VMS and RSX-11. The operating system was designed to run on multiple instruction set architectures and multiple hardware platforms within each architecture. The platform dependencies are largely hidden from the rest of the system by a kernel mode module called the HAL (Hardware Abstraction Layer).

Windows NT's kernel mode code further distinguishes between the "kernel", whose primary purpose is to implement processor and architecture dependent functions, and the "executive". This has led some writers to refer to the kernel as a microkernel, but the Windows NT kernel no longer meets many of the criteria of a "microkernel", although this was the original goal of chief architect Cutler. Both the kernel and the executive are linked together into the single loaded module ntoskrnl.exe; from outside this module there is little distinction between the kernel and the executive. Routines from each are directly accessible, as for example from kernel-mode device drivers.

API sets in the Windows NT family are implemented as subsystems atop the publicly undocumented "native" API; it was this that allowed the late adoption of the Windows API (into the Win32 subsystem). Windows NT was the first operating system to use Unicode internally.

[edit] Releases

Windows NT Releases
Version Marketing Name Editions Release Date RTM Build
NT 3.1 Windows NT 3.1 Workstation (named just Windows NT), Advanced Server July 27, 1993 528
NT 3.5 Windows NT 3.5 Workstation, Server September 21, 1994 807
NT 3.51 Windows NT 3.51 Workstation, Server May 30, 1995 1057
NT 4.0 Windows NT 4.0 Workstation, Server, Server Enterprise Edition, Terminal Server, Embedded July 29, 1996 1381
NT 5.0 Windows 2000 Professional, Server, Advanced Server, Datacenter Server February 17, 2000 2195
NT 5.1 Windows XP Home, Professional, 64-bit (original), Media Center (original, 2003, 2004 & 2005), Tablet PC (original and 2005), Starter, Embedded, Home N, Professional N October 25, 2001 2600
NT 5.1 Windows Fundamentals for Legacy PCs N/A July 8, 2006 2600
NT 5.2 Windows Server 2003 Standard, Enterprise, Datacenter, Web, Storage, Small Business Server, Compute Cluster April 24, 2003 3790
NT 5.2 Windows XP (5.2) 64-bit 2003, Professional x64 April 25, 2005 3790
NT 5.2 Windows Home Server N/A July 16, 2007 3790
NT 6.0 Windows Vista Starter, Home Basic, Home Premium, Business, Enterprise, Ultimate, Home Basic N, Business N Business: November 30, 2006
Consumer: January 30, 2007
6000
NT 6.0 Windows Server 2008 Standard, Enterprise, Datacenter, Web, Storage, Small Business Server February 27, 2008 (expected) 6001
NT 7.0 Windows 7 (formerly codenamed Blackcomb, later Vienna) Unknown 2010 Unknown

Note: NT 3.1 to 3.51 incorporated a Windows 3.x-like Program Manager and File Manager. NT 4.0 to 6.0 replaced this with Windows Explorer (including a taskbar and Start menu).

The first release was given version number 3.1 to match the contemporary 16-bit Windows; magazines of that era claimed the number was also used to make that version seem more reliable than a '.0' release. There were also some issues related to Novell IPX protocol licensing, which was apparently limited to 3.1 versions of Windows software.

The NT version number is no longer used for marketing purposes, but is still used internally, and said to reflect the degree of changes to the core of the operating system.[1] The build number is an internal figure used by Microsoft's developers and beta testers.

[edit] Supported platforms

Like Unix, NT was written in C, a mid-level language. This means that it can be compiled to run on several processor systems; however, the code produced by the compiler is larger and slower than assembler code for a particular processor. For this reason, NT was not favored initially for use with slower processors with less memory. It also proved far more difficult to port applications such as Microsoft Office which were sensitive to issues such as data structure alignment on RISC processors. Unlike Windows CE which routinely runs on a variety of processors, the lack of success of RISC-based systems in the desktop market has resulted in nearly all actual NT deployments being on x86 architecture processors.

In order to prevent Intel x86-specific code from slipping into the operating system by developers used to developing on x86 chips, Windows NT 3.1 was initially developed using non-x86 development systems and then ported to the x86 architecture. This work was initially based on the Intel i860-based Dazzle system and, later, the MIPS R4000-based Jazz platform. Both systems were designed internally at Microsoft.[2]

Windows NT 3.1 was released for Intel x86 PC compatible, DEC Alpha, and ARC-compliant MIPS platforms. Windows NT 3.51 added support for the PowerPC processor in 1995, specifically PReP-compliant systems such as the IBM Power Series desktops/laptops and Motorola PowerStack series; but despite meetings between Michael Spindler and Bill Gates, significantly not on the Power Macintosh.

Intergraph Corporation ported Windows NT to its Clipper architecture and later Windows NT 3.51 was ported to SPARC,[3] but neither version was sold to the public as a retail product.

Windows NT 4.0 was the last major release to support Alpha, MIPS, or PowerPC, though development of Windows 2000 for Alpha continued until August 1999, when Compaq stopped support for Windows NT on that architecture; and then three days later Microsoft also canceled their AlphaNT program, even though the Alpha NT5 version was already at RC2 (build 2128). Released versions of NT for Alpha were 32-bit only, although Alpha hardware was used internally at Microsoft during early development of 64-bit Windows 2000 for IA-64.[1] Only two of the Windows NT 4.0 variants (IA-32 and Alpha) have a full set of service packs available. All of the other ports done by third parties (Motorola, Intergraph, etc.) have few, if any, publicly available updates.

Windows XP 64-Bit, Windows Server 2003 Enterprise, and Windows Server 2003 Datacenter support Intel's IA-64 processors. As of April 25, 2005 Microsoft had released four editions for 'x64' (see x86-64 architecture): Windows XP Professional x64 Edition, Windows Server 2003 Standard x64 Edition, Windows Server 2003 Enterprise x64 Edition, and Windows Server 2003 Datacenter x64 Edition.

The Xbox uses a heavily modified and stripped down Windows 2000 kernel.[4] This kernel was heavily modified again for the Xbox 360 which runs on PowerPC[5] . This version is not for separate sale, and is only available through acquiring an Xbox. Little is known about it.

[edit] Hardware requirements

The minimum hardware specification required to run each release of the professional workstation version of Windows NT has been fairly slow-moving until the 6.0 Vista release, which requires a minimum of 15 GB of free disk space plus an additional 5 GB of extra space for 6.0, a 10-fold increase in free disk space alone over the previous version.

Windows NT desktop (x86) minimum hardware requirements
NT Version CPU RAM Free disk space
NT 3.51 Workstation 386, 25 MHz 8 MB 90 MB
NT 4.0 Workstation 486, 33 MHz 12 MB 110 MB
2000 Professional Pentium, 133 MHz 32 MB 650 MB
XP Pentium MMX, 233 MHz 64 MB 1.5 GB
FLP Pentium MMX, 233 MHz 64 MB 500 MB
Vista Pentium III, 800 MHz 512 MB 15 GB

[edit] 'NT' designation

It is popularly believed that Dave Cutler intended the initialism 'WNT' as a pun on VMS, incrementing each letter by one, similar to the apocryphal story of Arthur C. Clarke's deriving HAL 9000's name by decrementing each letter of IBM. While this would have suited Cutler's sense of humor, the project's earlier name of NT OS/2 belies this theory. Another of the original OS/2 3.0 developers, Mark Lucovsky, states that the name was taken from the Intel i860 processor—code-named N10 (or 'N-Ten')—which served as the original target hardware.[6] Various Microsoft publications, including a 1998 question-and-answer session with Bill Gates,[7] reveal that the letters were expanded to 'New Technology' for marketing purposes but no longer carry any specific meaning. Confusion about what NT stood for led to humorous speculation among industry insiders[attribution needed] that it stood for 'Not Tested'.

The letters were dropped from the name of Windows 2000, though literature contained the phrase 'Built on NT technology' and the system folder retained the WINNT designation. This action ostensibly reflected Microsoft's intent to unify its home and business lines, then represented by Windows 98 and Windows NT 4.0, but this goal would not be achieved until the introduction of Windows XP. Some believe this to be the result of a trademark dispute between Microsoft and Nortel Networks as on the bottom of the Windows NT 4.0 product boxes is a notice explaining that 'NT' is a trademark of Northern Telecom.

[edit] See also

[edit] References

[edit] External links

Personal tools