HarmonyOS鸿蒙Next中兼容内核项目是把wine内置到linux内核中,以提高效率

HarmonyOS鸿蒙Next中兼容内核项目是把wine内置到linux内核中,以提高效率 Windows NT内核从设计之初就要两套API:Windows API和由微软和IBM公司共同创造的OS/2的API,这样NT内核可以运行Windows应用和OS/2应用。现在Windows又增加了linux API,使Windows可以运行linux应用。

浙大的longene兼容内核项目已经做出过尝试,在linux本身的系统调用(syscalls)之外增加了一套Windows的系统调用。这样linux就可以运行Windows应用。

longene 1.0rc 源代码 : https://github.com/longene-archive/longene-1.0-rc2

比如linux应用要写硬盘那么应用会通过系统中断int 0x80调用操作系统的写磁盘的API,系统完成写磁盘工作后把结果返回给linux应用。而Windows应用写磁盘通过系统中断int 0x2e调用系统写磁盘的API,要求系统完成写磁盘操作。由于linux本身就有写磁盘的代码,所以不用重新写一个写磁盘的代码,直接把Windows写磁盘的API嫁接到linux的写磁盘的API就可以了。由于Windows应用程序对操作系统系统调用所需的大部分功能,linux系统内核基本都有相应功能(把操作系统比喻为一栋大楼,linux大楼的门窗道路会议室是现成的,而且linux中还有砖头钢构建的更细的零部件),只要把Windows应用的API调用转向lux的API调用即可。如有Windows系统调用一些细节和linux的不完全一致,也可以用linux的相应代码(利用linux现成的门窗砖头钢结构等)修改到和Windows的一致。即使某个Windows API是linux内核中没有对于的功能的,也是可以利用linux内核中的微小模块(砖头钢构件)进行重新编码得到相应的功能。

linux本身已经有一套内存管理,CPU分时,安全管理,进程线程管理运作机制,Windows应用只管执行自身代码而不需要关心系统怎么管理软硬件的事情。

longene兼容内核和wine不同。wine是linux的一个应用,运行在linux应用层,并非在linux内核。它把Windows应用对系统的调用转向对linux的系统调用。但它在应用层干这件事情有很大的局限性,首先应用和内核的信息沟通频繁的进出内核和应用层,造成性能的巨大损失。更关键的是,在应用层构建Windows的API调用,相当于用linux会议室等大部件构建Windows的会议室等部件。有可能难以构建出来或者效果不好。而在内核中构建Windows部件可以用更细的砖头钢材材料,能把Windows部件做的更一致。

longene兼容内核是国家核高基项目,据说国家投入了2000万元资金,2014年资金已经用完项目就停摆了。但它已经能运行很多Windows应用,这得益于wine和react OS等开源项目。有现成的代码可以参考,特别是Windows那一堆dll文件是使用wine和react OS的,不需要重新开发。实测运行WPS等应用,longene兼容内核的性能比wine的高得多。

longene兼容内核是一个二进制兼容Windows和Linux应用软件设备驱动程序的计算机操作系统内核。它在Linux内核的基础上利用Linux内核材料构建MS Windows内核功能模块从而扩充Linux内核的支持能力使之同时支持Linux和Windows的应用程序和设备驱动。兼容内核本质是扩充了功能的Linux内核,可以在x86、龙芯等各种类型cpu的电脑上运行。


更多关于HarmonyOS鸿蒙Next中兼容内核项目是把wine内置到linux内核中,以提高效率的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

鸿蒙Next的兼容内核项目通过将Wine集成至Linux内核,实现了Windows应用在鸿蒙系统上的直接运行。这种设计减少了用户态与内核态之间的切换开销,提升了执行效率。项目基于鸿蒙微内核架构,优化了系统资源调度与进程通信机制,确保兼容性的同时维持了系统安全性与稳定性。该方案不依赖Java或C语言环境,完全采用鸿蒙原生技术栈实现跨平台兼容。

更多关于HarmonyOS鸿蒙Next中兼容内核项目是把wine内置到linux内核中,以提高效率的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS Next 的设计目标是构建一个统一、高效的分布式操作系统,其内核架构与您提到的兼容内核项目有所不同。HarmonyOS Next 基于原生鸿蒙内核,专注于跨设备协同、低时延和高安全性,而非通过集成 Wine 或类似技术来直接运行 Windows 应用。

您提到的 Longene 项目通过在 Linux 内核层添加 Windows 系统调用实现二进制兼容,确实减少了用户态与内核态的切换开销,从而提升了性能。但这种方法也增加了内核复杂性和维护成本,可能影响系统稳定性。

在 HarmonyOS Next 中,应用生态主要通过方舟编译器、分布式技术和鸿蒙原生应用框架来优化,强调一次开发、多端部署。对于跨平台需求,HarmonyOS 更倾向于通过标准化接口和适配层解决,而非直接修改内核结构。这种设计确保了系统轻量化和长期可演进性,符合鸿蒙面向全场景智慧体验的愿景。

回到顶部