Früher als SFU oder Services for UNIX bekannt . Es ist ein Umgebungssubsystem in Windows, das vollständige POSIX-Konformität und eine große Anzahl von Tools bietet, die normalerweise mit UNIX-Systemen geliefert werden.
Als Umgebungssubsystem bedeutet dies, dass es neben der Windows-API direkt über dem Kernel ausgeführt wird. Es ist also nicht emulierter als die native Windows-API selbst und bietet daher eine viel bessere Leistung als beispielsweise Cygwin. 1
Es ist hauptsächlich zum Erstellen und Ausführen von UNIX-Anwendungen direkt unter Windows vorgesehen. Wenn Ihr bevorzugtes UNIX-Programm nicht über einen Windows-Port verfügt, können Sie versuchen, es in SUA zu erstellen:
Windows-Dienste für Unix und Subsystem für Unix-basierte Anwendungen bieten Header-Dateien und -Bibliotheken, die das Neukompilieren oder Portieren von Unix-Anwendungen für die Verwendung unter Windows erleichtern. Sie machen Unix-Binärdateien nicht mit Windows-Binärdateien kompatibel. Es wird am besten als eigenständige Unix-ähnliche Plattform angesehen.
Die aktuelle Version von SFU enthält:
- Über 350 Unix-Dienstprogramme wie vi, ksh, csh, ls, cat, awk, grep, kill usw.
- GCC 3.3 Compiler, enthält und Bibliotheken (über eine MS libc)
- Ein cc-ähnlicher Wrapper für den Microsoft Visual Studio-Befehlszeilen-C / C ++ - Compiler
- GDB-Debugger
- NFS-Server und -Client
- Ein pcnfsd-Daemon
- X11-Tools und -Bibliotheken
- Tools zum Erstellen von NFS-Mountpunkten werden als Windows-Freigaben angezeigt und umgekehrt (Gateway-Dienste)
- Eine mit Active Directory (AD) verknüpfte NIS-Serverfunktion
- Einige Tools zur Synchronisierung von Windows / Unix-Authentifizierungsinformationen
SFU enthält Folgendes nicht (Binärdateien sind jedoch für eine separate Installation verfügbar):
- Bash, OpenSSH, Sudo, CVS, ClamAV, BZIP2, Gmake, Curl, Emacs, Apache, XView, Ruby, Tcl, Python
(Wikipedia)
Da SUA nicht versucht, Linux oder BSD zu sein, sondern nur POSIX, kann dies auch bedeuten, dass viele Programme, die auf plattformspezifischen Dingen basieren, möglicherweise nicht erstellt oder ausgeführt werden können. Es kommen Shell-Skripte in den Sinn, die Bash anstelle von sh oder Linux-spezifischen Systemaufrufen annehmen. Heutzutage werden nur sehr wenige Programme geschrieben, die direkt auf jedem POSIX-kompatiblen System ausgeführt werden können. Auch die enthaltene Version von gcc ist etwas alt, was bedeutet, dass sie möglicherweise nicht Ihre neueste C99 + -Güte unterstützt.
1 Es unterliegt immer noch Windows-spezifischen Einschränkungen, wie z. B. einer langsamen Prozessstartzeit, sodass extremes Forking immer noch sehr langsam ist. Deshalb warten Sie ewig, bis viele ./configure
Skripte oder Makefiles ausgeführt werden.