Я нашел много информации о том, как работает подсистема Windows для Linux (WSL) в блоге msdn. Я знаю, что это основано на переводе системных вызовов Linux в системные вызовы NT в режиме реального времени, и поэтому возможно запускать неизмененные двоичные файлы ELF.
WSL - это подсистема NT, а также подсистема Microsoft POSIX, службы Windows для UNIX (SFU) и подсистема для приложений на основе Unix (SUA) / Interix.
Cygwin, с другой стороны, представляет собой приложение, которое находится поверх подсистемы Win32.
В блоге написано, что программы нужно перекомпилировать для SUA. Поскольку SUA является (насколько я понимаю) преемником SFU, который, в свою очередь, является преемником подсистемы POSIX. Поэтому я предполагаю, что все эти необходимые перекомпилированные двоичные файлы тоже.
Если это так, то чем эти предшественники WSL отличаются от Cygwin?
Я ищу сравнение между ранее упомянутыми системами / программами и тем, как они работают «под капотом». (В частности, чем WSL отличается от своих преемников)
PS: сейчас нужно удалить некоторые ссылки, так как моя репутация на SU ограничивает меня до 2