openKylin 2.0 SP2揭秘 - 磐石架构:不变的核心,更好的体验
随着个人电脑用户对系统响应速度、安全性和个性化体验的要求日益提高,传统的Linux桌面发行版面临着新的挑战:如何更好地实现应用与系统的解耦,以简化更新流程、增强系统稳定性,并提供更加流畅且一致的用户体验?基于此背景,“磐石架构”应运而生。在新的解耦范式下,openKylin团队在2023年开始对不可变系统的探索,并提出“磐石”架构,在2023年底提交第一个版本commit。2024年8月,随着openKylin 2.0正式发布,磐石架构正式亮相。
openKylin 2.0 SP2 将搭载全新 “磐石架构”重磅上线,以底层技术革新全方位筑牢系统稳定性根基,从核心层强化安全防护能力,实现用户体验质感升级。
一、什么是磐石架构
磐石架构(或称磐石系统),核心是构建一个“不可变”的基础操作系统。围绕这个核心,它设计了一系列配套技术,目标是让用户在享受系统高度稳定和安全的同时,还能保持原有的操作习惯和丰富的应用生态。在openKylin上,磐石架构主要依靠三大技术支柱:不可变系统、KARE兼容环境和开明包格式。这三者协同工作,从根本上解决传统 Linux桌面发行版的痛点,推动其向更高效、安全的方向发展。
二、磐石架构的诞生脉络
那么,磐石架构是如何诞生的呢?这就需要回顾Linux桌面发行版架构的历史演变,探讨各个阶段的关键技术和设计理念,从历史的脉络找到技术发展的必然性。
1. 第一阶段:基础奠基
技术储备:
- GNU工具链(GCC/GDB)提供开发基础。
- X Window(1984)确立图形标准,依赖Unix内核。
关键事件:
- 自由软件运动(GNU计划)推动开源协作。
- Linux内核0.01发布(1991),填补内核空白。
特点:组件分散,尚未形成完整系统。
2. 第二阶段:内核诞生与发行版整合
技术整合:
- Linux内核 + GNU工具链 → 基础运行环境。
- X Window移植 + KDE/GNOME → 桌面环境。
关键事件:
- Slackware(首款发行版)、Debian(社区协作)、Red Hat(商业发行)。
- KDE/GNOME发布,解决图形界面问题。
特点:核心组件整合,但发行版存在差异。
3. 第三阶段:成熟迭代—核心子系统技术演进
技术演进:
- 内核优化:支持虚拟化(KVM)、容器(cgroups)、多核调度(CFS)。
- 生态稳定:APT/DNF包管理标准化,GNOME/KDE桌面现代化。
关键事件:
- Ubuntu普及桌面Linux,Git加速开发协作。
- Docker推动容器化(依赖内核cgroups)。
特点:架构定型,子系统深度优化适应云计算/多硬件。
4. 第四阶段:解耦革新—应用与系统分离,不可变系统兴起
- **新范式驱动**:
- **应用分离**:Flatpak/Snap实现应用沙箱化,独立于系统版本,脱离系统依赖。
- **不可变系统**:CoreOS/Silverblue通过只读镜像更新,提升安全与可靠性。
- **关键事件**:
- 容器技术(Docker/K8s)深化隔离。
- RHEL等支持传统包管理与容器化共存。
特点:打破层级紧耦合,向"应用独立+系统不可变"演进。
Linux系统早期发展具有“先有应用后有系统、先有技术后再移植与集成”的特点,在初生期,就已经形成了现在Linux发行版架构的雏形,从底向上为Linux内核、运行时库、系统服务、开发框架、桌面环境、应用程序。其通过软件包管理体系来管理各个系统组件。后续的成熟期,系统的整体构成已经没有大的变化,更多的是各个核心子系统子模块自身技术方案的迭代和演进。磐石架构则是开源生态在标准化整合与解耦适应云时代双重驱动下的渐进产物,内核能力与包管理机制为其基石。
三、磐石架构的总体结构
openKylin磐石架构主要由三项技术构成:不可变系统、KARE兼容环境、开明软件包及其运行环境。总体逻辑结构如下图所示。下面将详细介绍openKylin“磐石架构”的核心组件及其工作原理,展示它是如何利用不可变系统来确保环境的一致性和安全性,通过KARE实现面向历史生态的兼容,并借助开明包格式达成应用与系统之间的真正解耦。
从系统分层角度来看,磐石架构整体分为三层,从下向上分别是核心系统层、系统维护层、应用及生态兼容层。
核心系统层由openKylin团队定义,为用户提供更加稳定、安全和高效的不可变系统架构,提高系统的安全性和稳定性,简化系统管理。其内容在运行状态下是固定的、不可被用户及应用程序变更,做到“千人一面”。核心系统层是桌面操作系统最小组成部分,涵盖了传统架构的Linux内核、运行时库、系统服务、开发框架、桌面环境。
系统维护层是记录运维人员、高级用户在核心系统外部对核心系统修改的逻辑层。由于核心系统不可变更,因此在调试、运维过程中需要对核心系统做修改都由该层负责接纳,不直接修改核心系统。
应用及生态兼容层直接面向用户,为用户提供业务能力。在应用及生态兼容层,openKylin团队提供两套应用安装方案:KARE兼容环境和开明运行环境。KARE用于兼容曾经在openKylin 1.0中适配过的应用,为生态提供面向历史的兼容能力;开明运行环境是openKylin团队提出的新一代软件包格式开明格式的运行环境,为生态提供面项未来的兼容能力。对于历史上已有的生态软件包,安装在KARE中,使用开明包格式打包的应用可以直接运行在openKylin未来的桌面系统中。
四、后续规划
openKylin团队对系统架构的改造遵循解耦思想,定立了三步走规划:
第一步,完成应用程序与核心系统的解耦,同时保障历史生态、未来生态的双相兼容。同时为维护人员、开发者提供过渡兼容方案,减少架构变动的冲击;
第二步,向核心系统动刀,将部分子系统从核心系统中解耦出来,精简核心系统;
第三步,形成子系统解耦的标准范式,定义好子系统的互联互通,模块化子系统,并结合AI推出操作系统模块开发的大模型。
当前,openKylin团队完成了第一阶段目标,后续会对外设子系统做第二步的解耦,相关进展与成果将逐步更新。
下一期,我们将和大家继续讨论“磐石架构”相较于现有解决方案的优势。希望通过介绍,能够让大家对Linux桌面发行版架构有一个全面的认识,并理解“磐石架构”作为一种创新解决方案的重要性与前瞻性。