Auparavant connu sous le nom de SFU ou Services for UNIX . Il s'agit d'un sous-système d'environnement sous Windows, offrant une conformité POSIX complète et une grande quantité d'outils qui sont normalement fournis avec les systèmes UNIX.
En tant que sous - système d'environnement, cela signifie qu'il s'exécute aux côtés de l'API Windows, directement au-dessus du noyau. Il n'est donc pas plus émulé que l'API Windows native elle-même et fonctionne donc beaucoup mieux que cygwin, par exemple. 1
Il est principalement destiné à créer et exécuter des applications UNIX directement sur Windows, donc si votre programme UNIX préféré n'est pas livré avec un port Windows, vous pouvez essayer de le construire dans SUA:
Les services Windows pour Unix et le sous-système pour les applications basées sur Unix fournissent des fichiers d'en-tête et des bibliothèques qui facilitent la recompilation ou le portage des applications Unix pour une utilisation sur Windows; ils ne rendent pas les binaires Unix compatibles avec les binaires Windows. Il est préférable de la considérer comme une plate-forme distincte de type Unix.
La version actuelle de SFU contient:
- Plus de 350 utilitaires Unix tels que vi, ksh, csh, ls, cat, awk, grep, kill, etc.
- Compilateur GCC 3.3, inclut et bibliothèques (via une libc MS)
- Un wrapper de type cc pour le compilateur C / C ++ en ligne de commande Microsoft Visual Studio
- Débogueur GDB
- Serveur et client NFS
- Un démon pcnfsd
- Outils et bibliothèques X11
- Outils pour faire apparaître les points de montage NFS en tant que partages Windows et vice-versa (services de passerelle)
- Une capacité de serveur NIS liée à Active Directory (AD)
- Certains outils de synchronisation des informations d'authentification Windows / Unix
SFU ne contient pas les éléments suivants (mais des fichiers binaires sont disponibles pour une installation distincte):
- bash, OpenSSH, sudo, CVS, ClamAV, bzip2, gmake, curl, emacs, Apache, XView, Ruby, Tcl, Python
(Wikipédia)
Étant donné que SUA n'essaie pas d'être Linux ou BSD, mais simplement POSIX, cela peut également signifier que de nombreux programmes qui s'appuient sur des éléments spécifiques à la plate-forme peuvent échouer à générer ou à exécuter. Les scripts shell qui supposent bash au lieu d'appels système spécifiques à sh ou Linux viennent à l'esprit. De nos jours, très peu de programmes sont écrits qui peuvent s'exécuter directement sur n'importe quel système compatible POSIX. De plus, la version de gcc incluse est un peu ancienne, ce qui signifie qu'elle peut ne pas prendre en charge votre version la plus récente de C99 +.
1 Il est toujours soumis à des limitations spécifiques à Windows, telles que le temps de démarrage lent du processus, donc le forking extrême sera toujours très lent, c'est pourquoi vous attendez longtemps que de nombreux ./configure
scripts ou certains makefiles s'exécutent.