Где в настоящее время стоит задача Microsoft POSIX для Microsoft Windows?

Есть ли полная реализация POSIX, доступная в/для Windows 7 (я имею в виду Windows Services для UNIX)?

Доступен ли он в каждой версии ОС (кажется, нет)?

Как это добавить/улучшить или прервать предыдущие реализации MSOS POSIX?

Где я могу найти дополнительную информацию о конкретных подходах и реализации Microsoft в отношении соответствия POSIX в Windows 7?

Ответ 1

SUA, ранее называвшийся INTERIX, теперь совместим с POSIX на 100%. Для этого есть много портированных приложений. Портированы даже все дистрибутивы Linux, такие как Debian. SUA/Interix поставляется с Windows 2003R2 и выше (включая Win7, который имеет последнюю версию 6.1). Я также успешно скомпилировал BASH без непосредственного поддержки SUA.

Ранее были реализованы только части POSIX. Новейшая версия полностью совместима с POSIX и является (iirc) сопоставлена ​​более непосредственно с ядром Windows, чем раньше, что приводит к увеличению скорости.

Остерегайтесь, однако, что у меня (в личной записке) возникают проблемы с памятью, когда я держу BASH открытым в течение нескольких дней. Кажется, что проблемы затрагивают всю систему SUA. Я не знаю причину этого, поэтому это может быть что-то с моей настройкой, но стоит проверить, прежде чем рассматривать его для использования в производстве.

Ссылки:
Статья в Википедии о Interix
Межсетевой порт Debian
Сообщество SUA с пакетами приложений /utils

Ответ 2

Он был устаревшим с Windows 8, как упоминалось в этом ответе https://superuser.com/a/495367/128124 со следующим скриншотом для его возврата:

Запрос функции: https://windows.uservoice.com/forums/265757-windows-feature-suggestions/suggestions/6573649-full-posix-support

В соответствии с статья о How-To Geek, была удалена из Windows 8.1.

На стороне сервера было официально удалено в Windows Server 2012 R2:

Подсистема для UNIX-приложений

Windows Server 2012: Устаревшие

Windows Server 2012 R2: удалено

Источник: Функции удалены или устарели в Windows Server 2012 R2

2016 Подсистема Windows для Linux

В 2016 году был анонсирован новый официальный Linux-подобный API под названием "Подсистема Windows для Linux". Он включает в себя системные вызовы Linux, запуск ELF, части файловой системы /proc, Bash, GCC, (TODO, вероятно, glibc?), Apt-get и многое другое: https://channel9.msdn.com/Events/Build/2016/P488, поэтому я считаю, что это позволит Windows запускать много, если не все, POSIX. Однако он ориентирован на разработчиков/развертывание вместо конечных пользователей. В частности, не было планов разрешить доступ к графическому интерфейсу Windows.

Ответ 3

Если вы посмотрите http://technet.microsoft.com/en-us/library/cc772343.aspx, вы увидите, что вы можете:

  • отладка приложений POSIX с Visual Studio
  • запустить 32-разрядные приложения POSIX в 64-битной версии Windows
  • запускать BSD-приложения, поскольку поддержка BSD включена в POSIX-реализацию Windows

Пожалуйста, прочитайте https://en.wikipedia.org/wiki/Windows_Services_for_UNIX