源作者:搞IT的老雷
wine运行windows程序前面写了一篇 《中国自己的桌面操作系统根社区已上线》的文章,里面大体说了下openKylin社区和openKylin os的事。
有几个读者在文章下面提了问题,我再写一篇文章解答下。
openKylin上能否运行windows10上的软件。
一般是不可能的。
因为openKylin基于linux内核。而windows 10基于windows NT内核。两个操作系统的内核不一样,对同样的文件的理解也不一样。
windows上的exe文件,放到linux上,linux系统不理解这个文件格式,不知道怎么运行它。反过来linux上的可执行文件放到windows上,也是一样的。
为此,就有两大类方案:
在linux系统上安装一个转换工具或者库,可以把windows上的exe文件带动运行起来。比较典型的就是wine。
wine在linux的操作系统中做了一个模拟层,通过一套接口将对 Windows 系统调用指令翻译成对Linux和其他类 Unix 系统的 POSIX 系统调用指令。见百度百科 wine的介绍。 https://baike.baidu.com/item/wine/2286934?fr=aladdin
但也不是所有的windows程序都能通过wine在linux上运行起来,或者正常运行。
在linux上安装一个windows虚拟机
这种方案的代价太大,毕竟虚拟机占用的内存cpu比较高。
当然,如果windows上这个软件的开发者或者公司能专门为linux开发一套相应的版本,那肯定是最好的。
摆脱linux才能叫自主开发的os
国内的linux相关os,都是在linux内核基础上改了不少东西,添加了一些特性或者特色程序,方便国人使用。
linux是全球众多IT从业者20多年不断的更新发展出来的一个内核。
2020年1月1日,Linux内核Git源码树中的代码达到了2780万行
。phoronix网站统计了Linux内核在进入2020年时的一些源码数据并作了总结,从统计数据来看,Linux内核源码树共有27852148行(包括文档、Kconfig文件、树中的用户空间实用程序等)、887925次commit和大约21074位不同的作者。2780万行代码分布在66492个文件中。在这个内核周边还有大量的工具。
如果国人完全从0开始搞一个os,而不是基于linux,其中困难可想而知。首先参与的人会很少;其次工程量太大。
即使是安卓,也是从linux内核剪裁之后加了外围的一些代码才发展出来的。
国内的红旗,deepin,欧拉os,这些都是基于linux内核的。
搞windows软件兼容容易跑偏,最后又跑去做套壳
这是没办法的事。说白了,光有操作系统,没有上面一大堆可以用的软件,谁会用这种操作系统啊。
所以你看deepin,他们也给自家的os上适配了一些windows的应用,像微信,迅雷之类的。
上半年时候当然deepin还在开发linux版本下的下载工具和浏览器,也是给linux自身生态添加更多的程序。
不过光这点还是不够的,计算机是个软硬件结合的产物,需要软硬件厂商,多个领域的人一起发力才行。厂商也是要恰饭的,他看到linux用户少,就不愿意在linux上开发特定的软件。比如腾讯好多年前在linux上开发过qq,后面就烂尾下架了,直到前两三年又重新开发了linux上的qq。再比如显卡厂商就不一定会及时开发linux上的显卡驱动。
所以短期内,国产linux替换掉windows,还不现实。