Microsoft POSIX subsystem
# Microsoft POSIX subsystem

Microsoft POSIX subsystem es uno de los cuatro subsistemas entregados junto con las primeras versiones de Windows NT. Los otros tres consistían en el subsistema Win32, el cual provee la API primaria para Windows NT, además de subsistemas de OS/2 y de seguridad.

Este subsistema implementa sólo el estándar POSIX 1 — conocido también como IEEE 1003.1-1990 o ISO/IEC 9945-1:1990 — cubriendo principalmente el kernel y las interfaces de bibliotecas C, las que permiten a un programa escrito para otros sistemas POSIX.1 sea compilado y ejecutado en Windows NT. El subsistema no provee las partes interactivas del entorno de POSIX, estandarizadas originalmente en POSIX.2. Esto significa que Windows NT no provee ninguna shell POSIX ni comandos Unix como ls. El subsistema tampoco proveyó ninguna de las extensiones posteriores a la creación de Windows NT 3.0, como los pthreads o IPC.

El subsistema POSIX fue incluido junto con la primera versión de Windows NT debido a los requisitos listados en los Estándares Federales de Procesamiento de la Información (FIPS) 151-2. del Gobierno Federal de los Estados Unidos en los años 80. En resumen, esos documentos obligan a ciertas entidades gubernamentales la compra de productos (informáticos) que cumplan con los estándares POSIX. Si Windows NT no hubiese incluido ese subsistema, el sistema operativo no habría sido elegible para ser comprado para ciertas entidades gubernamentales. Windoes NT 3.5, 3.5.1 y 4.0 están certificados para cumplir con FIPS 151-2.

El tiempo de ejecución del subsistema es provisto por dos archivos: psxss.exe y psxdll.dll. Una aplicación POSIX usa psxdll.dll para comunicarse con el subsistema mientas se comunica con posix.exe para proveer capacidades visuales en el escritorio de Windows.

En Windows XP y Windows Server 2003, el subsistema fue reemplazado por Windows Services for UNIX (SFU), el cual ha formado parte de las tecnologías de Microsoft tras la adquisición de Interix. SFU fue removido a partir de Windows 8 y Windows Server 2012. SFU fue posteriormente reemplazado por Windows Subsystem for Linux (WSL) en el Windows 10 Anniversary Update y Windows Server 2016 Version 1709 respectivamente.

