6

Я загрузил Подсистему для приложений на основе UNIX (Windows 7) с сайта microsoft.com. Во время установки я видел экран Cygwin, но у меня уже есть Cygwin. Это больше, чем Cygwin? Кажется, есть следующее, что может быть больше, чем Cygwin:

  • Базовые Утилиты
  • СВР-5 Утилиты
  • Базовый SDK
  • GNU SDK
  • GNU Utilities
  • UNIX Perl
  • Надстройка отладчика Visual Studio

Это больше, чем Cygwin? Если да, повлияет ли это на установленный в настоящее время Cygwin?

2 ответа2

5

Нет. В сущности, подсистема для приложений на основе 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 с помощью "менеджера пакетов" во время установки.

1

Это определенно не то же самое, что Cygwin. Я не знаю, есть ли приложения Cygwin, включенные в Подсистему для приложений на основе UNIX, хотя я очень сомневаюсь, что MS перераспределяет двоичные файлы Cygwin (которые являются открытым исходным кодом).

Из вашего списка выше, я думаю, что только надстройка отладчика Visual Studio не имеет аналогов в Cygwin. Вы можете увидеть список доступных пакетов в Cygwin на http://cygwin.com/packages/.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .