当前,多种CPU平台蓬勃发展,指令集架构各不相同,如X86、ARM和RISC-V等。同时,操作系统技术架构的多样化也形成了众多的软硬组合生态体系,如AA(Android+ARM)、Wintel(Windows+Intel)等。然而,各体系之间的发展相互独立,这给操作系统的软硬件生态统一带来了一定挑战。因此,openKylin社区持续深化“原生兼容”技术,从CPU和软件支持两个维度出发,为软硬件生态发展打造底座支撑。
什么是“原生兼容”技术?
openKylin“原生兼容”技术是指从硬件平台和软件生态两个维度出发,面向不同指令集架构实现多平台同源操作系统版本,并通过原生软件支持和软件兼容技术,构建出统一、融合的软硬件生态体系。
软件兼容技术
软件兼容技术是实现软件生态融合的关键,能够从操作系统ABI(Application Binary Interface)层实现软件的跨平台运行,主要包括以下技术:
1.二进制翻译
将源平台软件的运行指令进行解析和转化,生成目标平台上的模拟指令或机器指令,实现在目标平台上的兼容运行。
2.动态库本地封装
将源平台软件所需的动态链接库映射和封装到目标平台,使软件在兼容运行时直接从目标平台调用,避免动态库的重复翻译执行,提高兼容运行效率。
3.兼容运行环境
为兼容软件运行提供完整的配置文件、依赖环境和相关资源等,使软件保持与源平台的一致性、完整性和正确性,避免产生运行时错误甚至崩溃。
“原生兼容”技术特性
从构建统一、融合的软硬件生态目标出发,openKylin“原生兼容”技术主要具有以下特性:
1. 多硬件平台支持
对硬件平台的广泛支持,是软硬件生态底座的基础。openKylin构建了针对不同指令集架构的同源操作系统开发平台,从内核、软件包,再到桌面集成环境,实现多硬件平台的“根”操作系统版本。
2. 原生软件支持
原生软件是构成生态体系的重要组成部分,openKylin积极构建底层编译工具链和多编程语言库,实现对原生软件生态的支持。目前,openKylin在各硬件平台版本中具备了办公、娱乐、互联网和集成开发等应用场景原生软件,能够支撑大部分使用需求。
3. 兼容软件支持
基于软件兼容技术,实现软件的跨平台兼容运行,能够使软件生态之间进行有效互补。目前,openKylin具有了KMRE和KWRE两种兼容运行环境,能够实现Wintel和AA等生态体系在openKylin中的兼容运行。
openKylin社区已积极开展“原生兼容”技术的相关工作,使用户有更多的软硬件生态可供选择。目前,openKylin“原生兼容”技术在已支持和研发中的体系领域如下表所示。接下来,openKylin将持续深化“原生兼容”技术,构建统一、融合的软硬件生态底座。
openKylin(开放麒麟)社区旨在以“共创”为核心,在开源、自愿、平等、协作的基础上,通过开源、开放的方式与企业构建合作伙伴生态体系,共同打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态繁荣发展。
社区首批理事成员单位包括麒麟软件、普华基础软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德系统、北京麟卓、先进操作系统创新中心等13家产业同仁和行业机构。
审核:openKylin