即 (Linux + Wine) => … => … => (Linux’ + Wine’)。起点 Linux+Wine 显然是可以运行的,开发过程中的每一步都实现一组有限的目标,每一步的结果都应该是一个可以运行的、更逼近 Windows 的、可以发行的版本。
对 Linux 内核的修改原则上以动态安装模块的形式实现,尽可能不改变 Linux 内核原有的代码,必要时才打一下补丁。这有利于保持原 Linux 内核的稳定。
对于设备驱动支持部分兼容内核以 NDISWrapper 为起点,通过扩充和替换 NDISWrapper 功能模块和增加 Windows API 支持来实现设备驱动的装入和运行。
四、兼容内核项目进展
兼容内核已经实现了 Windows 系统的进程/线程管理、对象管理、虚拟内存管理、进程间同步管理和注册表管理等 Windows 系统的基本机制。文件系统整合工作也已经完成正在进行测试并在以后的版本发布。
五、竞争项目
Wine、ReactOS 和兼容内核的目标都是兼容 Windows 应用和驱动软件,它们是互相竞争的项目。由于兼容内核的起点高其竞争力明显强于前两者。
虽然 Wine 1.0 已经可以运行近万个 Windows 应用软件,但它在用户空间模拟 Windows(把调用 Windows API 转向为调用 Linux API)的技术特点决定它效率低下,兼容性难以进一步提高。由于在用户空间运行,除了实现一些简单的 USB 打印机驱动外,在驱动上基本没有什么作为。终究 Wine 只是一个应用而不是操作系统。它不具有取代 Windows 的能力。而且 Wine 所取得的进步可以被兼容内核利用。
ReactOS 项目是由俄国人主导的开源项目,目标是开发一个开源的 Windows 内核。令人佩服的是它的开发基本上是从零开始的!这个项目的进展很快,现在 0.3.8 版已经可以运行好些 Windows 应用了。不过,考虑到 Windows 内核的复杂性,ReactOS 离实用还是有相当大的距离—当 Wine 和兼容内核已经借助 Linux 内核使用各种各样的设备时,ReactOS 还在为未能支持声卡和 USB 键盘而苦恼。预计 ReactOS 要到 0.4 版才能实现 USB 的支持(把 Linux 的 USB 驱动移植到 ReactOS,这工作已经做了很久)。
兼容内核的起点比较高,是继承 Linux 内核资源的基础上进行发展的。操作系统在管理资源的实现上虽然不尽相同,但原理是大同小异的,兼容内核所做的只是补上 Windows 内核与 Linux 内核之间的差异,工作量比 ReactOS 小的多,而且即使是对于这些差异也可以利用和借鉴现有的开源代码资源,包括 Wine、ReactOS 等。
六、前景
随着技术的发展预计三到五年内将会出现功能和现在主流电脑基本相当但价格在一千元以内的低端计算机。低端机的竞争非常激烈,每台机厂家的利润也就 100 元以内,因此难以承受 Windows 高昂的价格。作为 Windows 的替代品的兼容内核将能在这个细分市场取得较大的份额。
下载地址:
?id=32&page=download
兼容内核官方网站:
兼容内核 Wiki:
Linux 兼容内核白皮书(关于兼容内核的必要性、知识产权问题、开发路线和技术方案):