Anteriormente conocido como SFU o Servicios para UNIX . Es un subsistema de entorno en Windows, que proporciona compatibilidad total con POSIX y una gran carga de herramientas que normalmente vienen con los sistemas UNIX.
Como subsistema de entorno, esto significa que se ejecuta junto con la API de Windows, directamente encima del núcleo. Por lo tanto, no es más emulado que la API nativa de Windows y, por lo tanto, funciona mucho mejor que Cygwin, por ejemplo. 1
Está destinado principalmente a compilar y ejecutar aplicaciones UNIX directamente en Windows, por lo que si su programa UNIX favorito no viene con un puerto de Windows, puede intentar compilarlo en SUA:
Los servicios de Windows para Unix y el subsistema para aplicaciones basadas en Unix proporcionan archivos de encabezado y bibliotecas que facilitan la recompilación o el puerto de aplicaciones de Unix para su uso en Windows; no hacen que los binarios de Unix sean compatibles con los binarios de Windows. Es mejor pensarlo como una plataforma distinta de Unix.
La versión actual de SFU contiene:
- Más de 350 utilidades de Unix como vi, ksh, csh, ls, cat, awk, grep, kill, etc.
- Compilador GCC 3.3, incluye y bibliotecas (a través de una biblioteca MS)
- Un contenedor similar a cc para el compilador C / C ++ de línea de comandos de Microsoft Visual Studio
- Depurador GDB
- Servidor NFS y cliente
- Un demonio pcnfsd
- Herramientas y bibliotecas X11
- Herramientas para hacer que los puntos de montaje NFS aparezcan como recursos compartidos de Windows y viceversa (servicios de puerta de enlace)
- Una capacidad de servidor NIS vinculada con Active Directory (AD)
- Algunas herramientas de sincronización de información de autenticación de Windows / Unix
SFU no contiene lo siguiente (pero los binarios están disponibles para una instalación por separado):
- bash, OpenSSH, sudo, CVS, ClamAV, bzip2, gmake, curl, emacs, Apache, XView, Ruby, Tcl, Python
(Wikipedia)
Dado que SUA no intenta ser Linux o BSD, sino simplemente POSIX, esto también puede significar que muchos programas que dependen de cosas específicas de la plataforma pueden fallar al construir o ejecutar. Se me ocurren guiones de shell que suponen bash en lugar de sh o llamadas a sistemas específicos de Linux. En la actualidad, se escriben muy pocos programas que puedan ejecutarse directamente en cualquier sistema compatible con POSIX. Además, la versión de gcc que se incluye es algo antigua, lo que significa que puede no ser compatible con su bondad C99 + más reciente.
1 Todavía está sujeto a limitaciones específicas de Windows, como el lento tiempo de inicio del proceso, por lo que la bifurcación extrema seguirá siendo muy lenta, por lo que esperará años para ./configure
que se ejecuten muchos scripts o algunos archivos MAKE.