linux - 如何使 Windows 成为开箱即用的 POSIX 兼容操作系统?

标签 linux windows unix operating-system posix

提出这个问题的动机是我的一个遥不可及的梦想,即可以将 *nix 平台上可用的许多优秀软件简单地移植到 Windows。微软最近对开源和开放总体上采取了不同的方法,所以我真的很想知道如果微软愿意的话,这样的事情会有多可行。我很好奇的一些更具体的事情是,是否可以在不破坏向后兼容性的情况下完成,以及可能涉及的工作量的某种衡量标准。如果有任何具体的技术示例可以突出执行此类操作的特殊困难,我们也将不胜感激。

最佳答案

Windows已经如此。 NT 内核本身从一开始就支持“个性化”(NT 层之上的 API 层)的概念,至少在设计上支持 Win32 API、POSIX API 和 OS/2 API。

POSIX 层在具有不同名称(Microsoft POSIX 子系统/SFU/SUA)的高端 SKU(通常与服务器相关)中流传了很长时间,但它从未真正流行于非专业用途,这都是因为它是不是普遍可用的(微软从未真正插入过它,可能是出于商业原因)并且因为其他解决方案变得普遍(想想 Cygwin/MSYS/MinGW)。

请注意,虽然“个性化 API”是一个有趣的概念(并且可能是实现多 API 操作系统的最干净的方法之一),但它有点受到“深度隔离”问题的困扰——也就是说,你确实可以通过 POSIX 接口(interface)访问内核对象,但是所有在 Win32 接口(interface)上构建的服务(如 Windows、GDI 等)都不容易获得;此外,无论界面多么好,都有一些细节(如路径的格式)无法解决,因此 POSIX 应用程序总是看起来有点格格不入。

关于linux - 如何使 Windows 成为开箱即用的 POSIX 兼容操作系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27372535/

相关文章:

ruby-on-rails - 如何在 linux apache 托管服务器(即主机、bluehost)中使用 https 配置 redmine

linux - 如何在使用 tcpdump 的 bash 脚本中处理 SIGKILL

c - PE装载机中的搬迁

windows - windows下有没有类似VI的编辑器?

bash - 将文件名重命名为另一个名称

python - struct.unpack 和 win/lin 中 python 2.4 和 2.4.4 的问题

Python 的 os.link 在 sshfs 网络驱动器上失败

database - 从 AIX : how to handle return code 上的 isql 调用的 Sybase 存储过程

c - windows下c语言中在目录中查找长度等于或大于给定int的文件

c - Shell/C 信号量