热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深化“原生兼容”技术,openKylin打造统一软硬件生态底座

深化,原生,兼容,技术,openkylin,打造,统一

当前,多种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


推荐阅读
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 汇编语言:编程世界的始祖,连C语言都敬畏三分!
    当C语言还在萌芽阶段时,它首次接触到了汇编语言,并对其简洁性感到震惊。尽管汇编语言的指令极其简单,但它却是所有现代编程语言的基础,其重要性不言而喻。 ... [详细]
  • Linux内核中的内存反碎片技术解析
    本文深入探讨了Linux内核中实现的内存反碎片技术,包括其历史发展、关键概念如虚拟可移动区域以及具体的内存碎片整理策略。旨在为开发者提供全面的技术理解。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 本文介绍了在Linux环境下如何有效返回命令行状态、上一级目录及快速查找头文件和函数定义的方法。包括处理长时间运行命令、编辑器退出技巧、目录导航以及文件搜索策略。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • Java中提取字符串的最后一部分
    本文介绍了如何使用Java中的substring()和split()方法来提取字符串的最后一部分,特别是在处理包含特殊字符的路径时的方法与技巧。 ... [详细]
  • 在Android应用开发过程中,开发者经常遇到诸如CPU使用率过高、内存泄漏等问题。本文将介绍几种常用的命令及其应用场景,帮助开发者有效定位并解决问题。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 16.04 系统上配置 Qt 5.5 的交叉编译环境,特别针对 i.MX6 平台进行了优化设置。内容涵盖从基本的软件安装到高级配置的全过程。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • Flutter 核心技术与混合开发模式深入解析
    本文深入探讨了 Flutter 的核心技术,特别是其混合开发模式,包括统一管理模式和三端分离模式,以及混合栈原理。通过对比不同模式的优缺点,帮助开发者选择最适合项目的混合开发策略。 ... [详细]
  • 本文深入探讨了Linux内核中进程地址空间的设计与实现,包括虚拟地址空间的概念、内存描述符`mm_struct`的作用、内核线程与用户进程的区别、进程地址空间的分配方法、虚拟内存区域(VMA)的结构以及地址空间与页表之间的映射机制。 ... [详细]
author-avatar
90--00_203_206
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有