Microsoft Windows的7 POSIX实现目前在哪里?

时间:2011-01-20 10:36:47

标签: windows windows-7 posix posix-api

Windows 7中是否有完整的POSIX实现(我正在考虑使用Windows Services for UNIX)?

是否在每个版本的操作系统中都可用(似乎没有)?

它如何在以前的MS Windows POSIX实现中添加/改进或中断?

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

3 个答案:

答案 0 :(得分:15)

SUA,以前称为INTERIX,现在100%兼容POSIX。它有很多移植的应用程序。甚至整个像Debian这样的Linux发行版都被移植了。 SUA / Interix附带Windows 2003R2及更高版本(包括最新版本为6.1的Win7)。我也成功编译了BASH而没有直接支持SUA。

以前只实施了POSIX的部分内容。最新版本完全符合POSIX标准,并且(iirc)比以前更直接地映射到Windows内核,从而提高了速度。

请注意,当我将BASH打开几天时,我(个人记录)会遇到记忆问题。这些问题似乎影响整个SUA系统。我不知道这个的原因所以它可能是我的设置,但值得测试之前考虑它用于生产用途。

链接:
Wikipedia article on Interix
Debian interix port
SUA Community with bundles of apps/utils

答案 1 :(得分:4)

自Windows 8以来已被弃用,如此回复https://superuser.com/a/495367/128124所述,并提供以下屏幕截图:

功能请求:https://windows.uservoice.com/forums/265757-windows-feature-suggestions/suggestions/6573649-full-posix-support

根据article on How-To Geek,已从Windows 8.1中删除。

在服务器端,它在Windows Server 2012 R2中被正式删除

  

基于UNIX的应用程序的子系统

     

Windows Server 2012:已弃用

     

Windows Server 2012 R2:已删除

来源:Features Removed or Deprecated in Windows Server 2012 R2

2016年适用于Linux的Windows子系统

2016年宣布了一个名为“Linux子系统Linux”的新的类似Linux的官方API。它包括Linux系统调用,ELF运行,部分/ proc文件系统,Bash,GCC,(TODO可能是glibc?),apt-get等等:https://channel9.msdn.com/Events/Build/2016/P488所以我相信它会让Windows运行得多,如果不是全部,POSIX。但是,它专注于开发人员/部署而非最终用户。特别是,没有计划允许访问Windows GUI。

答案 2 :(得分:0)

如果查看http://technet.microsoft.com/en-us/library/cc772343.aspx,您可以看到:

  • 使用Visual Studio调试POSIX应用程序
  • 在64位Windows版本上运行32位POSIX应用程序
  • 运行BSD应用程序,因为BSD支持包含在Windows的POSIX实现中

请阅读https://en.wikipedia.org/wiki/Windows_Services_for_UNIX