Windows nt это линейка операционных систем компании

This article is about the family of operating system versions by Microsoft. For the version released in 1996, see Windows NT 4.0. For the 3.x series, see Windows NT 3.x.

Windows NT

Windows logo and wordmark - 2021.svg
Developer Microsoft
Written in C, Assembly language
(core)
C++, C#
(user mode applications)
(C++ is used in the kernel graphical subsystem)[1]
Working state Current
Source model
  • Closed-source
  • Source-available (through Shared Source Initiative)
Initial release July 27, 1993; 29 years ago
(as Windows NT 3.1)
Latest release 22H2 (10.0.22621.1413) (March 14, 2023; 9 days ago[2]) [±]
Latest preview
Release Preview Channel

22H2 (10.0.22621.1483) (March 21, 2023; 2 days ago[3][4]) [±]

Beta Channel

22H2 (10.0.22624.1465) (March 16, 2023; 7 days ago[5]) [±]

Dev Channel

10.0.23419.1000 (March 22, 2023; 1 day ago[6]) [±]

Canary Channel

10.0.25314.1010 (March 10, 2023; 13 days ago[7]) [±]

Update method Windows Update, Windows Server Update Services
Platforms IA-32, x86-64, ARM and ARM64 (and historically Intel i860, DEC Alpha, Itanium, MIPS, and PowerPC)
Kernel type Hybrid[citation needed] (NT)
Influenced by RSX-11, VAXELN, OpenVMS, MICA, Mach (kernel)
MS-DOS, OS/2, Windows 3.1x (userland)
Default
user interface
Graphical (Windows shell)
License Depending on version, edition or customer choice: Trialware, commercial software, volume licensing, OEM-only, SaaS, S+S[a]
Official website www.microsoft.com/windows/

Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system.

The first version of Windows NT was Windows NT 3.1 and was produced for workstations and server computers. It was a commercially focused operating system intended to complement consumer versions of Windows that were based on MS-DOS (including Windows 1.0 through Windows 3.1x). Gradually, the Windows NT family was expanded into Microsoft’s general-purpose operating system product line for all personal computers, deprecating the Windows 9x family.

«NT» was formerly expanded to «New Technology» but no longer carries any specific meaning. Starting with Windows 2000,[8] «NT» was removed from the product name and is only included in the product version string along with several low-level places within the system.[9] In fact, NT was a trademark of Northern Telecom (later Nortel) at the time, which Microsoft was forced to acknowledge on the product packaging.

NT was the first purely 32-bit version of Windows, whereas its consumer-oriented counterparts, Windows 3.1x and Windows 9x, were 16-bit/32-bit hybrids. It is a multi-architecture operating system. Initially, it supported several instruction set architectures, including IA-32, MIPS, and DEC Alpha; support for PowerPC, Itanium, x64, and ARM were added later. The latest versions support x86 (including IA-32 and x64) and ARM. Major features of the Windows NT family include Windows Shell, Windows API, Native API, Active Directory, Group Policy, Hardware Abstraction Layer, NTFS, BitLocker, Windows Store, Windows Update, and Hyper-V.

Naming[edit]

It has been suggested that Dave Cutler intended the initialism «WNT» as a play on VMS, incrementing each letter by one.[10] However, the project was originally intended as a follow-on to OS/2 and was referred to as «NT OS/2» before receiving the Windows brand.[11] One of the original NT developers, Mark Lucovsky, states that the name was taken from the original target processor—the Intel i860, code-named N10 («N-Ten»).[12] A 1998 question-and-answer (Q&A) session with Bill Gates revealed that the letters were previously expanded to «New Technology» but no longer carry any specific meaning.[13] The letters were dropped from the names of releases from Windows 2000 and later, though Microsoft described that product as being «Built on NT Technology».[8][14]

Major features[edit]

One of the main purposes of NT is hardware and software portability. Various versions of NT family operating systems have been released for a variety of processor architectures, initially IA-32, MIPS, and DEC Alpha, with PowerPC, Itanium, x86-64 and ARM supported in later releases. An initial idea was to have a common code base with a custom Hardware Abstraction Layer (HAL) for each platform. However, support for MIPS, Alpha, and PowerPC was later dropped in Windows 2000. Broad software compatibility was initially achieved with support for several API «personalities», including Windows API, POSIX,[15] and OS/2 APIs[16] – the latter two were phased out starting with Windows XP.[17] Partial MS-DOS and Windows 16-bit compatibility is achieved on IA-32 via an integrated DOS Virtual Machine – although this feature is not available on other architectures.[18]

NT has 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
has also supported Windows network protocols, inheriting the previous OS/2 LAN Manager networking, as well as TCP/IP networking (for which Microsoft used to implement a TCP/IP stack derived at first from a STREAMS-based stack from Spider Systems, then later rewritten in-house).[19]

Windows NT 3.1 was the first version of Windows to use 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 (ring 0 in x86; referred to in Windows NT as «kernel mode» on all platforms), 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/386).

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 moved into kernel mode. 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 Windows shell design.

NTFS, a journaled, secure file system, is a major feature for NT. Windows NT also allows for other installable file systems; since versions 3.1, NT may be installed on FAT or HPFS file systems.[20]

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.[21] 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.

Development[edit]

Original Windows NT wordmark

Microsoft decided to create a portable operating system, compatible with OS/2 and POSIX and supporting multiprocessing, in October 1988.[22] When development started in November 1989, Windows NT was to be known as OS/2 3.0,[23] the third version of the operating system developed jointly by Microsoft and IBM. To ensure portability, initial development was targeted at the Intel i860XR RISC processor, switching to the MIPS R3000 in late 1989, and then the Intel i386 in 1990.[12] Microsoft also continued parallel development of the DOS-based and less resource-demanding Windows environment, resulting in the release of Windows 3.0 in May 1990.

Windows 3.0 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,[24] VAXELN and RSX-11, but also an unreleased object-based operating system developed by Cutler at Digital codenamed MICA.[25] The team was joined by selected members of the disbanded OS/2 team, including Moshe Dunie.[10]

Windows 2000 architecture

The VMS kernel was primarily written in VAX MACRO, but Windows NT was designed to run on multiple instruction set architectures and multiple hardware platforms within each architecture. The platform dependencies are hidden from the rest of the system by the HAL (Hardware Abstraction Layer).

While creating Windows NT, Microsoft developers rewrote VMS in C. Although they added the Win32 API, NTFS file system, GUI, and backwards compatibility with DOS, OS/2, and Win16, DEC engineers almost immediately noticed the two operating systems’ internal similarities; parts of VAX/VMS Internals and Data Structures, published by Digital Press, accurately describe Windows NT internals using VMS terms. Instead of a lawsuit, Microsoft agreed to pay DEC $65–100 million, help market VMS, train Digital personnel on Windows NT, and continue Windows NT support for the DEC Alpha.[24]

Windows NT and VMS memory management, processes, and scheduling are very similar. Windows NT’s process management differs by implementing threading, which DEC did not implement until VMS 7.0 in 1995, likely to compete with Microsoft.

Like VMS,[24] Windows NT’s kernel mode code 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 was influenced by the Mach microkernel developed by Richard Rashid at Carnegie Mellon University,[26] but 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; this 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.[citation needed]

Releases[edit]

Windows NT releases

Version Marketing name Editions Release date Build number
3.1 Windows NT 3.1 Workstation (named just Windows NT), Advanced Server July 27, 1993 528
3.5 Windows NT 3.5 Workstation, Server September 21, 1994 807
3.51 Windows NT 3.51 May 30, 1995 1057
4.0 Windows NT 4.0 Workstation, Server, Enterprise Server, Terminal Server, Embedded August 24, 1996 1381
5.0[27] Windows 2000 Professional, Server, Advanced Server February 17, 2000 2195
Datacenter Server September 26, 2000
5.1[27] Windows XP Home, Professional, Media Center (original, 2004 & 2005), Tablet PC (original and 2005), Starter, Embedded, Home N, Professional N October 25, 2001 2600
Windows Fundamentals for Legacy PCs July 8, 2006
5.2[27] Windows XP 64-bit Edition Version 2003 (IA-64)[28] March 28, 2003 3790
Windows Server 2003 Standard, Enterprise, Datacenter, Web, Storage, Small Business Server, Compute Cluster April 24, 2003
Windows XP Professional x64 Edition (x86-64) April 25, 2005
Windows Server 2003 R2 Standard, Enterprise, Datacenter, Web, Storage, Small Business Server, Compute Cluster December 6, 2005
Windows Home Server November 4, 2007
6.0[27] Windows Vista Starter, Home Basic, Home Premium, Business, Enterprise, Ultimate
  • Business: November 30, 2006
  • Consumer: January 30, 2007
  • 6000 (RTM)
  • 6001 (SP1)
  • 6002 (SP2)
  • 6003 (SP2 Update)[29]
Windows Server 2008 Foundation, Standard, Enterprise, Datacenter, Web Server, HPC Server, Itanium-Based Systems[30] February 27, 2008
  • 6001 (RTM)
  • 6002 (SP2)
  • 6003 (SP2 Update)[31]
6.1[27] Windows 7 Starter, Home Basic, Home Premium, Professional, Enterprise, Ultimate[32] October 22, 2009[33]
  • 7600 (RTM)
  • 7601 (SP1)
Windows Server 2008 R2 Foundation, Standard, Enterprise, Datacenter, Web Server, HPC Server, Itanium-Based Systems
Windows Home Server 2011 Home Server Premium April 6, 2011 7601 (SP1)
Windows Thin PC June 6, 2011
6.2[27] Windows 8[34] Windows 8, Windows 8 Pro, Windows 8 Enterprise, Windows RT[35] October 26, 2012[36] 9200
Windows Server 2012[37] Foundation, Essentials, Standard, Datacenter[38] September 4, 2012
6.3[27] Windows 8.1 Windows 8.1, Windows 8.1 Pro, Windows 8.1 Enterprise, Windows RT 8.1, Windows Embedded 8.1 Industry Pro/Enterprise October 18, 2013 9600[39]
Windows Server 2012 R2 Foundation, Essentials, Standard, Datacenter
10.0[27][40] Windows 10 Home Single Language, Home China, Home, Pro, Pro Education, Pro for Workstations,[41] Enterprise, Education, Windows 10 S, IoT Core, Mobile, Mobile Enterprise[42][43] July 29, 2015
  • 10240 (1507/RTM)
  • 10586 (1511)
  • 14393 (1607)
  • 15063 (1703)
  • 16299 (1709)
  • 17134 (1803)
  • 17763 (1809)
  • 18362 (1903)
  • 18363 (1909)
  • 19041 (2004)
  • 19042 (20H2)
  • 19043 (21H1)
  • 19044 (21H2)
  • 19045 (22H2) (latest)
Windows Server 2016 Essentials, Standard, Datacenter, Multipoint Premium Server, Storage Server, Hyper-V Server September 26, 2016 14393 (RS1)
Windows Server 2019 Essentials, Standard, Datacenter, Multipoint Premium Server, Hyper-V Server October 2, 2018 17763
Windows Server 2022 August 18, 2021[44] 20348
Windows 11 Home Single Language, Home China, Home, Pro, Education, Pro Education, Pro for Workstations, Enterprise, IoT Enterprise, Windows 11 SE October 5, 2021[45]
  • 22000 (21H2/RTM)
  • 22621 (22H2) (latest)

Windows NT 3.1 to 3.51 incorporated the Program Manager and File Manager from the Windows 3.1x series. Windows NT 4.0 onwards replaced those programs with Windows Explorer (including a taskbar and Start menu), which originally appeared in Windows 95.

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. Also the Novell IPX protocol was apparently licensed only to 3.1 versions of Windows software.[citation needed]

The NT version number is not now 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.[46] However, for application compatibility reasons, Microsoft kept the major version number as 6 in releases following Vista,[47] but changed it later to 10 in Windows 10.[40] The build number is an internal identifier used by Microsoft’s developers and beta testers.

Starting with Windows 8.1, Microsoft changed the Version API Helper functions’ behavior. If an application is not manifested for Windows 8.1 or later, the API will always return version 6.2, which is the version number of Windows 8.[48][49] This is because the manifest feature was introduced with Windows 8.1,[50] to replace GetVersion and related functions.[51]

Programming language[edit]

Windows NT is written in C and C++, with a very small amount written in assembly language.[52] C is mostly used for the kernel code while C++ is mostly used for user-mode code. Assembly language is avoided where possible because it would impede portability.[53]

Supported platforms[edit]

32-bit platforms[edit]

In order to prevent Intel x86-specific code from slipping into the operating system, due to developers being 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.[54]

Windows NT 3.1 was released for Intel x86 PC compatible, PC-98, 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 ThinkPad Power Series 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 an intention to port Windows NT 3.51 to Sun Microsystems’ SPARC architecture,[55] in conjunction with the company’s planned introduction of UltraSPARC models in 1995,[56] 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,[57]
even though the Alpha NT 5 (Windows 2000) release had reached RC1 status.[58]

On January 5, 2011, Microsoft announced that the next major version of the Windows NT family will include support for the ARM architecture. Microsoft demonstrated a preliminary version of Windows (version 6.2.7867) running on an ARM-based computer at the 2011 Consumer Electronics Show.[59] This eventually led to the commercial release of the Windows 8-derived Windows RT on October 26, 2012, and the implementation of NT over CE on Windows Phone 8.

According to Microsoft, it is a common misconception that the Xbox and Xbox 360 use a modified Windows 2000 kernel. In reality, the Xbox operating system was built from scratch but implements a subset of Windows APIs.[60] The Xbox One, and Xbox Series X/S, however, do use a modified version of Windows 10.[61]

Windows 11 is the first non-server version of Windows NT to not support 32-bit platforms.[62][63]

64-bit platforms[edit]

The 64-bit versions of Windows NT were originally intended to run on Itanium and DEC Alpha; the latter was used internally at Microsoft during early development of 64-bit Windows.[64][65] This continued for some time after Microsoft publicly announced that it was cancelling plans to ship 64-bit Windows for Alpha.[66] Because of this, Alpha versions of Windows NT are 32-bit only.

While Windows 2000 only supports Intel IA-32 (32-bit), Windows XP, Server 2003, Server 2008 and Server 2008 R2 each have one edition dedicated to Itanium-based systems.[67][68][69] In comparison with Itanium, Microsoft adopted x64 on a greater scale: every version of Windows since Windows XP (which has a dedicated x64 edition)[70] has x64 editions.[67][71]

Windows 10 version 1709 onwards supports ARM64 devices with Qualcomm processors.[72] This is a full version of Windows, rather than the cut-down Windows RT.

Hardware requirements[edit]

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, a 10-fold increase in free disk space alone over the previous version.

See also[edit]

  • Architecture of Windows NT
  • F6 disk
  • Windows Server domain
  • ReactOS (an open source project with the goal of providing binary- and device driver-level compatibility with Windows NT)
  • Windows NT startup process
  • Windows Preinstallation Environment
  • Microsoft Servers

Notes[edit]

  1. ^ For more information on how Microsoft licenses its products, see Microsoft Software Assurance, DreamSpark, DreamSpark Premium, BizSpark, MSDN § Software subscriptions, Microsoft TechNet § Subscriptions and downloads, and client access license.

References[edit]

  1. ^
  2. ^ «March 14, 2023—KB5023706 (OS Build 22621.1413)». Microsoft Support. Microsoft.
  3. ^ «Releasing Windows 11 Build 22621.1483 to the Release Preview Channel». Windows Insider Blog. March 21, 2023.
  4. ^ «March 14, 2023—KB5023706 (OS Build 22621.1413)». Microsoft Support. Microsoft.
  5. ^ «Announcing Windows 11 Insider Preview Build 22621.1465 and 22624.1465». Windows Insider Blog. March 16, 2023.
  6. ^ «Announcing Windows 11 Insider Preview Build 23419». Windows Insider Blog. March 22, 2023.
  7. ^ «Announcing Windows 11 Insider Preview Build 25314». Windows Insider Blog. March 8, 2023.
  8. ^ a b «Microsoft Renames Windows NT 5.0 Product Line to Windows 2000; Signals Evolution of Windows NT Technology Into Mainstream» (Press release). Microsoft. October 27, 1998.
  9. ^ «OperatingSystem.VersionString Property». MSDN. Microsoft. Retrieved November 10, 2014.
  10. ^ a b Zachary, G Pascal (1994). Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft. Free Press. ISBN 978-0-02-935671-5.
  11. ^ «Microsoft Windows NT OS/2 Design Workbook». American history. Smithsonian. Retrieved March 17, 2017.
  12. ^ a b Thurrott, Paul (January 24, 2003). «Windows Server 2003: The Road To Gold». ITPro Today.
  13. ^ Gates, Bill (June 5, 1998). «Q&A: Protecting children from information on the Internet». Microsoft. Archived from the original on May 26, 2001. Retrieved June 26, 2005.
  14. ^ «Windows 2000 is a name that reflects NT’s continued move to the technology mainstream». Microsoft.com. October 27, 1998. Retrieved November 13, 2011.
  15. ^ «Paul Thurrott’s SuperSite for Windows». Win super site. Retrieved November 24, 2010.
  16. ^ «28 – OS/2 Compatibility», MS Windows NT 4 Workstation (resource kit), Microsoft, archived from the original on March 3, 2016, retrieved November 24, 2010
  17. ^ «POSIX and OS/2 are not supported in Windows XP or in Windows Server 2003». Support. Microsoft. November 5, 2007. Retrieved November 24, 2010.
  18. ^ «x64 editions deployment». Archived from the original on December 18, 2014. Retrieved November 24, 2010.
  19. ^ Barr, Adam (June 19, 2001). «Microsoft, TCP/IP, Open Source, and Licensing». Kuro5hin. Archived from the original on December 29, 2015. Retrieved February 22, 2013.{{cite web}}: CS1 maint: unfit URL (link)
  20. ^ «File Systems». TechNet. Microsoft. Retrieved November 24, 2010.
  21. ^ «NT Drivers – FAQ – WDM». CMKrnl. Archived from the original on April 21, 2009.{{cite web}}: CS1 maint: unfit URL (link)
  22. ^ Cutler, Dave (2005), «Preface», in Russinovich, Mark; Solomon, David A (eds.), Microsoft Windows Internals (fourth ed.), Microsoft Press, ISBN 0-7356-1917-4.
  23. ^ Pollack, Andrew (July 27, 1991), «Microsoft Widens Its Split With IBM Over Software», The New York Times, retrieved September 2, 2008
  24. ^ a b c Russinovich, Mark (November 30, 1998). «Windows NT and VMS: The Rest of the Story». IT Pro. Retrieved January 2, 2018.
  25. ^ Neil Rieck. «‘Windows-NT’ is ‘VMS Reimplemented’ (sort of)». Retrieved February 9, 2023.
  26. ^ Mohr, Jim (December 1, 1999). «Windows NT Basics». Supporting Windows NT and 2000 Workstation and Server. Prentice Hall. ISBN 978-0-13-083068-5. Retrieved January 23, 2021. The technique that Windows NT uses is called a ‘microkernel’ and was influenced by the Mach microkernel developed at Carnegie Mellon University.
  27. ^ a b c d e f g h «Operating System Version». Microsoft Docs. Microsoft. September 15, 2020. Retrieved August 7, 2021.
  28. ^ «Microsoft Releases Windows XP 64-Bit Edition Version 2003 to Manufacturing». Microsoft. March 2003. Retrieved January 14, 2008.
  29. ^ Though Windows Vista support ended in 2017 and there was never a third Service Pack, the build number change occurs when the user opts to install KB4489887 update (released for Windows Server 2008 in 2019) on their system.
  30. ^ «Overview of Editions». Windows Server 2008. Microsoft. Retrieved May 18, 2009.
  31. ^ «Build number changing to 6003 in Windows Server 2008». support.microsoft.com. Retrieved November 1, 2020.
  32. ^ LeBlanc, Brandon (February 4, 2009). «A closer look at the Windows 7 SKUs». Blogging Windows. Microsoft. Retrieved February 5, 2009.
  33. ^ Rothman, Wilson (June 2, 2009). «Windows 7 To Be Released October 22». Gizmodo. Retrieved June 6, 2009.
  34. ^ «Windows», Developer network, Microsoft
  35. ^ LeBlanc, Brandon (April 16, 2012). «Announcing the Windows 8 Editions». Blogging Windows. Microsoft. Retrieved April 17, 2012.
  36. ^ «Windows 8 will be available on…». Microsoft. July 18, 2012. Retrieved July 18, 2012.
  37. ^ «Windows server 8 named Windows server 2012», Windows valley, archived from the original on June 10, 2016, retrieved June 10, 2012.
  38. ^ «Windows Server 2012 Editions». Server cloud. Retrieved July 8, 2012.
  39. ^ Warren, Tom (August 24, 2013). «Windows 8.1 is ready for its October 17th release». The Verge. Vox Media.
  40. ^ a b Thurrott, Paul (November 22, 2014). «Microsoft Confirms that Windows 10 will also be Version 10 Internally». ITPro Today. Informa.
  41. ^ Pidgeon, Elana (August 10, 2017). «Microsoft announces Windows 10 Pro for Workstations». Microsoft 365 Blog. Retrieved December 24, 2018.
  42. ^ Prophet, Tony (May 13, 2015). «Introducing Windows 10 Editions». Microsoft.
  43. ^ Foley, Mary Jo (July 27, 2016). «Microsoft to add new Windows 10 Pro Education edition to its line-up». ZDNet. CBS Interactive.
  44. ^ Schnackenburg, Paul; 04/06/2021. «Windows Server 2022 Is Coming! -«. Virtualization Review. Retrieved June 18, 2021.{{cite web}}: CS1 maint: numeric names: authors list (link)
  45. ^ «Windows 11 release date: Here’s when Microsoft’s new OS comes out». CNET. Retrieved September 5, 2021.
  46. ^ Russinovich, Mark; Solomon, David (December 2001), «Windows XP: Kernel Improvements Create a More Robust, Powerful, and Scalable OS», MSDN mag, Developer network, Microsoft, archived from the original on April 24, 2003, retrieved December 19, 2006
  47. ^ «Why 7?». Windows Team Blog. Microsoft. October 14, 2008. Archived from the original on April 15, 2012. Retrieved September 14, 2019.
  48. ^ «Operating System Version». Microsoft Developer Network. Microsoft. September 15, 2020. Retrieved November 24, 2020.
  49. ^ «Operating system version changes in Windows 8.1 and Windows Server 2012 R2». Microsoft Developer Network. Microsoft. May 31, 2018. Retrieved November 24, 2020.
  50. ^ «App (executable) manifest». Microsoft. July 11, 2018. Retrieved November 24, 2020.
  51. ^ «GetVersion function (sysinfoapi.h)». Microsoft. December 5, 2018. Retrieved November 24, 2020.
  52. ^ «Windows NT System Overview». TechNet. Microsoft. Retrieved November 24, 2010.
  53. ^ Chen, Raymond (September 28, 2016). One Dev Question with Raymond Chen – What Programming Language is Windows Written In?. Microsoft Learn. Microsoft. Retrieved October 15, 2022.
  54. ^ Lucovsky, Mark (August 9, 2000). «Windows: A Software Engineering Odyssey». Retrieved November 2, 2006.
  55. ^ «Intergraph Announces Port of Windows NT to SPARC Architecture». The Florida SunFlash. July 7, 1993.
  56. ^ «New ports of call for Windows NT». Personal Computer World. October 1993. p. 174.
  57. ^ Petreley, Nicholas (September 3, 1999). «Can Linux break Intel’s hold on the market?». CNN.
  58. ^ Aaron Sakovich (2001). «Windows 2000?». The AlphaNT Source. Archived from the original on July 8, 2008. Retrieved January 1, 2007.{{cite web}}: CS1 maint: unfit URL (link)
  59. ^ Warren, Tom (January 5, 2011). «Microsoft demonstrates early build of Windows 8». winrumors.com. Archived from the original on January 9, 2011.
  60. ^ Gandhi, Shaheen. «Xbox Team: The Xbox Operating System». Archived from the original on December 20, 2008.
  61. ^ «Xbox One Is «Literally a Windows Device»«. Archived from the original on December 27, 2015. Retrieved April 18, 2020.
  62. ^ a b c «Windows 11 Specifications». microsoft.com. Archived from the original on June 25, 2021. Retrieved June 25, 2021.
  63. ^ a b c «Windows minimum hardware requirements». docs.microsoft.com. Retrieved June 25, 2021.
  64. ^ Thurott, Paul (December 15, 1999). «Road to Gold: A Look at the Development of Windows 2000». Retrieved January 2, 2018.
  65. ^ Chen, Raymond (August 2008). «Windows Confidential». Technology network. Microsoft.
  66. ^ Thurott, Paul (June 21, 2000). «Windows 2000 Reportedly Returning to Alpha Platform». Retrieved January 2, 2018. UPDATE: Compaq has apparently denied that any work is being done on Windows 2000/64 for the Alpha.
  67. ^ a b «Comparison of Windows Server 2003 Editions». Microsoft TechNet. Microsoft. Retrieved October 14, 2011.
  68. ^ «Windows Server 2008 for Itanium-Based Systems Feature Support». Microsoft TechNet. Microsoft. Retrieved October 14, 2011.
  69. ^ «Windows Server 2008 R2 for Itanium-Based Systems». Windows Server Editions. Microsoft. Retrieved October 14, 2011.
  70. ^ «Microsoft Windows XP 64-Bit Edition». Microsoft TechNet. Microsoft. August 15, 2001. Retrieved October 14, 2011.
  71. ^ «A description of the x64-based versions of Windows Server 2003 and of Windows XP Professional x64 Edition». Microsoft Support Center. Microsoft. Archived from the original on October 17, 2011. Retrieved October 14, 2011.
  72. ^ «Windows 10 1709 Supported Qualcomm Processors».
  73. ^ a b «Recommended Hardware Configs. for Workstations and Servers». Microsoft. November 1, 2006. Archived from the original on February 27, 2013.
  74. ^ a b c d «Windows NT 3.5x Setup Troubleshooting Guide (MSKB 139733)». Microsoft. November 1, 2006. Archived from the original on June 22, 2014.
  75. ^ a b «Info: Windows NT 4.0 Setup Troubleshooting Guide». Microsoft. October 31, 2006. Archived from the original on March 20, 2014.
  76. ^ a b «System requirements for Microsoft Windows 2000 operating systems». Support. Microsoft. November 13, 2007. Archived from the original on May 30, 2014. Retrieved September 10, 2017.
  77. ^ «System requirements for Microsoft Windows XP operating systems». Support. Microsoft. September 14, 2007. Archived from the original on July 17, 2013. Retrieved August 10, 2017.
  78. ^ «Windows Server 2003, Standard Edition: System requirements». Microsoft. January 21, 2005. Retrieved January 11, 2013.
  79. ^ a b «System requirements for Microsoft Windows Vista». Support. Microsoft. November 13, 2007. Archived from the original on February 12, 2015. Retrieved September 10, 2017.
  80. ^ a b «Windows 7 system requirements». Support. Microsoft. Retrieved September 10, 2017.
  81. ^ a b c d «Windows 8 system requirements». Support. Microsoft. Retrieved September 10, 2017.
  82. ^ a b c d «Windows 10 Specifications & Systems Requirements». microsoft.com. Microsoft. Retrieved September 10, 2017.
  83. ^ Warren, Tom (August 27, 2021). «Microsoft won’t stop you installing Windows 11 on older PCs». The Verge. Vox Media.

External links[edit]

  • Windows (official page), Microsoft.
  • Russinovich, Mark, «Windows NT and VMS: The Rest of the Story», Win 2000 (discussion of ancestry of NT), archived from the original on May 3, 2002.
  • A Brief History of the Windows NT Operating System (fact sheet), Microsoft PressPass, 1998, archived from the original on June 10, 2004.
276px-Windows NT logo.svg.png

Стартовый экран Windows Server 2012

Разработчик Microsoft Corporation
Последняя версия 10.0.16299.19 (17 октября 2017)
Поддерживаемые платформы IA-32, x86-64, DEC Alpha, MIPS,PowerPC, ARM и Itanium
Тип ядра Гибридное
Лицензия Microsoft EULA
Состояние Актуальное
Веб-сайт windows.microsoft.com/ru-ru

Windows NT (аббр. от англ. New Technology) — линейка операционных систем (ОС) производства корпорации Microsoft и название первых версий ОС.

Windows NT была разработана в начале 1990-х после прекращения сотрудничества Microsoft и IBM  над OS/2, развивалась отдельно от других ОС семейства Windows (Windows 3.x и Windows 9x) и, в отличие от них, позиционировалась как надёжное решение для рабочих станций (Windows NT Workstation) и серверов (Windows NT Server). Windows NT дала начало семейству операционных систем, в которое входят: собственно Windows NT, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8, Windows 8.1, Windows Server 2012, Windows 10.

История разработки[]

Разработка Windows NT под рабочим названием «NT OS/2» была начата в ноябре 1988 года группой специалистов во главе с Дэвидом Катлером, который перешёл в Microsoft из DEC, где они разрабатывали VAX и VMS[1]. Работа шла параллельно с разработкой фирмой IBM собственной ОС, OS/2 2.0, которая окончательно вышла только в апреле 1992 года. В России была выпущена 13 июня 1992 года.

Одновременно с этим фирма Microsoft продолжала разрабатывать свои ОС семейства DOS и Windows, отличающиеся меньшими требованиями к ресурсам компьютера, чем IBM OS/2. После того, как в мае 1990 года была выпущена Windows 3.0, Microsoft решила добавить в NT OS/2 программный интерфейс (API), совместимый с Windows API. Это решение вызвало серьёзные трения между фирмами Майкрософт и IBM, которые закончились разрывом совместной работы. IBM продолжила разработку OS/2 самостоятельно, а Майкрософт стала работать над системой, которая была в результате выпущена под названием Windows NT. Хотя эта система не сразу стала популярной, подобно DOS, Windows 3.x или Windows 9x, с точки зрения маркетинга Windows NT оказалась существенно более удачной, чем OS/2.

Нужно отметить, что в качестве программных интерфейсов ОС NT изначально планировались API OS/2 и затем POSIX, поддержка Windows API была добавлена в последнюю очередь. Кроме того, в качестве аппаратной платформы для NT изначально планировались Intel i860[2] и затем MIPS, поддержка Intel x86 также была добавлена позднее. Затем, в процессе эволюции этой ОС исчезла поддержка обоих изначально запланированных программных интерфейсов и обеих изначально запланированных аппаратных платформ. Для i860 даже не было ни одной релизной версии этой ОС, хотя именно от кодового названия этого процессора, N10 (N Ten), происходит название самой ОС NT[3][4]. Ныне Microsoft расшифровывает аббревиатуру NT как New Technology. А в качестве альтернативы POSIX-подсистеме Microsoft стала предлагать пакет Сервисы Microsoft Windows для UNIX.

Переносимость NT была одной из её первоочередных задач. Именно поэтому разработка этой ОС изначально велась для процессора i860, хотя двоичная совместимость с OS/2, бывшая одним из условий проекта NT OS/2, в любом случае потребовала бы создания версии NT для x86, либо включения в неё эмуляции этой платформы. Количество платформ, для которых существовали релизные версии ОС семейства Windows NT, впечатляет: кроме названных MIPS и Intel x86, сюда входят PowerPC, DEC Alpha, Itanium и AMD x86-64. Независимыми производителями компьютерных систем были также разработаны версии Windows NT для архитектур Clipper (англ.) и SPARC; однако эти версии не были выпущены как самостоятельные программные продукты. В качестве ОС высокой переносимости при разработке NT были взяты за пример ОС Unix и Mach.

Для разработки ОС NT фирма Microsoft пригласила группу специалистов из компании DEC во главе с Дэвидом Катлером, обладающую опытом созданиямногозадачных операционных систем, таких как VAX/VMS и RSX-11. Некоторое сходство, отмеченное между внутренними архитектурами Windows NT и ОС семейства VMS, дало основания обвинить вновь принятых сотрудников Microsoft в краже интеллектуальной собственности DEC. Возникший конфликт был разрешён мирным путём: DEC признала собственность Microsoft на технологии, лежащие в основе Windows NT, а Microsoft создавала и поддерживала версию Windows NT для архитектуры DEC Alpha.

Несмотря на общие корни, совместимость Windows NT и OS/2 уменьшалась с каждым новым выпуском этой ОС. Поддержка API OS/2 2.0, хотя планировалась в NT, так и не была завершена; в Windows NT 4.0 была удалена поддержка файловой системы HPFS, а в Windows XP была удалена подсистема поддержки программ для OS/2 1.x.

Версии[]

Название (кодовое название), варианты номер версии первый выпуск последний выпуск / SP
Windows NT 3.1 3.1.528 27 июля 1993 SP3 (10 ноября 1994)
Workstation, Advanced Server
Windows 3.5 (Daytona) 3.5.807 21 сентября 1994 SP3 (21 июня 1995)
Workstation, Server
Windows 3.51 (Tukwila) 3.51.1057 30 мая 1995 SP5 (19 сентября 1996)
Workstation, Server
Windows NT 4.0 (Indy) 4.0.1381 29 июля 1996 SP6a (30 ноября 1999)
Workstation, Server, Server Enterprise (Granite), Terminal Server (Hydra), Embedded (Impala)
Windows 2000 (Cairo) 5.0.2195 17 февраля 2000 SP4 (26 июня 2003)
Professional, Server, Advanced Server, Datacenter Server
Windows Server 2003 (Whistler Server,Windows .NET Server) 5.2.3790 24 апреля 2003 SP2 (13 мая 2007)
Standard, Enterprise, Datacenter, Web, Small Business Server (Bobcat), Compute Cluster Server, Storage Server; Windows XP Professional x64
Windows Vista (Longhorn) 6.0.6000 30 января 2007 SP2 (25 мая 2009)
Starter, Home Basic, Home Premium, Business, Enterprise, Ultimate, N Home Basic, N Business; x64-варианты всех, кроме Starter
Windows Home Server 6.0.2423 16 июля 2007 Power Pack 3 (24 ноября 2009)
Windows Server 2008 (Longhorn Server) 6.0.6001 27 февраля 2008 SP2 (27 мая 2009)
Standard, Enterprise, Datacenter, HPC, Web, Storage, Small Business (Cougar), Essential Business (Centro), Itanium; x64-варианты всех, кроме HPC
Windows 7 (BlackcombVienna) 6.1.7600 22 октября 2009 SP1 (KB976932) (22 февраля 2011)
Начальная, Домашняя базовая, Домашняя расширенная, Профессиональная, Корпоративная, Максимальная, Windows 7 N, Windows 7 E; x64-варианты всех, кроме Начальной
Windows Server 2008 R2 6.1.7600 22 октября 2009 SP1 (KB976932) (22 февраля 2011)
Standard, Enterprise, Datacenter, HPC, Web, Storage, Small Business , Itanium; все версии — только 64-разрядные
Windows Home Server 2011 6.1.7657 6 апреля 2011
Windows 8 6.2.9200 26 октября 2012 Pro (26 октября 2012)
Windows 8, Windows 8 RT, Профессиональная, Профессиональная N, Профессиональная WMC, Корпоративная, Корпоративная N; x64-варианты всех, кроме Windows RT
Windows Server 2012 6.2.9200 26 октября 2012 RTM (1 августа 2012)
Foundation, Essentials, Standard, Datacenter; все версии — только 64-разрядные
Windows 8.1 6.3.9600 18 октября 2013
Windows 8.1, Windows 8.1 RT, Профессиональная, Профессиональная N, Профессиональная WMC, Корпоративная, Корпоративная N; x64-варианты всех, кроме Windows RT
Windows Server 2012 R2 6.3.9600 18 октября 2013
Foundation, Essentials, Standard, Datacenter; все версии — только 64-разрядные
Windows 10 10.0.10240[5][6][7] 29 июля 2015
Домашняя, Профессиональная, Мобильная, Корпоративная, для образовательных учреждений, мобильная корпоративная, IoT Домашняя; x86, x86-64 и ARM

Внутренняя архитектура[]

Компоненты ядра[]

Компоненты пользовательского режима[]

Подсистема пользовательского интерфейса в Windows NT реализует оконный интерфейс, подобный интерфейсу предыдущих версий Windows. Двумя типами объектов этой подсистемы, отсутствовавшими в 16-битных версиях Windows и в Windows 9x, являются оконные станции и рабочие столы. Оконная станция соответствует одному сеансу пользователя Windows NT — например, при подключении через службу удалённого рабочего столасоздаётся новая оконная станция. Каждый запущенный процесс принадлежит одной из оконных станций; службы, кроме помеченных как способные взаимодействовать с рабочим столом, запускаются в отдельных, невидимых оконных станциях.

Каждая оконная станция имеет собственный буфер обмена, набор глобальных атомов (используемых для операций DDE), и набор рабочих столов. Рабочий стол является контекстом всех глобальных операций подсистемы пользовательского интерфейса, таких как установка хуков и широковещательная рассылка сообщений. Каждый запущенный поток принадлежит к одному из рабочих столов — тому, где расположены обслуживаемые им окна; в частности, один поток не может создать несколько окон, принадлежащих к различным рабочим столам. Один из рабочих столов может быть активным (видимым пользователю и способным реагировать на его действия), остальные рабочие столы спрятаны. Возможность создать для одного сеанса работы несколько рабочих столов и переключаться между ними до настоящего времени не предоставлялась стандартными средствами пользовательского интерфейса Windows, хотя существуют сторонние программы, дающие доступ к этой функциональности.

Оконными станциями и рабочими столами исчерпываются объекты подсистемы пользовательского интерфейса Windows NT, которым могут быть назначены права доступа. Оставшиеся типы объектов — окна и меню — предоставляют полный доступ любому процессу, который находится с ними в одной оконной станции. Поэтому службы Windows NT по умолчанию запускаются в отдельных оконных станциях: они работают с повышенными привилегиями, и возможность процессов пользователя неограниченно манипулировать окнами служб могла бы привести к сбоям и/или проблемам безопасности.

Программные интерфейсы[]

Native API[]

Основная статья: Native API

Для прикладных программ системой Windows NT предоставляется несколько наборов API. Основной из них — так называемый «родной» API (NT Native API), реализованный в динамически подключаемой библиотеке ntdll.dll и состоящий из двух частей: системные вызовы ядра NT (функции с префиксамиNt и Zw, передающие выполнение функциям ядра ntoskrnl.exe с теми же названиями) и функции, реализованные в пользовательском режиме (с префиксом Rtl). Часть функций второй группы используют внутри себя системные вызовы; остальные целиком состоят из непривилегированного кода, и могут вызываться не только из кода пользовательского режима, но и из драйверов. Кроме функций Native API, в ntdll также включены функции стандартной библиотеки языка Си.

Официальная документация на Native API весьма скудна, но сообществам энтузиастов удалось методом проб и ошибок собрать достаточно обширные сведения об этом интерфейсе. В частности, в феврале 2000 года опубликована книга Гэри Неббета «Справочник по базовым функциям API Windows NT/2000» (ISBN 1-57870-199-6); в 2002 году она была переведена на русский язык (ISBN 5-8459-0238-X). Источником информации о Native API может служить Windows DDK, где описаны некоторые функции ядра, доступные посредством Native API, а также изучение кода Windows (обратная разработка) — посредством дизассемблирования, либо используя исходные тексты Windows 2000, ставшие доступными в результате утечки, либо используя исходные тексты Windows 2003, доступные в рамках программы Windows Research Kernel.

Программы, выполняющиеся до загрузки подсистем, обеспечивающих работу остальных API ОС Windows NT, ограничены использованием Native API[8]. Например, программа autochk, проверяющая диски при загрузке ОС после некорректного завершения работы, использует только Native API.

Win32 API[]

Чаще всего прикладными программами для Windows NT используется Win32 API — интерфейс, созданный на основе API ОС Windows 3.1, и позволяющий перекомпилировать существующие программы для 16-битных версий Windows с минимальными изменениями исходного кода. Совместимость Win32 API и 16-битного Windows API настолько велика, что 32-битные и 16-битные приложения могут свободно обмениваться сообщениями, работать с окнами друг друга и т. д. Кроме поддержки функций существовавшего Windows API, в Win32 API был также добавлен ряд новых возможностей, в том числе поддержкаконсольных программ, многопоточности, и объектов синхронизации, таких как мьютексы и семафоры. Документация на Win32 API входит в состав MicrosoftPlatform SDK и доступна на веб-сайте.[9]

Библиотеки поддержки Win32 API в основном названы так же, как системные библиотеки Windows 3.x, с добавлением суффикса 32: это библиотекиkernel32, advapi32, gdi32, user32, comctl32, comdlg32, shell32 и ряд других. Функции Win32 API могут либо самостоятельно реализовывать требуемую функциональность в пользовательском режиме, либо вызывать описанные выше функции Native API, либо обращаться к подсистеме csrss посредством механизма LPC (англ.), либо осуществлять системный вызов в библиотеку win32k, реализующую необходимую для Win32 API поддержку в режиме ядра. Четыре перечисленных варианта могут также комбинироваться в любом сочетании: например, функция Win32 API WriteFile обращается к функции Native API NtWriteFile для записи в дисковый файл, и вызывает соответствующую функцию csrss для вывода в консоль.

Поддержка Win32 API включена в семейство ОС Windows 9x; кроме того, она может быть добавлена в Windows 3.1x установкой пакета Win32s. Для облегчения переноса существующих Windows-приложений, использующих для представления строк MBCS-кодировки, все функции Win32 API, принимающие параметрами строки, были созданы в двух версиях: функции с суффиксом A (ANSI) принимают MBCS-строки, а функции с суффиксом W(wide) принимают строки в кодировке UTF-16. В Win32s и Windows 9x поддерживаются только A-функции, тогда как в Windows NT, где все строки внутри ОС хранятся исключительно в UTF-16, каждая A-функция просто преобразует свои строковые параметры в Юникод и вызывает W-версию той же функции. В поставляемых H-файлах библиотеки также определены имена функций без суффикса, и использование A- либо W-версии функций определяется опциямикомпиляции, а в модулях Delphi до 2010 версии, например, они жёстко завязаны на варианты с суффиксом A. При этом важно отметить, что большинство новых функций, появившихся в Windows 2000 или более поздних ОС семейства Windows NT, существуют только в Unicode-версии, потому что задача обеспечения совместимости со старыми программами и с ОС Windows 9x уже не стоит так остро, как раньше.

POSIX и OS/2[]

В отличие от большинства свободных Unix-подобных ОС, Windows NT сертифицирована институтом NIST на совместимость со стандартом POSIX.1, и даже с более строгим стандартом FIPS 151-2. Библиотекой psxdll экспортируются стандартные функции POSIX, а также некоторые функции Native API, не имеющие аналогов в POSIX — например, для работы с кучей, со структурными исключениями, с Unicode. Внутри этих функций используются как Native API, так и LPC-вызовы в подсистему psxss, являющуюся обычным Win32-процессом.

Для выполнения 16-битных программ, написанных для OS/2 1.x, в состав Windows NT включены две системных библиотеки OS/2 (doscalls и netapi) и консольная программа-эмулятор os2[10], которая загружает и использует посредством LPC-вызовов подсистемы os2srv и os2ss. Остальные системные библиотеки OS/2, кроме двух названных (kbdcalls, mailslot, moncalls, nampipes, quecalls, viocalls и ещё десяток), не хранятся как отдельные файлы, а эмулируются. Программы, написанные для OS/2 2.0 и выше, а также оконные программы и программы, напрямую работающие с устройствами компьютера, в том числе драйверы, системой Windows NT не поддерживаются.

Обе эти подсистемы, необязательные для работы большинства приложений, были удалены в Windows XP и последующих выпусках Windows. При помощи манипуляций с реестром их можно было отключить и в предыдущих версиях Windows NT, что рекомендовалось специалистами по компьютерной безопасности в целях сокращения поверхности атаки компьютерной системы.

DOS и Win16[]

Чтобы обеспечить двоичную совместимость с существующими программами для предыдущих семейств ОС от Microsoft, в Windows NT была добавлена программа-эмулятор ntvdm, реализующая VDM (виртуальную DOS-машину), внутри которой может выполняться программа для DOS. Для каждой выполняемой DOS-программы создаётся собственная VDM, тогда как несколько 16-битных Windows-программ могут выполняться в отдельных потоках внутри одной VDM, которая в этом случае играет роль подсистемы. Для того, чтобы внутри VDM можно было выполнять программы для Windows, в неё сначала должна быть загружена программа wowexec, устанавливающая связь VDM с платформой WOW («Windows on Win32»), позволяющей использовать 16-битные приложения для Windows наравне с 32-битными. Сама программа-эмулятор ntvdm выполняется внутри подсистемы Win32, что позволяет Win32-программам обращаться к окнам DOS-программ как к обычным консольным окнам, а к окнам Win16-программ — как к обычным графическим окнам.

Ещё одна технология обеспечения двоичной совместимости, реализованная в Windows NT — это thunks (англ. thunk = «переходник») — небольшие секции кода, выполняющие преобразования (например типов) или обеспечивающие вызов 32-разрядного кода из 16-разрядного и наоборот. Thunks позволяют 32-битным программам пользоваться 16-битными DLL-библиотеками (для Windows или OS/2) и наоборот. Thunks для Win16 реализованы в библиотекахwow32 (32-битные точки входа) и krnl386 (16-битные точки входа); thunks для OS/2 — в библиотеке doscalls (16-битные точки входа). К 16-битным системным библиотекам, включённым в состав Windows NT для использования технологией WOW, относятся krnl386, gdi, user, commctrl, commdlg, shellи др. Поддержка DOS-программ виртуальной DOS-машиной системы Windows NT не ограничена эмуляцией реального режима процессора x86: поддерживается интерфейс DPMI, позволяющий DOS-программам обращаться к расширенной памяти. Однако поддержка программ для DOS и Win16 в Windows NT ограничена требованиями безопасности: программы, напрямую работающие с устройствами компьютера, в том числе драйверы, не поддерживаются.

В связи с аппаратными ограничениями 64-битных платформ, поддержка VDM и WOW была исключена из 64-битных версий Windows, запуск 16-битных программ средствами системы на них невозможен, но возможно использование эмуляторов, таких как DOSBox. Основным API этих версий Windows NT является 64-битная версия Win32 API; для запуска 32-битных программ используется технология WOW64, аналогичная традиционной WOW.

Аппаратные платформы[]

Как уже было отмечено, создание версии NT для x86 требовалось для обеспечения совместимости с OS/2, — однако для того, чтобы убедиться в переносимости создаваемого кода, разработка NT началась с версий для RISC-архитектур, и только потом была добавлена поддержка x86. Изначально разработка x86-версии Windows NT была ориентирована на процессор 80486, но к моменту выпуска Windows NT 3.1 была также добавлена поддержка80386. Последней версией, поддерживающей i386, была Windows NT 3.51.

Процессор i860, для которого велась начальная разработка ОС NT, не получил ко времени завершения работ над Windows NT той поддержки производителями компьютеров, на которую рассчитывали Intel и Microsoft. В результате тремя платформами, поддержка которых была включена в Windows NT 3.1, стали x86, Alpha и MIPS. В выпусках Windows NT 3.x поддержка этих платформ сохранялась, пополнившись в Windows NT 3.51 также архитектурой PReP (англ.) на основе процессора PowerPC. Однако Windows NT 3.51 не была совместима с компьютерами Macintosh с тем же процессором; фактически, поддерживались только клоны IBM PC с процессором PowerPC вместо x86. Такие компьютеры выпускались в основном фирмами-создателями PowerPC — IBM и Motorola.

Первый выпуск Windows NT 4 поддерживал четыре платформы (x86, Alpha, MIPS и PowerPC), но поддержка менее распространённых платформ сокращалась по мере выхода пакетов обновления: из SP1 была удалена поддержка MIPS, из SP3 — поддержка PowerPC. Последними выпусками Windows NT 4 поддерживались только x86 и Alpha; хотя поддержка Alpha планировалась к включению в Windows 2000, она была исключена из версии RC2. В результате единственной платформой, поддерживаемой на Windows 2000, стала x86.

Поддержка 64-битных процессоров была впервые реализована в Windows XP для IA-64 — архитектуры процессоров Intel Itanium. На основе 64-битной версии Windows XP были созданы также 64-битные серверные версии Windows 2000; позже поддержка процессора Itanium была добавлена и в часть версий Windows Server 2003. Второй 64-битной архитектурой, поддерживаемой в ОС семейства Windows NT, стала созданная AMD архитектура x86-64, позже реализованная в процессорах Intel под названием EM64T. Одновременно были выпущены Windows Server 2003 SP1 x64 и Windows XP Professional x64, представляющие собой серверный и настольный варианты одной и той же версии Windows — в частности, к этим выпускам применимы одни и те же обновления. С 2005 года корпорацией Майкрософт было принято решение прекратить поддержку IA-64.; последней версией ОС Windows NT, полноценно поддерживающей Itanium, является Windows NT 5.2 (XP Professional 64-bit Edition и Server 2003). Однако для более дорогих (и, соответственно, труднее модернизируемых) серверов были выпущены специальные версии Windows Server 2008 и Windows Server 2008 R2, а Windows Server 2012 поддержки IA-64 уже не получила.

В этой статье мы рассмотрим виды операционных систем Windows NT. Windows NT — это не Windows2000 или какая-нибудь еще. Это серия, а точнее платформа, на базе которой ведутся разработки ОС. Практически все семейство Windows базируется на этой платформе. Помимо NT есть еще платформа 9х, к которой относится Windows95, Windows98 и WindowsME.

Из-за того, что были опасения в неправильной работе программ, написанных с учётом старых версий ОС, в свет выпустили 10-ую версию операционной системы сразу после восьмой. Иначе 9-ка в версии могла толковаться программой как операционная система серии 9-х. Подробности о том, что же такое NT – в этой статье.

Windows NT (в просторечии просто NT) — линейка операционных систем (ОС) производства корпорации Microsoft и название первых версий ОС. Windows NT была разработана после прекращения сотрудничества Microsoft и IBM над OS/2, развивалась отдельно от других ОС семейства Windows (Windows 3.x и Windows 9x).

В отличие от Windows 3.x и Windows 9x, Windows NT позиционировалась как надёжное решение для рабочих станций (Windows NT Workstation) и серверов (Windows NT Server). Windows NT дала начало семейству операционных систем, в которое входят: собственно Windows NT, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows 8. Информация из статьи Windows NT, Wikipedia.

Название ОС Windows

Номер версии NT

Windows NT 4.0 4.0.1381
Windows 2000 5.0.2195
Windows XP 5.1.2600
Windows Vista 6.0.6000
Windows 7 6.1.7600

Номер, который стоит после букв NT — это порядковый номер разработки ОС на базе NT. Сейчас выходит Windows7 (Windows NT6.1), седьмая разработка на базе NT. Vista — NT6.0, XP — NT5.1, Windows2000 — NT5.0. Win2K — это просто физическая интерпретация числа (2К=2000). Windows NT — это целое семейство ОС. С этим часто сталкиваешься, когда скачиваешь руководства по установке и настройке или драйвера устройств.

Windows 95

Со времён Windows95 интерфейс операционной системы принципиально не сильно изменился. Разумеется, он стал качественнее, совершеннее и удобнее, появилось много новых функций. Но человек, работавший на Windows2000 достаточно легко освоится и в последующих версиях ОС Windows (если говорить об интерфейсе системы в целом). Технически системы отличаются друг от друга, способы решения пользовательских задач на разных системах тоже различаются.

Windows 2000

В целом, если описывать данное семейство ОС, то можно сказать, что история ОС Windows делится на 2 части — до выхода Windows Vista и после. Ничего принципиально нового (кроме визуальных эффектов) в интерфейс этой версии своей ОС разработчики Microsoft не привнесли, однако полностью было переписано ядро системы.

Windows Vista

Из-за нового ядра была потеряна совместимость со старыми программами (разработка которых остановилась до выхода Vista) и драйверами старых устройств. Этим в большей мере объясняется дурная слава и непопулярность этой версии Windows. В Windows7 разработчики учли ошибки, производители софта и железа уже имели возможность выпускать ПО и оборудование с учётом новых требований ОС, однако большинство старых программ и старого оборудования этой операционной системой уже не поддерживается.

Совместимость версий Windows

Чтобы выйти из положения (множество промышленных программ не работает в Windows7), в версиях Windows7 Professional, Enterprise и Ultimate есть возможность запускать программы из-под XP-Mode. XP-Mode представляет собой виртуальную машину и образ лицензионной WindowsXP. Правда графические возможности эмуляции находятся на уровне S3 Trio64 без поддержки 3D, то есть самый минимум.

XP-Mode

Если материалы сайта оказались для вас полезными, можете поддержать дальнейшее развитие ресурса, оказав ему (и мне ) моральную и материальную поддержку.

Читать далее:

Windows и Linux

Пару лет назад на одном форуме я, участвуя в одном жарком споре на тему чьё болото лучше, опубликовал пост, который и раскроет тему данной статьи. Привожу его ниже:


Маленькое отступление по поводу Windows и Linux. Тут понимаете в чём дело: Windows — это совокупность ядра системы, а также служебных программ и скриптов, выполняющих определённые операции и задачи. На этой ОС у вас нет права изменять или удалять скрипты и системное ПО…

19 июля 2011 г.

iOS4

Преамбула: В последнее время внимание человечества захватили всяческие мобильные и, особо модные, облачные технологии. Десктопы и ноутбуки отошли на второй план, уступив место более компактным и привлекательным игрушкам для досуга и бизнеса. Наши новые друзья не просто умеют полифонию, показывать картинки и ходить в интернет, но и стали модными аксессуарами, которые грех не выложить на столик в кафе рядом с чашечкой чая, время от времени скользя указательным пальцем по надписи “Slide to unlock”. Но день клонится вечеру, ваш электронный партнёр устал и ему пора на зарядку. Что ж, вставим USB хвостик куда надо… пусть отдохнёт.

Гостевая статья, написанная Максимом Мозаевым специально для Nevor.ru. Максим неплохо разбирается во всяких железках и активно пользуется продуктами компании Apple. Сам я продукты фруктовой компании не использую, поэтому пришлось для написания этой статьи пригласить компетентного человека, который в теме.

19 февраля 2011 г.

Дистрибутивы Linux

Linux – это не операционная система, а всего лишь ее ядро. Все, что вы привыкли видеть и понимать как операционку (кнопки, окна и панели) — на самом деле ею не является. То, что вы видите — это GUI (Graphical user interface), то есть графический интерфейс пользователя, именуемый также графической средой или графической оболочкой. GUI – это программа, призванная упростить жизнь пользователю, чтобы он не мучился с консолью. На самом деле любая ОС выглядит как консоль, то есть как старый добрый DOS.

Виды операционных систем, построенных на ядре Linux сильно разнятся как по обеспечению рабочим окружением, так и по набору прикладных программ, доступных в ОС. Это отчасти потому, что часть программ поддерживают лишь некоторые GUI или зависят от других программ, которых нет в данной системе. Беглый обзор различий и особенностей пёстрого мира Linux – в этой статье.

16 июля 2011 г.

Windows NT (New Technology) – семейство операционных систем, выпускаемых корпорацией Microsoft с середины 1993 года. Первоначально позиционировались как системы для рабочих станций и серверов.

История Windows NT

В конце 88-го года Microsoft поручила Дэвиду Катлеру (David Cutler) возглавить новый проект в области программного обеспечения: создать новую операционную систему корпорации Microsoft для 1990-х годов. Он собрал команду инженеров для разработки системы новой технологии (New Technology — NT).

Первоначально планировалось разработать NT с пользовательским и программным (API) интерфейсами в стиле OS/2, однако OS/2 плохо продавалась, а Windows 3.0 имела большой и постоянный успех на рынке. Увидев рыночные ориентиры и сложности, связанные с развитием и поддержкой двух несовместимых систем, Microsoft решила изменить свой курс и направить своих инженеров в сторону стратегии единой цельной операционной системы. Эта стратегия состяла в том, чтобы разрабатывать семейство базирующихся на Windows операционных систем, которые охватывали бы множество типов компьютеров, от самых маленьких ноутбуков до самых больших мультипроцессорных рабочих станций. Так, следующее поколение Windows-систем было названо Windows NT.

Windows NT поддерживает графический интерфейс (GUI) Windows, а также является первой базирующейся на Windows операционной системой фирмы Microsoft, поддерживающей Win32 API, 32-х битный программный интерфейс для разработки новых приложений. Win32 API делает доступными для приложений улучшенные свойства операционной системы, такие как многонитевые процессы, синхронизацию, безопасность, I/O, управление объектами.

В июле 1993 года появились первые операционные системы семейства NT — Windows NT 3.1 и Windows NT Advanced Server 3.1.

Версии

  • Windows NT 3.1 (27 июля 1993 г.)
  • Windows NT 3.5 (21 сентября 1994 г.)
  • Windows NT 3.51 (30 мая 1995 г.)
  • Windows NT 4.0 (24 августа 1996 г.)
  • Windows 2000 (17 февраля 2000 г.)
  • Windows XP (25 октября 2001 г.)
  • Windows XP 64-bit Edition (28 марта 2003 г.)
  • Windows Server 2003 (25 апреля 2003 г.)
  • Windows XP Media Center Edition 2003 (18 декабря 2003 г.)
  • Windows XP Media Center Edition 2005 (12 октября 2004 г.)
  • Windows XP Professional x64 Edition (25 апреля 2005 г.)
  • Windows Fundamentals for Legacy PCs (8 июля 2006 г.)
  • Windows Vista (30 ноября 2006 г.)
  • Windows Home Server (7 ноября 2007г.)
  • Windows Server 2008 (27 февраля 2008 г.)
  • Windows 7
  • Windows 8
  • Windows 8.1

Структура Windows NT

Структурно Windows NT может быть представлена в виде двух частей: часть операционной системы, работающая в режиме пользователя, и часть операционной системы, работающая в режиме ядра

Часть Windows NT, работающая в режиме ядра, называется исполнительной частью (executive). Она включает ряд компонентов, которые управляют виртуальной памятью, объектами (ресурсами), вводом-выводом и файловой системой (включая сетевые драйверы), взаимодействием процессов и частично системой безопасности. Эти компоненты взаимодействуют между собой с помощью межмодульной связи. Каждый компонент вызывает другие с помощью набора тщательно специфицированных внутренних процедур.

Вторую часть Windows NT, работающую в режиме пользователя, составляют серверы — так называемые защищенные подсистемы. Так как подсистемы автоматически не могут совместно использовать память, они общаются друг с другом посредством посылки сообщений. Сообщения могут передаваться как между клиентом и сервером, так и между двумя серверами. Все сообщения проходят через исполнительную часть Windows NT. Ядро Windows NT планирует нити защищенных подсистем точно так же, как и нити обычных прикладных процессов.

Поддержку защищенных подсистем обеспечивает исполнительная часть. Ее составными частями являются:

  • Менеджер объектов. Создает, удаляет и управляет объектами исполнительной части — абстрактными типами данных, используемых для представления ресурсов системы.
  • Монитор безопасности. Устанавливает правила защиты на локальном компьютере. Охраняет ресурсы операционной системы, выполняет защиту и регистрацию исполняемых объектов.
  • Менеджер процессов. Создает и завершает, приостанавливает и возобновляет процессы и нити, а также хранит о них информацию.

Менеджер виртуальной памяти.

  • Подсистема ввода-вывода. Включает в себя следующие компоненты:
    • менеджер ввода-вывода, предоставляющий средства ввода-вывода, независимые от устройств;
    • файловые системы — NT-драйверы, выполняющие файл-ориентированные запросы на ввод-вывод и транслирующие их в вызовы обычных устройств;
    • сетевой редиректор и сетевой сервер — драйверы файловых систем, передающие удаленные запросы на ввод-вывод на машины сети и получающие запросы от них;
    • драйверы устройств исполнительной части — низкоуровневые драйверы, которые непосредственно управляют устройством;
    • менеджер кэша, реализующий кэширование диска.

Исполнительная часть, в свою очередь, основывается на службах нижнего уровня, предоставляемых ядром NT. В функции ядра входит:

  • планирование процессов,
  • обработка прерываний и исключительных ситуаций,
  • синхронизация процессоров для многопроцессорных систем,
  • восстановление системы после сбоев.

Ядро работает в привилегированном режиме и никогда не удаляется из памяти. Обратиться к ядру можно только посредством прерывания.

Защищенные подсистемы Windows NT работают в пользовательском режиме и создаются Windows NT во время загрузки операционной системы. Сразу после создания они начинают бесконечный цикл своего выполнения, отвечая на сообщения, поступающие к ним от прикладных процессов и других подсистем. Среди защищенных подсистем можно выделить подкласс, называемый подсистемами окружения. Подсистемы окружения реализуют интерфейсы приложений операционной системы (API). Другие типы подсистем, называемые интегральными подсистемами, исполняют необходимые операционной системе задачи. Например, большая часть системы безопасности Windows NT реализована в виде интегральной подсистемы, сетевые серверы также выполнены как интегральные подсистемы.

Наиболее важной подсистемой окружения является Win32 — подсистема, которая обеспечивает доступ для приложений к 32-bit Windows API. Дополнительно эта система обеспечивает графический интерфейс и управляет вводом/выводом данных пользователя.

Каждая защищенная подсистема работает в режиме пользователя, вызывая системный сервис исполнительной части для выполнения привилегированных действий в режиме ядра. Сетевые серверы могут выполняться как в режиме пользователя, так и в режиме ядра, в зависимости от того, как они разработаны.

Подсистемы связываются между собой путем передачи сообщений. Когда, например, пользовательское приложение вызывает какую-нибудь API-процедуру, подсистема окружения, обеспечивающая эту процедуру, получает сообщение и выполняет ее либо обращаясь к ядру, либо посылая сообщение другой подсистеме. После завершения процедуры подсистема окружения посылает приложению сообщение, содержащее возвращаемое значение. Посылка сообщений и другая деятельность защищенных подсистем невидима для пользователя.

Основным средством, скрепляющим все подсистемы Windows NT в единое целое, является механизм вызова локальных процедур (Local Procedure Call — LPC). LPC представляет собой оптимизированный вариант более общего средства — удаленного вызова процедур (RPC), которое используется для связи клиентов и серверов, расположенных на разных машинах сети.

Средства LPC поддерживают несколько способов передачи данных между клиентами и серверами: один обычно используется для передачи коротких сообщений, другой — для длинных сообщений, а третий оптимизирован специально для использования подсистемой Win32. Каждая подсистема устанавливает порт — канал связи, посредством которого с ней могут связываться другие процессы. Порты реализуются как объекты.

См. также

  • Microsoft Windows
  • Корпорация Microsoft

Ссылки

  • Сетевые операционные системы Н. А. Олифер, В. Г. Олифер
  • Microsoft Windows history

семейство операционных систем от Microsoft

Windows NT

Windows darkblue 2012.svg
Developer Microsoft
Написано на C, C ++ и язык ассемблера
Рабочее состояние Текущее
Исходная модель
  • Закрытый исходный код
  • Исходный код (через Общий исходный код Инициатива )
Первый выпуск 27 июля 1993 г ​​.; 27 лет назад (1993-07-27). (как Windows NT 3.1 )
Последний выпуск
20H2

10.0.19042.610. (29 октября 2020 г.; 5 дней назад (2020-10-29))

Последний предварительный просмотр
Dev Channel

10.0.20246.1. (октябрь 29, 2020; 5 дней назад (2020-10-29))

Метод обновления Центр обновления Windows, Службы обновления Windows Server
Платформы IA-32, x86-64 и ARM (и исторически DEC Alpha, Itanium, MIPS и PowerPC )
Тип ядра Гибрид
По умолчанию пользовательский интерфейс Графический (Оболочка Windows )
Лицензия В зависимости от версии ve rsion, выпуск или выбор клиента: Пробная версия, коммерческое ПО, корпоративное лицензирование, OEM -только, SaaS, S + S
Официальный сайт www.microsoft.com / windows /

Windows NT — это семейство операционных систем производства Microsoft, первая версия которого была выпущена 27 июля 1993 года. Это независимая от процессора, многопроцессорная и многопользовательская операционная система..

Первой версией Windows NT была Windows NT 3.1, она производилась для рабочих станций и серверных компьютеров. Он был предназначен для дополнения потребительских версий Windows, основанных на MS-DOS (включая Windows 1.0 — Windows 3.1x ). Постепенно семейство Windows NT было расширено до продуктовой линейки операционных систем общего назначения Microsoft для всех персональных компьютеров, исключая семейство Windows 9x.

«NT» ранее расширялось до «New Technology», но больше не несет какого-либо конкретного значения. Начиная с Windows 2000, «NT» было удалено из названия продукта и включено только в строку версии продукта.

NT была первым чисто 32-битным версия Windows, тогда как ее ориентированные на потребителя аналоги, Windows 3.1x и Windows 9x, были гибридами 16- и 32-разрядных версий. Это операционная система с несколькими архитектурами. Первоначально он поддерживал несколько архитектур наборов команд, включая IA-32, MIPS и DEC Alpha ; поддержка для PowerPC, Itanium, x64 и ARM была добавлена ​​позже. Последние версии поддерживают x86 (включая IA-32 и x64) и ARM. Основные функции семейства Windows NT включают Windows Shell, Windows API, Native API, Active Directory, Group Policy, Уровень абстракции оборудования, NTFS, BitLocker, Магазин Windows, Центр обновления Windows и Hyper-V.

Содержание

  • 1 Именование
  • 2 Основные функции
  • 3 Разработка
  • 4 Выпуски
  • 5 Язык программирования
  • 6 Поддерживаемые платформы
    • 6.1 32-разрядные платформы
    • 6.2 64-битные платформы
  • 7 Требования к оборудованию
  • 8 См. Также
  • 9 Примечания
  • 10 Ссылки
  • 11 Внешние ссылки

Именование

Было предложено, чтобы Дэйв Катлер задумал инициализм «WNT» как игру на VMS, увеличивая каждую букву на единицу. Однако проект изначально задумывался как продолжение OS / 2 и назывался «NT OS / 2» до того, как получил торговую марку Windows. Один из первоначальных разработчиков NT, Марк Луковски, утверждает, что название было взято от исходного целевого процессора — Intel i860 с кодовым названием N10 («N-Ten»). Сессия вопросов и ответов 1998 года с Биллом Гейтсом показала, что буквы ранее были заменены на «Новые технологии», но больше не несут какого-либо конкретного значения. Буквы были исключены из названий выпусков Windows 2000 и более поздних версий, хотя Microsoft описала этот продукт как «построенный на технологии NT».

Основные функции

Одна из основных целей NT аппаратная и программная переносимость. Были выпущены различные версии операционных систем семейства NT для различных архитектур процессоров, первоначально IA-32, MIPS и DEC Alpha с PowerPC, Itanium, x86-64 и ARM поддерживаются в более поздних выпусках. Первоначальная идея заключалась в том, чтобы иметь общую кодовую базу с настраиваемым Hardware Abstraction Layer (HAL) для каждой платформы. Однако поддержка MIPS, Alpha и PowerPC была позже прекращена в Windows 2000. Широкая совместимость программного обеспечения изначально была достигнута за счет поддержки нескольких API «личностей», включая Windows API, POSIX и OS / 2 API — последние два были прекращены, начиная с Windows XP. Частичная совместимость с MS-DOS и Windows с 16-разрядной версией достигается на IA-32 через интегрированную виртуальную машину DOS, хотя эта функция недоступна на других архитектурах.

NT поддерживает для каждого объекта (файла, функции и роли) списки управления доступом, позволяющие применять широкий набор разрешений безопасности к системам и службам. NT также поддерживает сетевые протоколы Windows, наследуя предыдущую сеть OS / 2 LAN Manager, а также сеть TCP / IP (для которой Microsoft использовала стек TCP / IP, полученный сначала из стека на основе STREAMS из Spider Systems, а затем переписанного собственными силами).

Windows NT 3.1 была первой версией Windows, использующей 32 -битная адресация плоской виртуальной памяти на 32-битных процессорах. Его сопутствующий продукт, Windows 3.1, использовал сегментированную адресацию и переключался с 16-битной на 32-битную адресацию на страницах.

Windows NT 3.1 содержала ядро ​​ядра, обеспечивающее системный API, работающее в режиме супервизора (кольцо 0 в x86; в Windows NT называется «режимом ядра» на всех платформах), и набор сред пользовательского пространства с собственными API-интерфейсами, который включает новую среду Win32, среду текстового режима OS / 2 1.3 и среду POSIX. Полное ядро ​​с вытесняющей многозадачностью могло прерывать выполнение задач, чтобы планировать другие задачи, не полагаясь на то, что программы пользователя добровольно откажутся от управления процессором, как в приложениях Windows 3.1 Windows (хотя MS- Приложения DOS были приоритетно многозадачными в Windows, начиная с Windows / 386 ).

Примечательно, что в Windows NT 3.x несколько подсистем драйвера ввода-вывода, например видео и печать, были подсистемами пользовательского режима. В Windows NT 4 подсистемы диспетчера очереди видео, сервера и принтера были переведены в режим ядра. На первый GUI Windows NT сильно повлиял (и был программно совместим) с Windows 3.1; Интерфейс Windows NT 4 был переработан, чтобы соответствовать интерфейсу новой Windows 95, с переходом от Program Manager к дизайну оболочки Windows.

NTFS, защищенная файловая система с журналированием, является основной функцией NT. Windows NT также допускает другие устанавливаемые файловые системы; начиная с версии 3.1 NT может быть установлен в файловых системах FAT или HPFS.

Windows NT представила свою собственную модель драйвера, модель драйвера Windows NT, и несовместима со старыми фреймворками драйверов. В Windows 2000 модель драйвера Windows NT была усовершенствована и стала моделью драйвера Windows, которая впервые была представлена ​​в Windows 98, но была основана на NT модель драйвера. Windows Vista добавлена ​​встроенная поддержка для Windows Driver Foundation, которая также доступна для Windows XP, Windows Server 2003 и в некоторой степени, Windows 2000.

Разработка

Оригинальный текстовый знак Windows NT

Microsoft решила создать портативную операционную систему, совместимую с OS / 2 и POSIX и поддерживающий многопроцессорность в октябре 1988 года. Когда разработка началась в ноябре 1989 года, Windows NT должна была называться OS / 2 3.0, третья версия операционной системы, разработанная совместно Microsoft и IBM. Для обеспечения переносимости первоначальная разработка была нацелена на процессор Intel i860 XR RISC, переход на MIPS R3000 в конце 1989 года и затем Intel i386 в 1990 году. Microsoft также продолжала параллельную разработку основанной на DOS и менее требовательной к ресурсам среды Windows, в результате чего была выпущена Windows 3.0 в мае 1990 года.

Windows 3.0 в конечном итоге была настолько успешной, что Microsoft решила изменить основной интерфейс прикладного программирования для еще не выпущенной NT OS / 2 (как она тогда называлась) с расширенной OS / 2 API для расширенного Windows API. Это решение вызвало напряженность между Microsoft и IBM, и сотрудничество в конечном итоге развалилось.

IBM продолжала разработку OS / 2 в одиночку, в то время как Microsoft продолжала работу над недавно переименованной Windows NT. Хотя ни одна из операционных систем сразу не стала бы такой популярной, как продукты Microsoft MS-DOS или Windows, Windows NT в конечном итоге была бы гораздо более успешной, чем OS / 2.

Microsoft наняла группу разработчиков из Digital Equipment Corporation во главе с Дэйвом Катлером для создания Windows NT, и многие элементы дизайна отражают предыдущий опыт DEC с Cutler’s VMS и RSX-11, но также еще не выпущенная объектно-ориентированная операционная система, разработанная Дэйвом Катлером для DEC Prism под названием Mica. К группе присоединились избранные члены расформированной команды OS / 2, в том числе Моше Дуни.

архитектура Windows 2000

Ядро VMS было написано на VAX Macro, но была разработана Windows NT для работы на нескольких архитектурах набора команд и на нескольких аппаратных платформах в каждой архитектуре. Зависимости платформы скрыты от остальной системы с помощью HAL (уровень аппаратной абстракции).

При создании Windows NT разработчики Microsoft переписали VMS на C. Хотя они добавили Win32 API, файловую систему NTFS, графический интерфейс и обратную совместимость с DOS, OS / 2 и Win16, Инженеры DEC почти сразу заметили внутреннее сходство двух операционных систем; Части VAX / VMS Internals and Data Structures, опубликованные Digital Press, точно описывают внутреннее устройство Windows NT с использованием терминов VMS. Вместо судебного иска Microsoft согласилась выплатить DEC 65–100 миллионов долларов, помочь в продвижении VMS, обучить цифровой персонал работе с Windows NT и продолжить поддержку Windows NT для DEC Alpha.

Windows NT и VMS управление памятью, процессы и планирование очень похожи. В Windows NT управление процессами отличается реализацией многопоточности, которую DEC не реализовывала до VMS 7.0 в 1995 году, вероятно, будет конкурировать с Microsoft.

Как и VMS, код режима ядра Windows NT различает «ядро», основное назначение которого — реализация функций, зависящих от процессора и архитектуры, и «исполнительный». Это было разработано как модифицированное микроядро, поскольку на ядро ​​Windows NT повлияло микроядро Маха, разработанное в Университете Карнеги-Меллона, но оно не отвечает всем критериям чистого микроядра. И ядро, и исполнительная система связаны вместе в один загруженный модуль ntoskrnl.exe ; извне этого модуля между ядром и исполнительной системой мало различий. Подпрограммы из каждого доступны напрямую, например, из драйверов устройств режима ядра.

Наборы API в семействе Windows NT реализованы как подсистемы поверх публично недокументированного «собственного» API ; это позволило позднее внедрить Windows API (в подсистему Win32). Windows NT была одной из первых операционных систем, в которых использовался Unicode внутри.

Выпуски

выпуски Windows NT

Версия Торговое название Выпуски Дата выпуска Номер сборки
3.1 Windows NT 3.1 Рабочая станция (названная просто Windows NT), Advanced Server 27 июля 1993 г. 528
3.5 Windows NT 3.5 Workstation, Server 21 сентября 1994 г. 807
3.51 Windows NT 3.51 30 мая 1995 г. 1057
4.0 Windows NT 4.0 Workstation, Server, Server Enterprise Edition, Terminal Server, Embedded 24 августа 1996 г. 1381
5.0 Windows 2000 Professional, Server, Advanced Server 17 февраля 2000 г. 2195
Datacenter Server 26 сентября 2000 г.
5.1 Windows XP Home, Professional, Media Center (оригинал, 2004 и 2005 гг.), Планшетный ПК (исходный и 2005 г.), Starter, Embedded, Home N, Professional N 25 октября 2001 г. 2600
Основы Windows для устаревших ПК Н / Д 8 июля 2006 г.
5.2 Windows XP 64-разрядная версия версии 2003 (IA-64 ) 28 марта 2003 г. 3790
Windows Server 2003 Standard, Enterprise, Datacenter, Web, Storage, Small Business Server, Compute Cluster 24 апреля 2003 г.
Windows XP Professional x64 Edition (x86-64 ) 25 апреля 2005 г.
Windows Server 2003 R2 Standard, Enterprise, Datacenter, Web, Storage, Small Business Server, Compute Cluster 6 декабря 2005 г.
Windows Home Server Н / Д 16 июля 2007 г.
6.0 Windows Vista Starter, Home Basic, Home Premium, Business, Enterprise, Ultimate
  • Business: 30 ноября 2006 г.
  • Потребитель: 30 января 2007 г.
  • 6000 (RTM)
  • 6001 (SP1)
  • 6002 (SP2)
  • 6003 (Неофициальный)
Windows Server 2008 Foundation, Standard, Enterprise, Datacenter, Web Server, HPC Server, Системы на базе Itanium 27 февраля 2008 г.
  • 6001 (RTM)
  • 6002 (SP2)
  • 6003 (обновление SP2)
6.1 Windows 7 Sta rter, Home Basic, Home Premium, Professional, Enterprise, Ultimate 22 октября 2009 г.
  • 7600 (RTM)
  • 7601 (SP1)
Windows Server 2008 R2 Foundation, Standard, Enterprise, Datacenter, Web Server, HPC Server, Системы на базе Itanium
Windows Home Server 2011 Н / Д 6 апреля 2011 г.
  • 7600 (RTM)
Windows Thin PC 6 июня 2011 г. 7601 (RTM)
6.2 Windows 8 Windows 8, Windows 8 Pro, Windows 8 Enterprise, Windows RT 26 октября 2012 г. 9200
Windows Server 2012 Foundation, Essentials, Standard, Datacenter 4 сентября 2012 г.
6.3 Windows 8.1 Windows 8.1, Windows 8.1 Pro, Windows 8.1 Enterprise, Windows RT 8.1 18 октября 2013 г. 9600
Windows Server 2012 R2 Foundation, Essentials, Standard, Datacenter
10.0 Windows 10 Home для одного языка, Home, Pro, Pro Education, Pro для рабочих станций, Enterprise, Education, Windows 10 S, IoT Core, Mobile, Mobile E nterprise 29 июля 2015 г.
  • 10240 (TH1)
  • 10586 (TH2)
  • 14393 (RS1)
  • 15063 (RS2)
  • 16299 (RS3)
  • 17134 (RS4)
  • 17763 (RS5)
  • 18362 (19H1)
  • 18363 (19H2)
  • 19041 (20H1)

19042 (20H2)

  • 20236 (Dev)
Windows Server 2016 Essentials, Standard, Datacenter, Multipoint Premium Server, Storage Server, Hyper-V Server 26 сентября 2016 г.
  • 14393 (RS1)
Windows Server 2019 Essentials, Standard, Datacenter, Multipoint Premium Server, Hyper-V Server 2 октября 2018 г.
  • 17763 (RS5)

Windows NT 3.1–3.51 включает Program Manager и File Manager из серии Windows 3.1x. Windows NT 4.0 и далее заменила эти программы на Windows Explorer (включая панель задач и меню «Пуск» ), которые изначально появились в Windows 95.

первый выпуск получил номер версии 3.1, чтобы соответствовать современной 16-битной Windows; журналы той эпохи утверждали, что этот номер также использовался для того, чтобы эта версия казалась более надежной, чем версия «.0». Кроме того, протокол Novell IPX, по-видимому, был лицензирован только для версий программного обеспечения Windows 3.1.

Номер версии NT в настоящее время обычно не используется в маркетинговых целях, но все еще используется внутри компании и, как утверждается, отражает степень изменений в ядро операционной системы. Однако из соображений совместимости приложений Microsoft сохранила основной номер версии как 6 в выпусках, следующих за Vista, но позже изменила его на 10 в Windows 10. Номер сборки — это внутренний идентификатор, используемый разработчиками и бета-тестерами Microsoft.

Язык программирования

Windows NT написана на C и C ++, при этом очень небольшое количество написано на языке ассемблера. C в основном используется для кода ядра, а C ++ в основном используется для кода пользовательского режима. По возможности избегают использования языка ассемблера, поскольку он может затруднить переносимость.

Поддерживаемые платформы

32-битные платформы

Для предотвращения кода, специфичного для Intel x86 Из-за того, что разработчики, привыкшие к разработке на чипах x86, внедрились в операционную систему, Windows NT 3.1 изначально разрабатывалась с использованием систем разработки, отличных от x86, а затем была перенесена на архитектуру x86. Первоначально эта работа была основана на системе Dazzle на базе Intel i860, а затем на платформе Jazz на базе MIPS R4000. Обе системы были разработаны внутри Microsoft.

Windows NT 3.1 была выпущена для Intel x86 PC-совместимых, PC-98, DEC Alpha, и ARC -совместимые платформы MIPS. Windows NT 3.51 добавила поддержку процессора PowerPC в 1995 году, в частности, систем, совместимых с PReP, таких как настольные / портативные компьютеры IBM Power Series и серия Motorola PowerStack; но, несмотря на встречи между Майклом Спиндлером и Биллом Гейтсом, а не на Power Macintosh, поскольку проект Power Macintosh, совместимый с PReP, не состоялся.

Intergraph Corporation перенесла Windows NT на свою архитектуру Clipper и позже объявила о намерении перенести Windows NT 3.51 на архитектуру Sun Microsystems ‘SPARC, но ни одна из версий не была продана широкой публике как розничный продукт.

Только два из вариантов Windows NT 4.0 (IA-32 и Alpha) имеют полный набор доступных пакетов обновления. Все остальные порты сторонних производителей (Motorola, Intergraph и т. Д.) Имеют мало общедоступных обновлений, если таковые имеются.

Windows NT 4.0 была последним крупным выпуском, поддерживающим Alpha, MIPS или PowerPC, хотя разработка Windows 2000 для Alpha продолжалась до августа 1999 года, когда Compaq прекратил поддержку Windows NT на этом архитектура; а затем три дня спустя Microsoft также отменила свою программу AlphaNT, несмотря на то, что версия Alpha NT 5 (Windows 2000) достигла состояния RC1.

5 января 2011 года Microsoft объявила, что следующее основная версия семейства Windows NT будет включать поддержку архитектуры ARM. Microsoft продемонстрировала предварительную версию Windows (версия 6.2.7867), работающую на компьютере на базе ARM, на выставке Consumer Electronics Show 2011 года. В конечном итоге это привело к коммерческому выпуску производной от Windows 8 Windows RT 26 октября 2012 г. и реализации NT поверх CE на Windows Phone 8.

Согласно Microsoft, это распространенное заблуждение, что Xbox и Xbox 360 используют модифицированное ядро ​​Windows 2000, поскольку операционная система Xbox была создана с нуля, но реализует подмножество API Windows. Однако Xbox One использует модифицированную версию Windows 10.

64-битные платформы

64-битные версии Windows Изначально NT предназначалась для работы на Itanium и DEC Alpha ; последний использовался внутри Microsoft на ранних этапах разработки 64-битной Windows. Это продолжалось некоторое время после того, как Microsoft публично объявила об отмене планов по выпуску 64-битной Windows для Alpha. По этой причине альфа-версии Windows NT являются только 32-разрядными.

Хотя Windows 2000 поддерживает только Intel IA-32 (32-разрядная версия), Windows XP, Server 2003, Server 2008 и Server 2008 R2 имеют по одному выделенному выпуску. в системы на базе Itanium. По сравнению с Itanium, Microsoft приняла x64 в большем масштабе: каждая версия Windows, начиная с Windows XP (которая имеет выделенную версию x64 ), имеет редакции x64.

Требования к оборудованию

Минимальная спецификация оборудования, необходимая для запуска каждого выпуска версии Windows NT для профессиональных рабочих станций, была довольно медленной до выпуска 6.0 Vista, для которого требуется минимум 15 ГБ свободного дискового пространства, что в 10 раз больше свободного дискового пространства по сравнению с предыдущей версией.

См. Также

  • Архитектура Windows NT
  • диск F6
  • домен Windows Server
  • ReactOS (проект с открытым исходным кодом с цель обеспечения совместимости на уровне двоичных файлов и драйверов устройств w ith Windows NT)
  • Процесс запуска Windows NT
  • Среда предустановки Windows
  • Серверы Microsoft

Примечания

Ссылки

Внешние ссылки

  • Windows (официальная стр.), Microsoft.
  • Руссинович, Марк, «Windows NT и VMS: Дальнейшая история», Win 2000 (обсуждение происхождения NT), заархивировано из оригинала 3 мая 2002 г..
  • Краткая история операционной системы Windows NT (фактологический бюллетень), Microsoft PressPass, 1998 г., архивировано с оригинального 10 июня 2004 г..

Windows NT (аббр. от англ. New Technology) — линейка операционных систем (ОС) производства корпорации Microsoft и название первых версий ОС.

Windows NT была разработана в начале 1990-х после прекращения сотрудничества Microsoft и IBM над OS/2, развивалась отдельно от других ОС семейства Windows (Windows 3.x и Windows 9x) и, в отличие от них, позиционировалась как надёжное решение для рабочих станций (Windows NT Workstation) и серверов (Windows NT Server). Windows NT дала начало семейству операционных систем, в которое входят: собственно Windows NT 3.1, Windows NT 3.50, Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows XP, Windows XP Professional x64 Edition, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8, Windows 8.1, Windows Server 2012, Windows Server 2012 R2, Windows 10, Windows Server 2016, Windows Server 2019, Windows 11, Windows Server 2022.

История разработки

Разработка Windows NT под рабочим названием «NT OS/2» была начата в ноябре 1988 года группой специалистов во главе с Дэвидом Катлером, который перешёл в Microsoft из DEC, где они разрабатывали VAX и OpenVMS[2]. Работа шла параллельно с разработкой фирмой IBM собственной ОС, OS/2 2.0, которая окончательно вышла только в апреле 1992 года. В России была выпущена 13 июня 1992 года.

Одновременно с этим корпорация Microsoft продолжала разрабатывать свои ОС семейства DOS и Windows, отличающиеся меньшими требованиями к ресурсам компьютера, чем IBM OS/2. После того, как в мае 1990 года была выпущена Windows 3.0, Microsoft решила добавить в NT OS/2 программный интерфейс (API), совместимый с Windows API. Это решение вызвало серьёзные трения между фирмами Майкрософт и IBM, которые закончились разрывом совместной работы. IBM продолжила разработку OS/2 самостоятельно, а Microsoft стала работать над системой, которая была в результате выпущена под названием Windows NT. Хотя эта система не сразу стала популярной, подобно DOS, Windows 3.x или Windows 9x, с точки зрения маркетинга Windows NT оказалась существенно более удачной, чем OS/2.

В качестве программных интерфейсов ОС NT изначально планировались API OS/2 и затем POSIX, поддержка Windows API была добавлена в последнюю очередь. Кроме того, в качестве аппаратной платформы для NT изначально планировались Intel i860[3] и затем MIPS, поддержка Intel x86 также была добавлена позднее. Затем в процессе эволюции этой ОС исчезла поддержка обоих изначально запланированных программных интерфейсов и обеих изначально запланированных аппаратных платформ. Для i860 не было ни одной стабильной версии этой ОС, хотя именно от кодового названия этого процессора, N10 (N Ten), происходит название самой ОС NT[4][5]. Ныне Microsoft расшифровывает аббревиатуру NT как New Technology. А в качестве альтернативы POSIX-подсистеме Microsoft стала предлагать Подсистему для приложений на базе UNIX. В обновлении «Anniversary Update» для Windows 10 за июль 2016 года предложена бета-версия подсистемы Windows Subsystem for Linux для выполнения бинарных исполняемых файлов для ядра Linux без применения виртуализации. В качестве базовой системы предлагается образ Ubuntu, в версии за 11 апреля 2017 добавлены также образы SUSE и Fedora.

Переносимость NT была одной из её первоочередных задач. Именно поэтому разработка этой ОС изначально велась для процессора i860, хотя двоичная совместимость с OS/2, бывшая одним из условий проекта NT OS/2, в любом случае потребовала бы создания версии NT для x86 либо включения в неё эмуляции этой платформы. Количество платформ, для которых существовали релизные версии ОС семейства Windows NT, впечатляет: кроме названных MIPS и Intel x86, сюда входят PowerPC, DEC Alpha, Itanium и AMD x86-64. Независимыми производителями компьютерных систем были также разработаны версии Windows NT для архитектур Clipper[en] и SPARC; однако эти версии не были выпущены как самостоятельные программные продукты. В качестве ОС высокой переносимости при разработке NT были взяты за пример ОС Unix и Mach.

Для разработки ОС NT фирма Microsoft пригласила группу специалистов из компании DEC во главе с Дэвидом Катлером, обладающую опытом создания многозадачных операционных систем, таких как VAX/VMS и RSX-11. Некоторое сходство, отмеченное между внутренними архитектурами Windows NT и ОС семейства VMS, дало основания обвинить вновь принятых сотрудников Microsoft в краже интеллектуальной собственности DEC. Возникший конфликт был разрешён мирным путём: DEC признала собственность Microsoft на технологии, лежащие в основе Windows NT, а Microsoft создавала и поддерживала версию Windows NT для архитектуры DEC Alpha.

Несмотря на общие корни, совместимость Windows NT и OS/2 уменьшалась с каждым новым выпуском этой ОС. Поддержка API OS/2 2.0, хотя планировалась в NT, так и не была завершена; в Windows NT 4.0 была удалена поддержка файловой системы HPFS, а в Windows XP была удалена подсистема поддержки программ для OS/2 1.x.

Версии

Название (кодовое название), варианты номер версии первый выпуск последний выпуск / SP
Windows NT 3.1 (NT OS/2) 3.1.528 27 июля 1993 SP3 (10 ноября 1994)
Workstation, Advanced Server
Windows NT 3.5 (Daytona) 3.5.807 21 сентября 1994 SP3 (21 июня 1995)
Workstation, Server
Windows NT 3.51 (Tukwila) 3.51.1057 30 мая 1995 SP5 (19 сентября 1996)
Workstation, Server
Windows NT 4.0 (Cairo) 4.0.1381 29 июля 1996 SP6a (30 ноября 1999)
Workstation, Server, Server Enterprise (Granite), Terminal Server (Hydra), Embedded (Impala)
Windows 2000 (NT 5.0) 5.0.2195 17 февраля 2000 SP4 (26 июня 2003)
Professional, Server, Advanced Server, Datacenter Server
Windows XP (Odyssey, Whistler, .NET 2001, NT 5.1) 5.1.2600 25 октября 2001 SP3 (6 мая 2008)
Home, Professional, Media Center (eHome), Tablet PC, Starter, Embedded (Mantis), N; Windows Fundamentals for Legacy PCs (Eiger)
Windows Server 2003 (Whistler Server, Windows .NET Server) 5.2.3790 24 апреля 2003 SP2 (13 мая 2007)
Standard, Enterprise, Datacenter, Web, Small Business Server (Bobcat), Compute Cluster Server, Storage Server; Windows XP Professional x64
Windows Vista (Longhorn) 6.0.6000 30 января 2007 SP2 (25 мая 2009)
Starter, Home Basic, Home Premium, Business, Enterprise, Ultimate, N Home Basic, N Business; x64-варианты всех, кроме Starter
Windows Home Server 6.0.2423 16 июля 2007 Power Pack 3 (24 ноября 2009)
Windows Server 2008 (Longhorn Server) 6.0.6001 27 февраля 2008 SP2 (27 мая 2009)
Standard, Enterprise, Datacenter, HPC, Web, Storage, Small Business (Cougar), Essential Business (Centro), Itanium; x64-варианты всех, кроме HPC
Windows 7 (Blackcomb, Vienna) 6.1.7600 22 октября 2009 SP1 (KB976932) (22 февраля 2011)
Начальная, Домашняя базовая, Домашняя расширенная, Профессиональная, Корпоративная, Максимальная, Windows 7 N, Windows 7 E; x64-варианты всех, кроме Начальной
Windows Server 2008 R2 6.1.7600 22 октября 2009 SP1 (KB976932) (22 февраля 2011)
Standard, Enterprise, Datacenter, HPC, Web, Storage, Small Business , Itanium; все версии — только 64-разрядные
Windows Home Server 2011 6.1.7657 6 апреля 2011
Windows 8 (Red) 6.2.9200 26 октября 2012 Pro (26 октября 2012)
Windows 8, Windows 8 RT, Профессиональная, Профессиональная N, Профессиональная WMC, Корпоративная, Корпоративная N; x64-варианты всех, кроме Windows RT
Windows Server 2012 6.2.9200 26 октября 2012 RTM (1 августа 2012)
Foundation, Essentials, Standard, Datacenter; все версии — только 64-разрядные
Windows 8.1 (Blue) 6.3.9600 18 октября 2013 Update (2 апреля 2014)
Windows 8.1, Windows 8.1 RT, Профессиональная, Профессиональная N, Профессиональная WMC, Корпоративная, Корпоративная N; x64-варианты всех, кроме Windows RT
Windows Server 2012 R2 6.3.9600 18 октября 2013
Foundation, Essentials, Standard, Datacenter; все версии — только 64-разрядные
Windows 10 (Redstone) 10.0.10240[6][7][8] 29 июля 2015
Домашняя, Профессиональная, Мобильная, Корпоративная, для образовательных учреждений, мобильная корпоративная, IoT Домашняя; x86, x86-64 и ARM
Windows Server 2016 (Server vNext) 10.0.14393[9] 29 сентября 2016
Essentials, Standard, Datacenter[10]; все версии — только 64-разрядные
Windows Server 2019 10.0.17763[11] 2 октября 2018
Essentials, Standard, Datacenter; все версии — только 64-разрядные
Windows 11 (Sun Valley), (10X) 10.0.22000.168 5 октября 2021[12]
Домашняя, Профессиональная, Мобильная, Корпоративная, для образовательных учреждений, мобильная корпоративная, IoT Домашняя; x86, x86-64 и ARM

Внутренняя архитектура

Компоненты ядра

Компоненты пользовательского режима

Подсистема пользовательского интерфейса в Windows NT реализует оконный интерфейс, подобный интерфейсу предыдущих версий Windows. Двумя типами объектов этой подсистемы, отсутствовавшими в 16-битных версиях Windows и в Windows 9x, являются оконные станции и рабочие столы. Оконная станция соответствует одному сеансу пользователя Windows NT — например, при подключении через службу удалённого рабочего стола создаётся новая оконная станция. Каждый запущенный процесс принадлежит одной из оконных станций; службы, кроме помеченных как способные взаимодействовать с рабочим столом, запускаются в отдельных, невидимых оконных станциях.

Каждая оконная станция имеет собственный буфер обмена, набор глобальных атомов (используемых для операций DDE), и набор рабочих столов. Рабочий стол является контекстом всех глобальных операций подсистемы пользовательского интерфейса, таких как установка хуков и широковещательная рассылка сообщений. Каждый запущенный поток принадлежит к одному из рабочих столов — тому, где расположены обслуживаемые им окна; в частности, один поток не может создать несколько окон, принадлежащих к различным рабочим столам. Один из рабочих столов может быть активным (видимым пользователю и способным реагировать на его действия), остальные рабочие столы спрятаны. Возможность создать для одного сеанса работы несколько рабочих столов и переключаться между ними до выхода Windows 10 не предоставлялась стандартными средствами пользовательского интерфейса Windows, хотя существуют сторонние программы, дающие доступ к этой функциональности.

Оконными станциями и рабочими столами исчерпываются объекты подсистемы пользовательского интерфейса Windows NT, которым могут быть назначены права доступа. Оставшиеся типы объектов — окна и меню — предоставляют полный доступ любому процессу, который находится с ними в одной оконной станции. Поэтому службы Windows NT по умолчанию запускаются в отдельных оконных станциях: они работают с повышенными привилегиями, и возможность процессов пользователя неограниченно манипулировать окнами служб могла бы привести к сбоям и/или проблемам безопасности.

Программные интерфейсы

Native API

Для прикладных программ системой Windows NT предоставляется несколько наборов API. Основной из них — так называемый «родной» API (NT Native API), реализованный в динамически подключаемой библиотеке ntdll.dll и состоящий из двух частей: системные вызовы ядра NT (функции с префиксами Nt и Zw, передающие выполнение функциям ядра ntoskrnl.exe с теми же названиями) и функции, реализованные в пользовательском режиме (с префиксом Rtl). Часть функций второй группы использует внутри себя системные вызовы; остальные целиком состоят из непривилегированного кода и могут вызываться не только из кода пользовательского режима, но и из драйверов. Кроме функций Native API, в ntdll также включены функции стандартной библиотеки языка Си.

Официальная документация на Native API весьма скудна, но сообществам энтузиастов удалось методом проб и ошибок собрать достаточно обширные сведения об этом интерфейсе. В частности, в феврале 2000 года опубликована книга Гэри Неббета «Справочник по базовым функциям API Windows NT/2000» (ISBN 1-57870-199-6); в 2002 году она была переведена на русский язык (ISBN 5-8459-0238-X). Источником информации о Native API может служить Windows DDK, где описаны некоторые функции ядра, доступные посредством Native API, а также изучение кода Windows (обратная разработка) — посредством дизассемблирования либо используя исходные тексты Windows 2000, ставшие доступными в результате утечки, либо используя исходные тексты Windows Server 2003, доступные в рамках программы Windows Research Kernel.

Программы, выполняющиеся до загрузки подсистем, обеспечивающих работу остальных API ОС Windows NT, ограничены использованием Native API[13]. Например, программа autochk, проверяющая диски при загрузке ОС после некорректного завершения работы, использует только Native API.

Win32 API

Чаще всего прикладными программами для Windows NT используется Win32 API — интерфейс, созданный на основе API ОС Windows 3.1, и позволяющий перекомпилировать существующие программы для 16-битных версий Windows с минимальными изменениями исходного кода. Совместимость Win32 API и 16-битного Windows API настолько велика, что 32-битные и 16-битные приложения могут свободно обмениваться сообщениями, работать с окнами друг друга и т. д. Кроме поддержки функций существовавшего Windows API, в Win32 API был также добавлен ряд новых возможностей, в том числе поддержка консольных программ, многопоточности и объектов синхронизации, таких как мьютексы и семафоры. Документация на Win32 API входит в состав Microsoft Platform SDK и доступна на веб-сайте.[14]

Библиотеки поддержки Win32 API в основном названы так же, как системные библиотеки Windows 3.x, с добавлением суффикса 32: это библиотеки kernel32, advapi32, gdi32, user32, comctl32, comdlg32, shell32 и ряд других. Функции Win32 API могут либо самостоятельно реализовывать требуемую функциональность в пользовательском режиме, либо вызывать описанные выше функции Native API, либо обращаться к подсистеме csrss посредством механизма LPC[en], либо осуществлять системный вызов в библиотеку win32k, реализующую необходимую для Win32 API поддержку в режиме ядра. Четыре перечисленных варианта могут также комбинироваться в любом сочетании: например, функция Win32 API WriteFile обращается к функции Native API NtWriteFile для записи в дисковый файл, и вызывает соответствующую функцию csrss для вывода в консоль.

Поддержка Win32 API включена в семейство ОС Windows 9x; кроме того, она может быть добавлена в Windows 3.1x установкой пакета Win32s. Для облегчения переноса существующих Windows-приложений, использующих для представления строк MBCS-кодировки, все функции Win32 API, принимающие параметрами строки, были созданы в двух версиях: функции с суффиксом A (ANSI) принимают MBCS-строки, а функции с суффиксом W (wide) принимают строки в кодировке UTF-16. В Win32s и Windows 9x поддерживаются только A-функции, тогда как в Windows NT, где все строки внутри ОС хранятся исключительно в UTF-16, каждая A-функция просто преобразует свои строковые параметры в Юникод и вызывает W-версию той же функции. В поставляемых H-файлах библиотеки также определены имена функций без суффикса, и использование A- либо W-версии функций определяется опциями компиляции, а в модулях Delphi до 2010 версии, например, они жёстко завязаны на варианты с суффиксом A. При этом большинство новых функций, появившихся в Windows 2000 или более поздних ОС семейства Windows NT, существует только в Unicode-версии, потому что задача обеспечения совместимости со старыми программами и с ОС Windows 9x уже не стоит так остро, как раньше.

POSIX и OS/2

В отличие от большинства свободных Unix-подобных ОС, Windows NT сертифицирована институтом NIST на совместимость со стандартом POSIX.1, и даже с более строгим стандартом FIPS 151-2. Библиотекой psxdll экспортируются стандартные функции POSIX, а также некоторые функции Native API, не имеющие аналогов в POSIX — например, для работы с кучей, со структурными исключениями, с Юникодом. Внутри этих функций используются как Native API, так и LPC-вызовы в подсистему psxss, являющуюся обычным Win32-процессом.

Для выполнения 16-битных программ, написанных для OS/2 1.x, в состав Windows NT включены две системных библиотеки OS/2 (doscalls и netapi) и консольная программа-эмулятор os2[15], которая загружает и использует посредством LPC-вызовов подсистемы os2srv и os2ss. Остальные системные библиотеки OS/2, кроме двух названных (kbdcalls, mailslot, moncalls, nampipes, quecalls, viocalls и ещё десяток), не хранятся как отдельные файлы, а эмулируются. Программы, написанные для OS/2 2.0 и выше, а также оконные программы и программы, напрямую работающие с устройствами компьютера, в том числе драйверы, системой Windows NT не поддерживаются.

Обе эти подсистемы, необязательные для работы большинства приложений, были удалены в Windows XP и последующих выпусках Windows. При помощи манипуляций с реестром их можно было отключить и в предыдущих версиях Windows NT, что рекомендовалось специалистами по компьютерной безопасности в целях сокращения поверхности атаки компьютерной системы.

DOS и Win16

Чтобы обеспечить двоичную совместимость с существующими программами для предыдущих семейств ОС от Microsoft, в Windows NT была добавлена программа-эмулятор ntvdm, реализующая VDM (виртуальную DOS-машину), внутри которой может выполняться программа для DOS. Для каждой выполняемой DOS-программы создаётся собственная VDM, тогда как несколько 16-битных Windows-программ могут выполняться в отдельных потоках внутри одной VDM, которая в этом случае играет роль подсистемы. Для того, чтобы внутри VDM можно было выполнять программы для Windows, в неё сначала должна быть загружена программа wowexec, устанавливающая связь VDM с платформой WOW («Windows on Win32»), позволяющей использовать 16-битные приложения для Windows наравне с 32-битными. Сама программа-эмулятор ntvdm выполняется внутри подсистемы Win32, что позволяет Win32-программам обращаться к окнам DOS-программ как к обычным консольным окнам, а к окнам Win16-программ — как к обычным графическим окнам.

Ещё одна технология обеспечения двоичной совместимости, реализованная в Windows NT — это thunks[en] — небольшие секции кода, выполняющие преобразования (например типов) или обеспечивающие вызов 32-разрядного кода из 16-разрядного и наоборот. Thunks позволяют 32-битным программам пользоваться 16-битными DLL-библиотеками (для Windows или OS/2) и наоборот. Thunks для Win16 реализованы в библиотеках wow32 (32-битные точки входа) и krnl386 (16-битные точки входа); thunks для OS/2 — в библиотеке doscalls (16-битные точки входа). К 16-битным системным библиотекам, включённым в состав Windows NT для использования технологией WOW, относятся krnl386, gdi, user, commctrl, commdlg, shell и др. Поддержка DOS-программ виртуальной DOS-машиной системы Windows NT не ограничена эмуляцией реального режима процессора x86: поддерживается интерфейс DPMI, позволяющий DOS-программам обращаться к расширенной памяти. Однако поддержка программ для DOS и Win16 в Windows NT ограничена требованиями безопасности: программы, напрямую работающие с устройствами компьютера, в том числе драйверы, не поддерживаются.

В связи с аппаратными ограничениями 64-битных платформ поддержка VDM и WOW была исключена из 64-битных версий Windows, запуск 16-битных программ средствами системы на них невозможен, но возможно использование эмуляторов, таких как DOSBox. Основным API этих версий Windows NT является 64-битная версия Win32 API; для запуска 32-битных программ используется технология WOW64, аналогичная традиционной WOW.

Аппаратные платформы

Как уже было отмечено, создание версии NT для x86 требовалось для обеспечения совместимости с OS/2, — однако для того, чтобы убедиться в переносимости создаваемого кода, разработка NT началась с версий для RISC-архитектур, и только потом была добавлена поддержка x86. Изначально разработка x86-версии Windows NT была ориентирована на процессор 80486, но к моменту выпуска Windows NT 3.1 была также добавлена поддержка 80386. Последней версией, поддерживающей i386, была Windows NT 3.51.

Процессор i860, для которого велась начальная разработка ОС NT, не получил ко времени завершения работ над Windows NT той поддержки производителями компьютеров, на которую рассчитывали Intel и Microsoft. В результате тремя платформами, поддержка которых была включена в Windows NT 3.1, стали x86, Alpha и MIPS. В выпусках Windows NT 3.x поддержка этих платформ сохранялась, пополнившись в Windows NT 3.51 также архитектурой PReP[en] на основе процессора PowerPC. Однако Windows NT 3.51 не была совместима с компьютерами Macintosh с тем же процессором; фактически, поддерживались только клоны IBM PC с процессором PowerPC вместо x86. Такие компьютеры выпускались в основном фирмами — создателями PowerPC — IBM и Motorola.

Первый выпуск Windows NT 4.0 поддерживал четыре платформы (x86, Alpha, MIPS и PowerPC), но поддержка менее распространённых платформ сокращалась по мере выхода пакетов обновления: из SP1 была удалена поддержка MIPS, из SP3 — поддержка PowerPC. Последними выпусками Windows NT 4.0 поддерживались только x86 и Alpha; хотя поддержка Alpha планировалась к включению в Windows 2000, она была исключена из версии RC2. В результате единственной платформой, поддерживаемой на Windows 2000, стала x86.

Поддержка 64-битных процессоров была впервые реализована в Windows XP для IA-64 — архитектуры процессоров Intel Itanium. На основе 64-битной версии Windows XP были созданы также 64-битные серверные версии Windows 2000; позже поддержка процессора Itanium была добавлена и в часть версий Windows Server 2003. Второй 64-битной архитектурой, поддерживаемой в ОС семейства Windows NT, стала созданная AMD архитектура x86-64, позже реализованная в процессорах Intel под названием EM64T. Одновременно были выпущены Windows Server 2003 SP1 x64 и Windows XP Professional x64, представляющие собой серверный и настольный варианты одной и той же версии Windows — в частности, к этим выпускам применимы одни и те же обновления. С 2005 года корпорацией Microsoft было принято решение прекратить поддержку IA-64.; последней версией ОС Windows NT, полноценно поддерживающей Itanium, является Windows NT 5.2 (XP Professional 64-bit Edition и Server 2003). Однако для более дорогих (и, соответственно, труднее модернизируемых) серверов были выпущены специальные версии Windows Server 2008 и Windows Server 2008 R2, а Windows Server 2012 поддержки IA-64 уже не получила.

См. также

  • ReactOS — операционная система с открытым кодом, совместимая с приложениями и драйверами Windows NT.
  • Установка Windows

Примечания

  1. https://blogs.windows.com/windows-insider/2021/08/19/announcing-windows-11-insider-preview-build-22000-160/
  2. Н. А. Олифер, В. Г. Олифер. История Windows NT Архивная копия от 21 марта 2009 на Wayback Machine // Сетевые операционные системы
  3. Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft Архивная копия от 6 января 2014 на Wayback Machine // G. Pascal Zachary, 2009
  4. NT Stands for… — Matt Mullenweg. Дата обращения: 3 августа 2008. Архивировано 6 января 2014 года.
  5. Paul Thurrott’s SuperSite for Windows: Windows Server 2003: The Road To Gold, Part One: The Early Years Архивировано 4 июня 2010 года.
  6. Microsoft Confirms that Windows 10 will also be Version 10 Internally | Windows 10 content from SuperSite for Windows. Дата обращения: 2 октября 2015. Архивировано из оригинала 16 октября 2017 года.
  7. Microsoft Confirms Windows 10 Kernel Version Update to 10.0 — Softpedia. Дата обращения: 2 октября 2015. Архивировано 9 октября 2015 года.
  8. Microsoft confirms that Windows 10 kernel will be 10.0. Дата обращения: 2 октября 2015. Архивировано 5 марта 2016 года.
  9. Windows Server 2016: облака — в массы. Дата обращения: 17 июня 2017. Архивировано 27 февраля 2017 года.
  10. Windows Server 2016 Editions, Pricing, Availability, Features. Дата обращения: 17 июня 2017. Архивировано 18 июня 2017 года.
  11. Windows Server 2019 — now generally available! Дата обращения: 8 октября 2018. Архивировано 4 января 2020 года.
  12. Стала известна дата выхода Windows 11. m24.ru. Дата обращения: 29 июля 2021. Архивировано 29 июля 2021 года.
  13. Программирование Native API приложений для Windows. Дата обращения: 4 февраля 2011. Архивировано 21 февраля 2011 года.
  14. MSDN Library. Дата обращения: 25 февраля 2007. Архивировано 2 февраля 2007 года.
  15. Chapter 28 — OS/2 Compatibility Архивная копия от 6 ноября 2015 на Wayback Machine / Windows NT Workstation Resource Kit, Microsoft: File List (англ.)

Ссылки

  • Клиентские системы Windows на TechNet
  • Центр загрузки пробной версии Windows 7 Корпоративная
  • Техническая библиотека Windows 7
  • Доклад «XP, Vista, Windows 7 — вчера, сегодня, завтра. Сетевые возможности»
  • Доклад о развитии технологий обеспечения безопасности от Windows Vista до Windows 7
  • NT OS/2 Design Workbook Microsoft, 1989—1990 — доступна в рамках программы Windows Research Kernel, а также в Американском музее национальной истории
  • MS Windows NT Workstation 4.0 Resource Guide Microsoft, 1995, ISBN 1-57231-343-9


Эта страница в последний раз была отредактирована 20 марта 2023 в 09:27.

Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.

Понравилась статья? Поделить с друзьями:
  • Wizz air авиакомпания официальный сайт чья компания
  • 1с архитектор бизнеса официальный сайт техподдержка
  • Абсолют банк на ленинградском проспекте часы работы
  • 1с бсп дополнительные реквизиты добавить справочник
  • Авента инжиниринг управляющая компания видный город