Build list legend
Non-existent page
Version of Microsoft Windows | |
OS family | Windows NT |
---|---|
Version | 3.1 |
Codename | Razzle |
Preliminary name | OS/2 3.0 Advanced Windows[1] |
Architecture | x86, DEC Alpha, MIPS |
Latest build | 3.10.528.1 (Service Pack 3) |
Release date | 1993-07-27 |
Support end | 2000-12-31 |
Replaced by | |
Windows NT 3.5x | |
Windows NT 3.1 (codenamed Razzle) is the first version of Windows NT. It had a very similar interface to Windows 3.1 but unlike Windows 3.1, Windows NT 3.1 was a complete 32-bit operating system while Windows 3.1 was mostly a constrictive 16-bit environment, although it also included 32-bit components to take advantage of the 386 processor. The name NT officially stands for "New Technology", although it has also been explained to stand for N-Ten, the codename for the Intel i860 processor that NT was originally designed for. It was succeeded by Windows NT 3.5 in 1994. Several update packages were released for NT 3.1 during its lifetime.
Microsoft initially developed NT with the intention to use it as the base for OS/2 3.0, with the project being also known as NT OS/2 or Portable OS/2. However, with the high sales success of Windows 3.0, Microsoft changed the NT OS/2 plans to turn it into a 32-bit version of Windows with a subsystem to run existing OS/2 apps, which largely contributed to the end of the IBM-Microsoft partnership.[2] The project was commonly referred to as Advanced Windows in the press before its final name was unveiled. The operating system was publicly demonstrated for the first time at COMDEX in October 1991. At the Win32 PDC conference in June 1992, Windows NT was demonstrated for the x86 and MIPS processors. On 27 July 1993, Windows NT 3.1 was released for x86 and MIPS, followed by the DEC Alpha version in September. The Workstation version was sold at $495 while the server version was sold for $1495.
The boot screen only shows the processor count if a multiprocessor kernel and HAL is being used, which would be the case on systems like the Compaq SystemPro/XL and its clones.[3]
The x86 version of Windows NT 3.1 requires an 80386 processor with D1 stepping, at least 16 MB of RAM, 75 MB of hard drive space, and a VGA or better display.
The MIPS and DEC Alpha versions require at least 16 MB of RAM and 92 MB of hard disk space.
Windows NT 3.1 does not support processor generations higher than the original Pentium due to a faulty processor check during setup. Windows NT will state the processor as incompatible and abort setup without additional patching of setup files. Additionally, the x86 version of Windows NT 3.1 does not recognize more than 64 MB of RAM unless the OS/2 DRAM compatible mode is enabled in the BIOS.[4][5]
Windows NT 3.1 does not contain support for ATAPI CD-ROM drives by default, requiring either a SCSI CD-ROM controller or an ATAPI driver to be provided during setup in order to install.
In late 1988, a group of engineers led by Dave Cutler left Digital Equipment Corporation for Microsoft following the cancellation of the PRISM and MICA projects. At Microsoft, they formed the Portable Systems Group tasked with creating a portable 32-bit version of OS/2. The new operating system, called NT OS/2 or Portable OS/2, was designed to support multiple personalities: aside from support for both 16-bit and 32-bit versions of the OS/2 API (including both the 32-bit Cruiser APIs and Presentation Manager), it would also include a POSIX personality, which would allow Microsoft to run for US government contracts. NT OS/2 was planned to ship in the early 1990s as OS/2 3.0, while IBM and Microsoft added 32-bit support to the original OS/2 codebase to create OS/2 2.0.[6]
Originally, NT targeted the Intel i860 XR processor (codenamed N10 or N-Ten, one of the discussed origins of the "NT" acronym). Alongside the operating system itself (codenamed Razzle), the team also designed i860-based motherboards codenamed Dazzle and Frazzle that were used for internal testing once engineering samples were available. When the performance of the i860 was found to be disappointing, NT was ported to the MIPS R3000 processor. A new motherboard codenamed Jazz was also designed by reworking the previous i860 motherboards to use the R3000 processor. In early 1990, the system was converted from big to little endian and ported to the i386.
After the successful launch of Windows 3.0 in May 1990, it was decided to add support for a Windows personality, first as a peer to the OS/2 personality.[7][8] By August 1990, the main focus of the NT project changed to creating a 32-bit version of Windows,[9] while the OS/2 subsystem was eventually reduced to character mode OS/2 1.x application support. Some documents (including some leaked to the press) suggest that "Windows 32" was to be the primary API of what was still called "OS/2 3.0", even internally at Microsoft. Windows NT was later ported to the MIPS R4000, the R3000 port was dropped, and a DEC Alpha port was added.
NT was designed from the start to support multiple different APIs on top of its kernel. Initially, a 32-bit OS/2 API modeled on OS/2 2.0 was intended to be the main API, with Presentation Manager serving as the user interface, but a POSIX API was planned as well. However, as described above, once Windows became a success, the Win32 API was born, the POSIX API was heavily stripped down, and OS/2 received only a compatibility subsystem (though Presentation Manager 1.x could be added).
Most of the Win32 APIs in USER32 and GDI32 are heavily modeled on Win16 counterparts in USER and GDI, but many of the KERNEL32 exports correspond nearly directly to NT kernel system calls exported to user mode through NTDLL.
NT handles the multiple APIs through a system known as "subsystem servers". Most core system calls (such as WriteFile
for Win32 or write
) can simply go directly to the kernel, but for the "window" part of Win32, calls end up going through Windows NT's Local Procedure Call mechanism, a form of interprocess communication. When one makes a call to GDI, for example, GDI is loaded into the address space of the calling process, which then makes a Local Procedure Call to the Client-Server Runtime Subsystem (CSRSS.EXE), the Win32 Subsystem Server. The display driver is loaded into the address space of CSRSS as a user-mode process, having the ability to map display memory into that same address space, and CSRSS calls the display driver and executes the GDI call.
Build list legend