Microsoft Windows的7 POSIX实现当前站在哪里?
题
Windows 7中是否有完整的POSIX实现(我正在考虑UNIX的Windows Services)?
它在操作系统的每个版本中都可以使用(似乎不是)吗?
它如何在以前的MS Windows Posix实现上添加/改进或破坏?
在哪里可以找到有关特定的Microsoft方法和有关POSIX合规性的特定方法的更多信息?
解决方案
SUA,以前称为Interix,现在是100%POSIX兼容。有很多移植应用程序。甚至像Debian这样的整个Linux发行版也已经被移植了。 SUA/Interix带有Windows 2003R2及以上(包括最新6.1的Win7)。我还成功地编译了Bash,而无需直接支持SUA。
以前仅实施了POSIX的一部分。最新版本完全符合POSIX,并且(IIRC)比以前更直接地映射到Windows内核上,从而增加了速度。
但是请注意,当我保持bash持续几天时,我(在个人笔记中)会遇到记忆问题。问题似乎影响了整个SUA系统。我不知道其原因,所以我的设置可能是某种原因,但是在考虑生产使用之前,值得进行测试。
链接:
Wikipedia关于Interix的文章
Debian Interix端口
SUA社区,具有大量应用程序/UTILS
其他提示
自Windows 8以来,它已被弃用, ,如这个答案所述 https://superuser.com/a/495367/128124 使用以下屏幕截图来支持它:
根据 关于如何怪胎的文章, 从Windows 8.1删除。
在服务器端,它是正式的 在Windows Server 2012 R2中删除:
基于UNIX的应用程序的子系统
Windows Server 2012:弃用
Windows Server 2012 R2:已删除
资源: Windows Server 2012 R2中删除或弃用的功能R2
2016 Windows子系统for Linux
2016年,宣布了一个新的类似Linux的API,名为“ Windows子系统”。它包括Linux系统调用,ELF运行, /Proc文件系统的一部分,Bash,GCC,(可能是Glibc?),APT-GET等: https://channel9.msdn.com/events/build/2016/p488 因此,我相信它将允许Windows运行太多(如果不是全部)POSIX。但是,它专注于开发人员 /部署而不是最终用户。特别是没有计划允许访问Windows GUI。
如果你看 http://technet.microsoft.com/en-us/library/cc772343.aspx 您可以看到可以:
- 带有视觉工作室的Debug Posix应用程序
- 在64位Windows版本上运行32位POSIX应用程序
- 运行BSD应用程序,因为Windows的POSIX实现中包括BSD支持