Precedentemente noto come SFU o Servizi per UNIX . È un sottosistema di ambiente in Windows, che offre la piena conformità POSIX e un grande carico di strumenti normalmente forniti con i sistemi UNIX.
Come sottosistema di ambiente, ciò significa che funziona insieme all'API di Windows, direttamente sul kernel. Quindi non è più emulato dell'API Windows nativa stessa e quindi offre prestazioni molto migliori di cygwin, ad esempio. 1
È principalmente destinato alla creazione e all'esecuzione di applicazioni UNIX direttamente su Windows, quindi se il tuo programma UNIX preferito non è dotato di una porta Windows, puoi provare a costruirlo in SUA:
I servizi Windows per Unix e il sottosistema per applicazioni basate su Unix forniscono file di intestazione e librerie che semplificano la ricompilazione o il porting delle applicazioni Unix per l'uso su Windows; non rendono i binari Unix compatibili con i binari di Windows. È meglio pensata come una piattaforma distinta simile a Unix.
La versione corrente di SFU contiene:
- Oltre 350 utility Unix come vi, ksh, csh, ls, cat, awk, grep, kill, ecc.
- Compilatore GCC 3.3, include e librerie (tramite MS libc)
- Un wrapper di tipo cc per il compilatore C / C ++ della riga di comando di Microsoft Visual Studio
- Debugger GDB
- Server e client NFS
- Un demone pcnfsd
- Strumenti e librerie X11
- Strumenti per far apparire i mount point NFS come condivisioni Windows e viceversa (servizi gateway)
- Una funzionalità del server NIS collegata con Active Directory (AD)
- Alcuni strumenti di sincronizzazione delle informazioni di autenticazione Windows / Unix
SFU non contiene quanto segue (ma i binari sono disponibili per un'installazione separata):
- bash, OpenSSH, sudo, CVS, ClamAV, bzip2, gmake, curl, emacs, Apache, XView, Ruby, Tcl, Python
(Wikipedia)
Dal momento che SUA non tenta di essere Linux o BSD, ma semplicemente POSIX, ciò può anche significare che molti programmi che si basano su cose specifiche della piattaforma potrebbero non essere compilati o eseguiti. Mi vengono in mente gli script di shell che assumono bash anziché chiamate di sistema specifiche per sh o Linux. Oggi sono scritti pochissimi programmi che possono essere eseguiti direttamente su qualsiasi sistema compatibile con POSIX. Anche la versione di gcc inclusa è piuttosto vecchia, il che significa che potrebbe non supportare la tua più recente bontà C99 +.
1 È ancora soggetto a limitazioni specifiche di Windows, come i tempi di avvio del processo lenti, quindi il fork estremo sarà ancora molto lento, motivo per cui attenderete secoli per l' ./configureesecuzione di molti script o alcuni makefile.