Подсистема Microsoft POSIX — одна из четырех подсистем, поставляемых с первыми версиями Windows NT ; остальные три — это подсистема Win32 , которая предоставляла основной API для Windows NT, а также подсистемы OS/2 и безопасности .
Эта подсистема реализует только стандарт POSIX .1 , также известный как IEEE Std 1003.1-1990 или ISO/IEC 9945-1:1990, в первую очередь охватывающий интерфейсы программирования ядра и библиотеки C, которые позволяли компилировать и запускать под Windows NT программы, написанные для других операционных систем, совместимых с POSIX.1. Подсистема Windows NT POSIX не предоставляла интерактивные части пользовательской среды POSIX, изначально стандартизированные как POSIX.2. То есть, Windows NT не предоставляла оболочку POSIX или какие-либо команды Unix из коробки, за исключением pax . Подсистема NT POSIX также не предоставляла никаких расширений POSIX, которые появились после создания Windows NT 3.1, таких как расширения для потоков POSIX или POSIX IPC .
Подсистема NT POSIX была включена в первые версии Windows NT из-за требований федерального правительства США 1980-х годов , перечисленных в Федеральном стандарте обработки информации (FIPS) 151-2. [1] Вкратце, эти документы требовали, чтобы определенные типы государственных закупок соответствовали POSIX, так что если бы Windows NT не включала эту подсистему, вычислительные системы на ее основе не имели бы права на некоторые государственные контракты. Версии Windows NT 3.5 , 3.51 и 4.0 были сертифицированы как соответствующие FIPS 151-2.
Среда выполнения подсистемы обеспечивается двумя файлами: psxss.exe и psxdll.dll . Приложение POSIX использует psxdll.dll для связи с подсистемой, взаимодействуя с posix.exe для предоставления возможностей отображения на рабочем столе Windows.
Подсистема POSIX была заменена в Windows XP и Windows Server 2003 на « Службы Windows для UNIX » [2] (SFU), которая частично основана на коде OpenBSD и других технологиях, разработанных компанией Interix , позже купленной Microsoft. [3] [4] [5] [6] SFU была удалена из более поздних версий Windows 8 и Windows Server 2012. SFU логически, хотя и не формально, заменена на Подсистему Windows для Linux [7] (WSL) в Windows 10 Anniversary Update и Windows Server 2016 Version 1709 [8] [9] соответственно.