WSL wäre näher an coLinux als Cygwin.
Beachten Sie, dass Unix, POSIX und Linux unterschiedliche Dinge sind .
Cygwin ist eine POSIX-Kompatibilitätsebene, die auf dem Win32-Subsystem ausgeführt wird . Es hat ungefähr nichts mit Linux zu tun ; Es kann allgemein als "nur ein anderes Unix-ähnliches" behandelt werden, bei dem das Portieren von Programmen eine Neukompilierung und möglicherweise eine Änderung der Quelle erfordert und alles, was nicht für POSIX Linux spezifische Funktionen erfordert, wird wahrscheinlich nicht funktionieren.
WSL ist so konzipiert, dass sie ABI- kompatibel mit Linux ist. Es verwendet nicht den echten Linux-Kernel, ist jedoch so kompatibel, dass für Linux kompilierte Programme ohne Neukompilierung oder Übersetzung darauf laufen können. WSL ist Teil des NT-Kernels und existiert daher unabhängig vom Win32-Subsystem. Dies ähnelt der älteren SUA, obwohl dies ein POSIX-Subsystem (nicht Linux!) Auf dem NT-Kernel war.
coLinux führt einen echten (wenn auch modifizierten) Linux-Kernel aus. Auf Windows-Seite gibt es einen Treiber, der die Speicherverwaltung und den E / A-Zugriff ermöglicht. Konzeptionell ist es einer virtuellen Maschine am nächsten, jedoch mit einer engeren Integration zwischen Host und "Gast".
Aus der Sicht eines Programms sehen WSL und coLinux in etwa wie ein echter Linux-Kernel aus, der auf roher Hardware läuft. WSL hat (derzeit) mehr Einschränkungen und Macken, aber auch Unterstützung von Microsoft (Erstanbieter) und Wotks auf x86_64. coLinux ist ein echter Linux-Kernel und verhält sich wie Linux, während WSL eine Reinraumimplementierung des ABI ist.
Cygwin sieht Linux nicht näher als FreeBSD.