Microsoft_POSIX_subsystem

Microsoft POSIX subsystem

Microsoft POSIX subsystem

Subsystem shipped with the first versions of Windows NT


Microsoft POSIX subsystem is one of four subsystems shipped with the first versions of Windows NT, the other three being the Win32 subsystem which provided the primary API for Windows NT, plus the OS/2 and security subsystems.

Quick Facts Developer(s), Initial release ...

This subsystem implements only the POSIX.1 standard  also known as IEEE Std 1003.1-1990 or ISO/IEC 9945-1:1990  primarily covering the kernel and C library programming interfaces which allowed a program written for other POSIX.1-compliant operating systems to be compiled and run under Windows NT. The Windows NT POSIX subsystem did not provide the interactive user environment parts of POSIX, originally standardized as POSIX.2. That is, Windows NT did not provide a POSIX shell nor any Unix commands out of the box, except for pax. The NT POSIX subsystem also did not provide any of the POSIX extensions that postdated the creation of Windows NT 3.1, such as those for POSIX Threads or POSIX IPC.

The POSIX subsystem shown next to the Win32 and OS/2 subsystem in the architecture of Windows NT

The NT POSIX subsystem was included with the first versions of Windows NT because of 1980s US federal government requirements listed in Federal Information Processing Standard (FIPS) 151-2.[1] Briefly, these documents required that certain types of government purchases be POSIX-compliant, so that if Windows NT had not included this subsystem, computing systems based on it would not have been eligible for some government contracts. Windows NT versions 3.5, 3.51 and 4.0 were certified as compliant with FIPS 151-2.

The runtime environment of the subsystem is provided by two files: psxss.exe and psxdll.dll. A POSIX application uses psxdll.dll to communicate with the subsystem while communicating with posix.exe to provide display capabilities on the Windows desktop.

The POSIX subsystem was replaced in Windows XP and Windows Server 2003 by "Windows Services for UNIX",[2] (SFU) which is based in part on OpenBSD code and other technology developed by Interix, a company later purchased by Microsoft.[3][4][5][6] SFU was removed from later versions of Windows 8 and Windows Server 2012. SFU is logically, though not formally, replaced by the Windows Subsystem for Linux[7] (WSL) in the Windows 10 Anniversary Update and Windows Server 2016 Version 1709[8][9] respectively.

See also


References

  1. "Federal Information Processing Standards Publication 151-2". Archived from the original on 2014-02-20. Retrieved 2008-09-03.
  2. Dohnert, Roberto J. (2004-01-21), "Review of Windows Services for UNIX 3.5", OSNews, David Adams, archived from the original on 2008-02-11
  3. Reiter, Brian (2010-01-26). "WONTFIX: select(2) in SUA 5.2 ignores timeout". brianreiter.org.
  4. Hammons, Jack (22 April 2016). "Windows Subsystem for Linux Overview". Microsoft Developer Network (MSDN). Microsoft. Retrieved 21 December 2016.)
  5. Turner, Rich (9 August 2017). "WSL arrives on Windows Server!". Microsoft Developer Network (MSDN). Rich Turner of Microsoft. Retrieved 8 March 2018.
  6. Cooley, Sarah. "Install the Linux Subsystem on Windows Server". Microsoft Docs. Microsoft. Retrieved 8 March 2018.

Further reading



Share this article:

This article uses material from the Wikipedia article Microsoft_POSIX_subsystem, and is written by contributors. Text is available under a CC BY-SA 4.0 International License; additional terms may apply. Images, videos and audio are available under their respective licenses.