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

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

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

Как это добавить / улучшить или сломать в предыдущих реализациях MS Windows POSIX?

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

3 ответа

Решение

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

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

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

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

Начиная с Windows 8 он устарел, как уже упоминалось в этом ответе /questions/28204670/lyuboj-horoshij-uchebnik-dlya-perehoda-ot-zatmeniya-k-vim/28204684#28204684 со следующим снимком экрана для его поддержки:

Запрос функции: 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

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

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

Если вы посмотрите на 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

Другие вопросы по тегам