如何使Windows成为符合POSIX标准的开箱即用操作系统?

时间:2014-12-09 06:12:32

标签: linux windows unix operating-system posix

这个问题的动机是一个牵强附会的梦想,我可以在* nix平台上提供的许多优秀软件可以轻松移植到Windows。微软最近对开源和开放采取了不同的方法,所以我真的很想知道,如果微软这么倾向,这样的事情是多么可行。我感到好奇的一些更具体的事情是,如果能够在不破坏向后兼容性的情况下完成,也许可以对所涉及的努力量进行某种程度的衡量。如果有任何具体的技术例子可以突出这样做的特殊困难,那也将非常感激。

1 个答案:

答案 0 :(得分:12)

Windows已经是这样了。 NT内核本身支持"个性" (从NT层开始的API层)从一开始就支持设计至少Win32 API,POSIX API和OS / 2 API。

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

请注意,虽然"个性API"这是一个有趣的概念(可能是实现多API操作系统最简洁的方法之一),它会受到严重隔离的影响。问题 - 也就是说,您可以通过POSIX接口访问内核对象,但是通过Win32接口构建的所有服务(如Windows,GDI& co。)都不容易获得;此外,无论接口有多好,都有一些细节(如路径的格式)无法解决,因此POSIX应用程序总是看起来有点不合适。