Windows NT: Difference between revisions
Line 20: | Line 20: | ||
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 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 Windows applications (although MS-DOS applications were preemptively multitasked in Windows starting with Windows 1.0). |
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 [[Windows NT Processor scheduling|schedule]] other tasks, without relying on user programs to voluntarily give up control of the CPU, as in Windows 3.1 Windows applications (although MS-DOS applications were preemptively multitasked in Windows starting with Windows 1.0). |
||
Notably, in Windows NT 3.x, several I/O driver subsystems, such as video and printing, were [[userland|user-mode]] subsystems. In Windows NT 4, the video, server and printer spooler subsystems were integrated into the kernel. Windows NT's first [[graphical user interface|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. |
Notably, in Windows NT 3.x, several I/O driver subsystems, such as video and printing, were [[userland|user-mode]] subsystems. In Windows NT 4, the video, server and printer spooler subsystems were integrated into the kernel. Windows NT's first [[graphical user interface|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. |
Revision as of 20:33, 7 January 2009
This article needs additional citations for verification. (August 2008) |
![]() | |
Developer | Microsoft |
---|---|
Working state | Current |
Source model | Closed source / Shared source |
Latest release | 23H2 (10.0.22631.4112) (August 27, 2024[1]) [±] |
Latest preview |
24H2 (10.0.26100.1591) (August 27, 2024[2][3]) [±]
23H2 (10.0.22635.4082) (August 26, 2024[4]) [±]
24H2 (10.0.26120.1542) (August 19, 2024[5]) [±]
|
Kernel type | Hybrid kernel |
Default user interface | Graphical (Windows Explorer) |
License | Microsoft EULA |
Official website | windows |
Windows NT 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.1x and Windows 9x, were 16-bit/32-bit hybrids. Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Home Server, and Windows Server 2008 are based upon the Windows NT system, although they are not branded as Windows NT.
Various Microsoft publications, including a 1998 question-and-answer session with Bill Gates, reveal that the letters 'NT' were expanded to 'New Technology' for marketing purposes but no longer carry any specific meaning.[citation needed]
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, AMD64, MIPS R3000 and R4000, Alpha, PowerPC, and Itanium. Broad software compatibility was achieved with support for several API "personalities", including Win32, POSIX and OS/2 APIs. Partial MS-DOS compatibility was achieved via an integrated DOS Virtual Machine. 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 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 Windows applications (although MS-DOS applications were preemptively multitasked in Windows starting with Windows 1.0).
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.
Development
Microsoft decided to create a portable operating system, compatible with OS/2 and POSIX support and with multiprocessing in October 1988.[7] When development started in November 1989, Windows NT was to be known as OS/2 3.0,[8] 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. When Windows 3.0 was released in May 1990, it was eventually 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 immediately be as popular as Microsoft's MS-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 was designed as a modified microkernel, as the Windows NT kernel does not meet all of the criteria of a pure microkernel. 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 one of the earliest operating systems to use Unicode internally.
Driver models
Windows NT introduced its own driver model, the Windows NT driver model, and is incompatible with older driver frameworks. With Windows 2000, the Windows NT driver model was enhanced to become the Windows Driver Model, which was first introduced with Windows 98, but was based on the NT driver model.[9] Windows Vista added native support for the Windows Driver Foundation, which is also available for Windows XP, Windows Server 2003 and to an extent, Windows 2000.
Releases
Version | Marketing name | Editions | Release date | RTM build |
---|---|---|---|---|
NT 3.1 | Windows NT 3.1 | Workstation (named just Windows NT), Advanced Server | 27 July 1993 | 528 |
NT 3.5 | Windows NT 3.5 | Workstation, Server | 21 September 1994 | 807 |
NT 3.51 | Windows NT 3.51 | Workstation, Server | 30 May 1995 | 1057 |
NT 4.0 | Windows NT 4.0 | Workstation, Server, Server Enterprise Edition, Terminal Server, Embedded | 29 July 1996 | 1381 |
NT 5.0 | Windows 2000 | Professional, Server, Advanced Server, Datacenter Server | 17 February 2000 | 2195 |
NT 5.1 | Windows XP | Home, Professional, 64-bit Edition (Itanium), Media Center (original, 2003, 2004 & 2005), Tablet PC (original and 2005), Starter, Embedded, Home N, Professional N | 25 October 2001 | 2600 |
NT 5.1 | Windows Fundamentals for Legacy PCs | N/A | 8 July 2006 | 2600 |
NT 5.2 | Windows XP | 64-bit Edition Version 2003 (Itanium)[10] | 28 March 2003 | 3790 |
NT 5.2 | Windows Server 2003 | Standard, Enterprise, Datacenter, Web, Storage, Small Business Server, Compute Cluster | 24 April 2003 | 3790 |
NT 5.2 | Windows XP | Professional x64 Edition | 25 April 2005 | 3790 |
NT 5.2 | Windows Home Server | N/A | 16 July 2007 | 3790 |
NT 6.0 | Windows Vista | Starter, Home Basic, Home Premium, Business, Enterprise, Ultimate, Home Basic N, Business N | Business: 30 November 2006 Consumer: 30 January 2007 |
6000 6001(SP1) 6002(SP2) |
NT 6.0 | Windows Server 2008 | Standard, Enterprise, Datacenter, Web, Storage, Small Business Server | 27 February 2008 | 6001 6002(SP2) |
NT 6.1 | Windows 7 | TBA | 3 June 2009 | Unknown |
NT 3.1 to 3.51 incorporated the 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.[citation needed]
The NT version number was not generally used for marketing purposes, but is still used internally, and said to reflect the degree of changes to the core of the operating system.[11] The build number is an internal figure used by Microsoft's developers and beta testers.
Supported platforms
NT was written in C and C++ [12], and is reasonably portable, although few ports actually exist. That said, it 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.[13]
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, not on the Power Macintosh as the PReP compliant Power Macintosh project failed to ship.
Intergraph Corporation ported Windows NT to its Clipper architecture and later announced intention to port Windows NT 3.51 to Sun Microsystems' SPARC architecture,[14] but neither version was sold to the public as a retail product.
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 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 NT 5 (Windows 2000) release had reached RC2 (build 2128).
Released versions of NT for Alpha were 32-bit only. The 64 bit port of Windows was originally intended to run on Itanium as well as on Alpha, and Alpha hardware was accordingly used internally at Microsoft during early development of 64-bit Windows.[15] This continued for some time after Microsoft publicly announced that it was cancelling plans to ship 64-bit Windows for Alpha, because Itanium hardware was not yet available for development. [16]
Limited Editions of Windows 2000 Advanced Server and Datacenter Server, Windows XP 64-Bit, and Windows Server 2003 Enterprise and Datacenter support Intel's IA-64 processors. As of 25 April 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.
It is a common misconception that the Xbox and Xbox 360 use a modified Windows 2000 kernel.[17] The Xbox operating system was built from scratch but implements a subset of Windows APIs.
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.
NT version | CPU | RAM | Free disk space |
---|---|---|---|
NT 3.51 Workstation [18] | 386 or 486/25 MHz | 12 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 |
Fundamentals for Legacy PCs | Pentium MMX, 233 MHz | 64 MB | 610 MB |
Vista | Pentium III, 800 MHz | 512 MB | 15 GB |
Designation
It is popularly believed[who?] that Dave Cutler intended the initialism 'WNT' as a pun on VMS, incrementing each letter by one. However, the project was named NT OS/2 before receiving the Windows brand.[19] One of the original OS/2 3.0 developers, Mark Lucovsky, states that the name was taken from the original target processor—the Intel i860, code-named N10 ('N-Ten').[20] Various Microsoft publications, including a 1998 question-and-answer session with Bill Gates, reveal that the letters were expanded to 'New Technology' for marketing purposes but no longer carry any specific meaning.[21] The letters were dropped from the name of Windows 2000, though Microsoft described the product as 'Built on NT technology'.
See also
- Architecture of Windows NT
- Criticism of Microsoft Windows
- Microsoft Windows
- NTFS
- NT Domain
- ReactOS (an open source project with the goal of providing binary- and device driver-level compatibility with Windows NT)
- Windows Server System
- Windows NT Startup Process
- Windows Preinstallation Environment
- F6 disk
References
- ^ "August 27, 2024—KB5041587 (OS Builds 22621.4112 and 22631.4112) Preview". Microsoft Support. Microsoft.
- ^ "Releasing Windows 11 Build 26100.1586 to the Release Preview Channel". Windows Insider Blog. August 19, 2024.
- ^ "August 27, 2024—KB5041865 (OS Build 26100.1591) Preview". Microsoft Support. Microsoft.
- ^ "Announcing Windows 11 Insider Preview Build 22635.4082 (Beta Channel)". Windows Insider Blog. August 26, 2024.
- ^ "Announcing Windows 11 Insider Preview Build 26120.1542 (Dev Channel)". Windows Insider Blog. August 19, 2024.
- ^ "Announcing Windows 11 Insider Preview Build 27686 (Canary Channel)". Windows Insider Blog. August 15, 2024.
- ^ Dave Cutler's preface to Mark Russinovich, David A. Solomon. Microsoft Windows Internals, (Fourth Edition), Microsoft Press. ISBN 0-7356-1917-4
- ^ Andrew Pollack (1991-07-27). "Microsoft Widens Its Split With I.B.M. Over Software - New York Times". New York Times. Retrieved 2008-09-02.
- ^ "NT Drivers - FAQ - WDM".
- ^ "Microsoft Releases Windows XP 64-Bit Edition Version 2003 to Manufacturing". 2003. Retrieved 2008-01-14.
{{cite web}}
: Unknown parameter|month=
ignored (help) - ^ Mark Russinovich (2001). "Windows XP: Kernel Improvements Create a More Robust, Powerful, and Scalable OS". Retrieved 2006-12-19.
{{cite web}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help); Unknown parameter|month=
ignored (help) - ^ Windows NT System Overview
- ^ Lucovsky, Mark (2000-08-09). "Windows: A Software Engineering Odyssey". Retrieved 2006-11-02.
{{cite web}}
: Check date values in:|date=
(help) - ^ "Intergraph Announces Port of Windows NT to SPARC Architecture". The Florida SunFlash. 1993-07-07.
{{cite web}}
: Check date values in:|date=
(help) - ^ Paul Thurott (1999). "The Road to Gold: The development of Windows 2000 Reviewed". Retrieved 2008-01-05.
{{cite web}}
: Unknown parameter|month=
ignored (help) - ^ Paul Thurott (2000). "Windows 2000 Reportedly Returning to Alpha Platform". Retrieved 2008-01-05.
{{cite web}}
: Unknown parameter|month=
ignored (help) - ^ Shaheen Gandhi. "Xbox Team: The Xbox Operating System". Retrieved 2008-05-29.
- ^ Windows NT 3.5x Setup Troubleshooting Guide (MSKB 139733)
- ^ [Microsoft Windows NT OS/2 Design Workbook "Microsoft Windows NT OS/2 Design Workbook"]. Retrieved 2008-11-15.
{{cite web}}
: Check|url=
value (help) - ^ "Paul Thurrott's History of Windows Server 2003: The Road To Gold".
- ^ Gates, Bill (1998-06-05). "Q&A: Protecting children from information on the Internet". Retrieved 2005-06-26.
{{cite web}}
: Check date values in:|date=
(help)