[software development] 兼容内核项目是把wine内置到linux内核中,以提高效率
Tofloor
poster avatar
186******33
deepin
2025-09-07 11:40
Author

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的电脑上运行。

Reply Favorite View the author
All Replies
2 / 2
To page
comicfans
deepin
2025-09-09 09:45
#21
186******33

我是实用主义者。

现在很多新电脑安装linux,华为笔记本也有安装uos。但linux桌面生态很差,很多软件用不了,很多人用不了多久就把linux卸载,安装Windows了。

如果linux本身就自带win32子系统,能比较好的运行Windows大多数应用,那么就不会有这么多人卸载linux。对大多数普通用户来说只在意是否好用是否符合自身使用习惯和是否能运行自己的软件完成任务。是linux或Windows倒不太在意。

中国每年生产电脑3亿多台,购买Windows操作系统费用近千亿元。不如花几十亿元用来开发linux的win32子系统,使linux能运行大部分Windows应用。一旦开发成功,每年节省购买Windows系统费用几百亿元。

我算了一下,一个1000人的团队,人均每年经费80万元,开发5年,也只是花费40亿元。这么多的人力投入把win32子系统开发出来是没有问题的。

一旦美国对中国禁售Windows系统,那么我们也有替代Windows的系统可用。

你还是不了解我们的方向 如果国外的应用决定市场 我们其实是硬件决定市场 国产芯片主机装不了win甚至很多主流架构的linux都装不了 现在办公市场已经基本半覆盖 最大的团体市场马上就国产化替代 虽然现在用着麻烦 随着硬件反推软件环境完善 大家已经发现越用越舒服 我们中国人最大的本事就是开荒 会逐步突破家用市场 我们目标是就是要完全和win脱轨 至于将来还用不用linux 可能还是看这几个国产系统硬还是华为硬了

Reply View the author
兆兆嘟嘟嘟
deepin
Q&A Team
2025-09-09 13:59
#22
186******33

微软为Windows11增加了linux子系统,它也没有什么顾虑的。为什么linux反倒有这些顾虑。

因为这个子系统不在底层。

Reply View the author
‌量子巡游者
deepin
Q&A Team
2025-09-09 22:58
#23

官方人员已经看到了,现阶段官方有自己的wine兼容程序,短期内是不可能更换的,项目有优势,是否采用开发有待评估!

Reply View the author
186******33
deepin
17 hours ago
#24
‌量子巡游者

官方人员已经看到了,现阶段官方有自己的wine兼容程序,短期内是不可能更换的,项目有优势,是否采用开发有待评估!

当年浙大兼容内核项目用20人约2000万元的经费就把进程/线程管理机制,内存管理机制,注册表等移入了内核。如果deepin愿意接手推进这个项目,那么只需20多人的开发团队,每年500到1000万元的开发经费就够了。占销售收入的比例并不大。

Reply View the author
affoto
deepin
17 hours ago
#25

让deepin实现这估计使用量会增大不少。

使用Linux系统又不必Windows系统的多出一大截所以使用推广很难,那个东西要向超越前者都要有1.5倍的好处才行,谁会费劲搞一个不好用的东西!

Reply View the author
‌量子巡游者
deepin
Q&A Team
16 hours ago
#26
186******33

当年浙大兼容内核项目用20人约2000万元的经费就把进程/线程管理机制,内存管理机制,注册表等移入了内核。如果deepin愿意接手推进这个项目,那么只需20多人的开发团队,每年500到1000万元的开发经费就够了。占销售收入的比例并不大。

被别人花了那么多资金放弃的项目,肯定有它致命的缺陷或无法兼容的点,我说的采用也不是直接接手开发,而是也可以它的优点提高wine兼容层,别人花了那么多资金还是放弃了,说明不是维护成本大造成放弃的

Reply View the author
186******33
deepin
16 hours ago
#27
‌量子巡游者

被别人花了那么多资金放弃的项目,肯定有它致命的缺陷或无法兼容的点,我说的采用也不是直接接手开发,而是也可以它的优点提高wine兼容层,别人花了那么多资金还是放弃了,说明不是维护成本大造成放弃的

浙大是2014年放弃兼容内核项目的。原因的国家给的资金用完了。现在的政zhi和市场环境和当年不同,中美竞争,中国zhengfu愿意采购国产操作系统,当然前提是国产操作系统要好用满足用户的需求。也就是说投入是很可能得到正向的回报的。

Reply View the author
2 / 2
To page