为计算机用户提供最好的 Linux 体验是团队开发优麒麟的初衷,也是团队一直坚持和努力的方向。从建立之初,优麒麟团队就着手以桌面环境为起点去打造一款具有更佳用户体验的 Linux 发行版。这是因为桌面环境作为操作系统的重要组件,是用户使用操作系统最直接的入口,一个好用的桌面环境可以大幅降低用户使用 Linux 的门槛,甚至可以直接提升操作系统的使用人数。
经过 20 余年的追赶,国产 Linux 操作系统与国外主流操作系统如 Windows 在性能上的差距正在逐步缩短,某些领域甚至可以实现反超。但桌面应用并不是性能为王,而是生态为王。目前,国产 Linux 操作系统在推广的过程中,遇到的核心的问题就是应用生态。而生态又不单单是仅靠金钱或人力投入就能解决的。
通常来说,丰富 Linux 应用生态有两种途径:在 Linux 上写原生应用,这是最理想的途径,但存在诸多不可控因素;兼容,把其他平台上用得好的软件也在 Linux 平台上运行起来。兼容有很多种不同技术,比较常见的是采用模拟器技术,即通过虚拟机扩大应用生态,但这种方式往往也会带来性能上的损耗和易用性的损失。
要想实现不同运行环境之间的互通,丰富 Linux 应用生态,还需要再添一把火。麒麟移动运行环境 KMRE 应运而生。2021 年 6 月 20 日,优麒麟新发布的 20.04 LTS Pro 版本首次宣布支持移动兼容环境, 通过麒麟移动运行环境 KMRE,实现桌面和移动端全面打通,极大地提升了优麒麟操作系统应用生态的丰富性。
2016 年开始,优麒麟团队展开技术攻关,创新开发 KMRE 架构。
KMRE 的研发是一个系统性的工程,代码量大。它不同于虚拟机,架构通过共用内核,直接使用硬件,同时支持 ARM 和 x86 设备和多种 CPU、GPU,有效解决了显示性能损耗、多窗口运行、桌面共享、文件互通等问题,将 Linux 操作系统和 Android 操作系统“合二为一”。两个系统共用同一个内核,共享硬件资源,并且 KMRE 可以直接使用硬件资源。
技术实现上,KMRE 采用原生运行模式,从 Linux 内核到 Android 硬件抽象层,再到 Android 运行时库、应用运行框架实现打通。在硬件抽象层面,也需要进行相应的打通和适配,如电池、GPS、重力感应等等。此外,Android 操作系统的应用通常以单窗口的方式展现,而在 Linux 操作系统中,用户需要在多个窗口中打开不同的应用,这也是二者存在差异的地方。
“虽然 Android 起源于 Linux,但它主要运行在手机端,而 Linux 现在更多面向的是桌面和服务器端,二者的应用环境不同,软件栈也存在很大的差异,甚至进程间通信和共享内存的机制也是不同的。”刘晓东博士介绍道。
余杰博士认为,多端融合给了国产 Linux 操作系统一个弯道超车的机会。“在过去,如果我们想用 Linux 操作系统去替代 Windows 是一件比较困难的事情,因为 Windows 的应用生态已经非常成熟。现在,通过多端融合,我们可以用移动的方式来解决 Linux 此前无法处理的应用场景,降低替换难度。长远来看,多端融合给了我们一个崛起的机会。”