Нет. В сущности, подсистема для приложений на основе UNIX (SUA), ранее известная как Interix, включает в себя несколько приложений под GPL, поэтому MS сама по себе не против GPL.
В отличие от Cygwin, эта подсистема распространяется на подсистему POSIX, которая была предоставлена в предыдущих версиях Windows (я думаю, вплоть до XP), и является реальной подсистемой для Windows, так же как подсистема Win32.
По общему признанию подсистема Win32 занимает особое место в системе, поскольку она имеет привилегированный доступ к некоторым ресурсам, но в целом архитектура Windows позволяет нескольким подсистемам работать параллельно. Предположительно подсистема POSIX была изначально включена для удовлетворения некоторых требований к закупкам программного обеспечения правительства США.
Cygwin во многих местах имитирует поведение старого Interix (который был коммерчески доступен только во времена NT4 и 2000), но может по определенным причинам не обеспечивать все ту же семантику. IIRC Cygwin фактически основан на подсистеме Win32, тогда как SUA сама по себе является подсистемой. У меня нет удобного Cygwin, но некоторые различия должны заключаться в том, что Cygwin может или не может обрабатывать имена файлов с учетом регистра - т.е. несколько разных файлов параллельно, таких как foo
, foO
и FOO
в одной папке - хотя Платформа NT и, конечно, NTFS способны справиться с этим. Тем не менее, Win32 сохраняет дело для всего, что я знаю, но это не заботится об этом. СУА с другой стороны делает. Вы также можете создавать файлы с конечной точкой (например, foo.
) В SUA, чего нельзя сделать в Win32 (и, вероятно, в Cygwin).
SUA, как и Cygwin, имеет огромный недостаток в производительности. Я недавно попробовал это на Windows 2008 Server R2, и это было довольно вяло по сравнению с Cygwin. Тем не менее, одна только другая семантика в файловой системе может обеспечить преимущество, например, с помощью автоинструментов GNU, поскольку они могут полагаться на функции (или, скорее, семантику), которые обычно встречаются в unixoid системах, которые SUA точно имитирует, но Cygwin не может.
И, конечно, Фрэн прав, что вы не получаете плагин отладчика для VS с Cygwin. Остальное, однако, следует включить в Cygwin с помощью "менеджера пакетов" во время установки.