数千万次下载、百万行开源代码贡献,优麒麟如何打造中国开源操作系统新名片? | 卓越技术团队访谈录

简介: 20 世纪末,中国掀起操作系统本土化浪潮。在随后的 20 余年时间里,依托开源生态以及政策东风,这股浪潮愈加猛烈,也涌现出了越来越多好用的国产操作系统。

作者 | 凌敏

采访嘉宾 | 余杰博士、刘晓东博士

20 世纪末,中国掀起操作系统本土化浪潮。在随后的 20 余年时间里,依托开源生态以及政策东风,这股浪潮愈加猛烈,也涌现出了越来越多好用的国产操作系统。

作为能让计算机正常运行的根基,操作系统扮演着不可替代的角色,然而,开发操作系统却是一个艰难的旅程。本文中,InfoQ 采访了优麒麟项目负责人余杰博士、开发负责人刘晓东博士,希望他们的实践经验能给大家带来一些启发和思考。

2013-2022,优麒麟 9 年的变迁与升级

2013 年,Canonical、CSIP 和 NUDT 三方成立非营利性组织 CCN 开源软件创新联合实验室,优麒麟项目正式启动。同年 4 月,优麒麟首个 13.04 版本正式发布,面向全球免费下载并开放所有源代码,正式成为 Ubuntu 官方认可的衍生版。

自优麒麟诞生至现在,在漫长的发展长河中,有三个不得不提的重要举措。

创建独有桌面环境 UKUI:融入中国特色,更有科技感、时尚感

为计算机用户提供最好的 Linux 体验是团队开发优麒麟的初衷,也是团队一直坚持和努力的方向。从建立之初,优麒麟团队就着手以桌面环境为起点去打造一款具有更佳用户体验的 Linux 发行版。这是因为桌面环境作为操作系统的重要组件,是用户使用操作系统最直接的入口,一个好用的桌面环境可以大幅降低用户使用 Linux 的门槛,甚至可以直接提升操作系统的使用人数。

然而桌面环境的实现并不轻松,基础实现难度较大。因为桌面环境覆盖了很多基础组件,如开始菜单、文件管理器、控制面板等,工作量较大;同时,桌面环境还要对底层硬件进行管理控制,对上层应用提供支撑,技术难度也较高。

在经过了大量的用户调研和自主设计后,优麒麟开发出了全新的桌面环境 UKUI,并在其中融入中国特色,比如 2017 年 4 月发布的 UKUI 2.0 就遵循了中华民族美学核心——观物取象,主色调采用了源自大自然的中国传统颜色,而图标及默认壁纸则是拟物化和扁平风结合统一的形式。

2018 年,UKUI 桌面环境正式进入主流发行版 Debian 的官方仓库,成为第一款由中国团队主导开发并进入两大国际主流社区的桌面环境。2020 年,首个 UKUI 3.0 预览版发布。UKUI 3.0 作为 UKUI 的第三个大版本,使用 Qt 开发,并新增了诸多新特性,如跨平台支持,兼容 x86、ARM64 等多种主流架构;4K 支持,采用 SVG 格式图标,并通过 DPI 设置,支持 100%-300% 的整倍缩放。2021 年,UKUI 被 openSUSE 和 Gentoo 社区仓库收录,成为其可选桌面环境之一。

截至目前,UKUI(项目地址:https://github.com/ukui)共有 177 位开发贡献者,累计项目代码量超 300 万行。

引入双内核解决方案:在稳定性、兼容性与最新特性间得到平衡

2021 年 4 月,优麒麟 20.04 LTS Pro 版本正式发布,这是基于 20.04 长期支持版本的更新,并将提供 5 年的技术支持。

优麒麟 20.04 LTS Pro 引入了双内核解决方案:集成最新 Linux 5.10 LTS 版本内核,同时提供 Linux 5.4 LTS 版本内核,用户可以在 Grub 界面选择任一版本内核进行体验,满足更多场景下的用户使用需求。

这种双内核的设计优势明显,Linux 5.10 LTS 版本内核能提供一些 Linux 最新的特性,带来了许多功能增强和更多的设备支持;Linux 5.4 LTS 版本内核具备更好的稳定性和兼容性。总的来说,这种双内核方案能够在稳定性、兼容性与最新特性间得到平衡。

目前,优麒麟社区(项目地址:https://github.com/ubuntukylin)已累计发行 18 个版本,下载量超过 3800 万次,向开源社区贡献代码数百万行,在全球范围内拥有数十万活跃用户。

拥抱 RISC-V:开展硬件模块化与软件模块化相融合的操作系统架构设计

近年来,以 RISC-V 为代表的开放架构指令集备受关注。

RISC-V 是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。与 x86、ARM 相比,RISC-V 可以完全自由免费使用,并容许添加自有指令集拓展以实现差异化发展。

目前,RISC-V 正赢得越来越多的支持者,成为后摩尔时代深刻影响芯片产业的重要变量。优麒麟也将 RISC-V 作为重要的战略方向。2021 年 12 月 29 日,优麒麟社区发布首个支持 RISC-V 架构的系统——20.04 Pro (RISC-V)版本。

RISC-V 有如此明显的架构优势,但与 x86 和 ARM 架构相比,RISC-V 短板也很明显,那就是应用生态系统不够完善。为了补足这一短板,优麒麟在 RISC-V 版本中自带 20+ 款自研软件,丰富了 RISC-V 应用生态系统。

此外,优麒麟也在生态兼容上下功夫。“生态兼容是操作系统厂商最绕不过去的一个槛,要么我们自己构建生态,要么兼容生态。我们希望能够把 x86 和 ARM 比较完善的应用生态,通过指令集转换和应用兼容运行环境的方式,兼容到 RISC-V 的生态上来。”刘晓东博士说道。

今年 2 月,英特尔宣布加入 RISC-V 国际基金会,这对 RISC-V 生态发展无疑是一大利好。不过也有专家指出,RISC-V 需要尽快逼近甚至超越 ARM 的性能,这需要来自硬件 IP、后端优化、封装优化、软件优化等多方面的支持。

不过,由于 RISC-V 本身是个可扩展架构,更多应用在 IoT 领域这种对性能要求不高的地方。当前国内虽然有多家厂商进军这一赛道,但更多是基于 RISC-V 开发面向低端场景的芯片。

“我们评估至少再花个三五年的时间, RISC-V 芯片才能在 PC 这种场景上比较成熟。今年我们会将 Web 版本作为优化的重点,目前国际上几个主流的发行版,比如 Debian、 Ubuntu 都有 RISC-V 的版本,但还缺乏对 RISC-V 芯片特征的针对性优化,比如它的模块化特性,这是我们今年的重要任务之一。”余杰博士表示。

除了在 RISC-V 上加大研发支持和投入,未来,优麒麟也会关注操作系统智能化,对用户习惯进行深入的学习和挖掘,提供智能语音助手等相应的功能,并增强对当前主流深度学习框架例如 TensorFlow 的支持。

回顾过往 9 年,优麒麟积累到的经验是,做开源项目尤其是开源操作系统,需要重点关注两方面:第一,重视开源规则;第二,重视代码质量。

开源操作系统不同于开源软件,它的整个仓库方案有三四万个软件包,这些软件包中各个功能、协议间的相互影响比较复杂,因此需要专门的人员来做合规性评估和审核,并重视工作规范,程序的正确性以及逻辑完备性上下功夫。

生态难题下,多端融合给了 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 现在更多面向的是桌面和服务器端,二者的应用环境不同,软件栈也存在很大的差异,甚至进程间通信和共享内存的机制也是不同的。”刘晓东博士介绍道。

此外,KMRE 还提供了两种显示框架。第一种通用模式,针对所有显卡,包括开源和闭源的显卡,兼容性极高;第二种高性能模式,针对于开源驱动的显卡,能够直接访问硬件,做到零性能损失。

多端融合为操作系统带来了新的改变,极大地丰富了应用生态,满足用户更多的应用需求。近年来,越来越多的操作系统在多端融合上发力,如微软的 Windows 11 操作系统就带来了 Android 子系统,可直接运行 Android 应用,OpenHarmony 也将与 OpenEuler 能力共享、生态互通。

那么,多端融合是国产操作系统加速崛起的必然选择吗?

余杰博士认为,多端融合给了国产 Linux 操作系统一个弯道超车的机会。“在过去,如果我们想用 Linux 操作系统去替代 Windows 是一件比较困难的事情,因为 Windows 的应用生态已经非常成熟。现在,通过多端融合,我们可以用移动的方式来解决 Linux 此前无法处理的应用场景,降低替换难度。长远来看,多端融合给了我们一个崛起的机会。”

多端融合使得用户对于单个操作系统的依赖性正在减弱。随着物联网技术进一步发展,个人智能设备数量陡增,多端融合技术也可以让这些设备之间实现更好的联动,高效传输信息。可以预见的是,在未来,多端融合也会带来更多奇妙的反应。

从 80 分到 100 分的跨越

当前国内基础软件产业整体仍落后于国际领先的水平,中国市场也一直没有催生出世界级基础软件企业。究其原因,刘晓东博士认为,国内对于开源的理解以及重视程度还不够,从事开源软件开发的人数也比较有限。同时,国内缺少比较良性的社区运行模式,缺乏顶级的开源社区。

“比较好的一点是,我们可以看到国家在‘十四五’规划里对开源社区有了更多的重视,我认为在未来五年里,开源社区可以迎来发展机遇,会有更多的人参与到开源事业中来。”

至于一个开源项目如何才能更加持续、稳定地运营下去,从感性维度而言,需要的是“热爱”。“只要有一波人对着同一个开源项目有了足够多的热爱,就能够保证这个开源项目能够有持续性的投入,以及较高的活跃度,能够不断地去跟国际主流开源社区进行交流和碰撞,从而让这个开源事业走向成熟和稳定。”刘晓东博士说道。

从理性维度而言,则是需要“成熟的商业模式”。“有个成熟的商业模式,它才能够真正长久的走下去。”余杰博士说道。

在信创背景下,国产操作系统发展逐步驶入快车道,余杰博士认为,如果 Windows 是 100 分的话,那么国产操作系统已经达到七八十分的水平。

“目前在整个 Linux 桌面水平、生态,以及性能优化方面都做了很多工作,虽然和 Windows 分数差距没那么大,但从 80 分到 100 分需要极大的投入,甚至是整个行业的带动。与此同时,国产操作系统应该在用户体验上下功夫,可以借鉴苹果、安卓的设计思路,但也要做出自己的特色。”

从 80 到 100 分需要跨越多少江河,背后需要做出多少工作,这是留给每个从业者的难题。

长期征集|寻找中国卓越技术团队

2022 年第一季《中国卓越技术团队访谈录》即将上线,本期精选了包括腾讯云鼎实验室、优麒麟、PingCAP、西门子 Mendix、火山引擎 ByteHouse、搜狗输入法无障碍产品在内的优秀团队,敬请关注。同时,访谈录现开放长期报名通道,如果你身处传统企业经历了数字化转型变革,或者正在互联网公司进行创新技术的研发,并希望 InfoQ 可以关注和采访你所在的技术团队,抓住机会报名吧!

目录
相关文章
|
2月前
|
人工智能 分布式计算 大数据
Linux操作系统:开源力量的崛起与影响###
一场技术革命的火种,如何燎原? 本文将带您深入探索Linux操作系统的诞生背景、核心特性及其对现代科技世界的深远影响。从1991年芬兰学生Linus Torvalds的一个小众项目,到如今成为支撑全球无数服务器、超级计算机及物联网设备的基石,Linux的发展既是一部技术创新史,也是开源文化胜利的见证。通过剖析其设计哲学、安全性、灵活性等关键优势,结合实例展示Linux在云计算、大数据处理等领域的广泛应用,本文旨在揭示Linux为何能在众多操作系统中脱颖而出,以及它如何塑造了我们今天的数字生活。 ###
|
2月前
|
存储 安全 物联网
操作系统的心脏:深入理解现代操作系统架构与核心技术
本文旨在为读者提供一个关于现代操作系统(OS)架构和核心技术的全面概述。通过分析OS的主要组件、功能以及它们如何协同工作,本文揭示了操作系统在计算机系统中的核心地位及其复杂性。我们将探讨进程管理、内存管理、文件系统和输入/输出(I/O)等关键技术,并讨论它们对系统性能的影响。此外,本文还将涵盖一些最新的操作系统趋势和技术,如云计算、虚拟化和物联网(IoT)。通过阅读本文,读者将获得对操作系统内部运作方式的深刻理解,这对于软件开发人员、IT专业人士以及对计算机科学感兴趣的任何人来说都是宝贵的知识。
|
10天前
|
安全 Anolis
龙蜥社区落地开源生态发展合作倡议,构建开放兼容的操作系统生态
通过共同努力,三个社区基于服务器操作系统场景,在操作系统内核等关键共性技术链统一方面达成了一致。
|
29天前
|
机器学习/深度学习 人工智能 Android开发
移动应用开发与操作系统的协同进化:探索现代技术融合之道###
随着移动互联网的迅猛发展,移动应用已成为人们日常生活中不可或缺的一部分。本文深入探讨了移动应用开发的最新趋势、关键技术以及移动操作系统的发展如何相互促进,共同推动移动互联网的创新与变革。通过分析当前市场动态和技术挑战,本文旨在为开发者提供有价值的见解和指导,帮助他们在竞争激烈的市场中脱颖而出。
|
1月前
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
130 5
|
1月前
|
边缘计算 人工智能 运维
Linux操作系统:开源力量的崛起与影响###
一场技术革命的回顾 回溯至1991年,当Linus Torvalds宣布Linux操作系统的诞生时,世界或许并未意识到这一举措将如何深刻地改变技术领域的面貌。本文旨在探讨Linux操作系统的发展历程、核心特性、以及它如何引领了一场开源运动,重塑了软件行业的生态。从最初的个人爱好项目成长为全球最广泛采用的服务器操作系统之一,Linux的故事是技术创新与社区精神共同推动下的辉煌篇章。 ###
|
2月前
|
安全 Android开发 iOS开发
安卓vs iOS:探索两种操作系统的独特魅力与技术深度###
【10月更文挑战第16天】 本文旨在深入浅出地探讨安卓(Android)与iOS这两种主流移动操作系统的特色、优势及背后的技术理念。通过对比分析,揭示它们各自如何塑造了移动互联网的生态,并为用户提供丰富多彩的智能体验。无论您是科技爱好者还是普通用户,都能从这篇文章中感受到技术创新带来的无限可能。 ###
59 2
|
1月前
|
人工智能 Anolis 开发者
|
2月前
|
存储 前端开发 Java
MacOS环境-手写操作系统-18-图片分层技术
MacOS环境-手写操作系统-18-图片分层技术
31 0