Linux兼容内核(Linux Unified Kernel,亦称 Longene),是一个二进制兼容Windows和Linux应用软件和设备驱动程序的计算机操作系统内核。它试图在Linux内核的基础上利用Linux内核材料构建MS Windows内核功能模块从而扩充Linux内核的支持能力使之同时支持Linux和Windows的应用程序和设备驱动。
兼容内核主要以C语言编写,以GNU通用公共许可证授权使用。虽然兼容内核还处在初期开发阶段,但许多Windows程序已经可以在其上运行。与其相反但类似概念的是 coLinux。coLinux 是在Windows上运行Linux应用软件。
兼容内核项目在Linux内核的基础上利用Linux内核材料构建一个Windows内核环境(包括进程管理、线程管理、对象管理、虚拟内存管理、同步、系统调用、系统注册机制和设备驱动程序框架等Windows系统内核机制),形成一个新的内核,使Linux和Windows应用程序和设备驱动程序能够直接在其上运行。
兼容内核不是Linux内核和Windows内核的简单堆砌。为了防止兼容内核变得臃肿,如果一个功能可以用利用ReactOS(Windows的开源仿制品)代码实现,也可以利用Linux内核函数通过编程实现(ReactOS、Wine、NDISwrapper代码作为参考),兼容内核倾向采用后一种实现方法。
兼容内核有两套系统调用(syscalls)及其相应的系统调用表(syscall table):一套为Windows系统调用,另一套为Linux系统调用。Windows应用程序通过软中断“int 0x2e”访问系统调用表进行Windows系统调用。Linux应用软件则通过软中断“int 0x80”访问系统调用表进行Linux系统调用。
兼容内核项目不计划开发Windows和Linux的在用户空间运行的库文件(.dll和.o文件)。这些库文件由Wine项目(或MS Windows/ReactOS项目)和Linux项目提供。
来自wiki百科