A WSL estaria mais próxima do coLinux do que do Cygwin.
Tenha em mente que Unix, POSIX e Linux são coisas diferentes .
O Cygwin é uma camada de compatibilidade POSIX que é executada sobre o subsistema Win32 . Não tem nada a ver com Linux ; ele pode ser amplamente tratado como "apenas outro tipo Unix", em que os programas de portabilidade requerem recompilação e possivelmente modificação de fonte, e qualquer coisa que exija recursos não específicos de POSIX para Linux provavelmente não funcionará.
A WSL foi projetada para ser ABI - compatível com o Linux. Não não usa o kernel real do Linux, mas é compatível de modo que os programas compilados para o Linux possam ser executados sem recompilação ou tradução. O WSL faz parte do kernel do NT, portanto, existe independentemente do subsistema Win32. Isso é semelhante ao antigo SUA, embora fosse um subsistema POSIX (não Linux!) No topo do kernel do NT.
O coLinux executa um kernel Linux real (embora modificado). No lado do Windows, existe como um driver que fornece gerenciamento de memória e acesso de E / S. Conceitualmente, está mais próximo de uma máquina virtual, embora com uma integração mais próxima entre host e "guest".
Do ponto de vista de um programa, tanto o WSL quanto o coLinux parecem aproximadamente o mesmo que um kernel Linux real rodando em hardware bruto. WSL (atualmente) tem mais limitações e peculiaridades, mas também tem suporte e wotks primários (Microsoft) em x86_64. O coLinux é um verdadeiro kernel do Linux, então se comportará como o Linux, enquanto o WSL é uma implementação de sala limpa da ABI.
O Cygwin não parece mais próximo do Linux do que, digamos, o FreeBSD faz.