15

Windows 7 中是否有完整的 POSIX 实现(我正在考虑适用于 UNIX 的 Windows 服务)?

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

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

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

4

3 回答 3

15

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

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

但是请注意,当我将 BASH 保持打开几天时,我(就个人而言)会遇到内存问题。这些问题似乎影响了整个 SUA 系统。我不知道这是什么原因,所以它可能与我的设置有关,但在考虑将其用于生产之前值得测试。

链接:
关于 Interix
Debian interix 端口
SUA 社区的维基百科文章以及应用程序/实用程序捆绑包

于 2011-01-20T10:45:09.550 回答
4

自 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 的 Windows 子系统

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

于 2015-09-02T14:22:54.070 回答
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

于 2014-09-21T18:23:54.933 回答