微软 Windows 7 的 POSIX 实现目前处于什么状态?

17

在/为Windows 7中是否有完整的POSIX实现(我想到的是Windows Services for UNIX)?

它是否在操作系统的每个版本中都可用(看起来不是)?

它如何添加/改进或破坏之前的MS Windows POSIX实现?

在哪里可以找到有关Windows 7中Microsoft特定方法和实现的更多信息,以符合POSIX标准?

3个回答

16
SUA(以前称为INTERIX)现在已完全兼容POSIX,有很多移植的应用程序可用。甚至像Debian这样的整个Linux发行版已经被移植了。SUA/Interix随Windows 2003R2及以上版本(包括具有最新6.1版本的Win7)一起提供。我甚至成功地编译了不直接支持SUA的BASH。
先前仅实现了POSIX的部分功能。最新版本完全符合POSIX标准,并且(如果我没记错的话)与之前相比,将更直接地映射到Windows内核,从而提高了速度。
但是请注意,我(就个人而言)在保持BASH打开数天后会遇到内存问题。该问题似乎影响整个SUA系统。我不知道原因,因此在考虑将其用于生产使用之前进行测试是值得的。
链接:
Interix的维基百科文章
Debian Interix端口
具有应用程序/实用工具捆绑包的SUA社区

我猜现在它被称为SUA(基于UNIX的应用程序子系统)。 - John Sonderson

5
自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年发布了新的官方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 GUI。

感谢您更新SUA的状态。我已经自行添加了Windows 8.1和Windows Server 2012的信息。 - sleske
仅供参考。 "Windows子系统Linux"没有Linux内核。因此,您不能在其上运行虚拟机等操作。 - Sam Malayek

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接