热门标签 | 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


推荐阅读
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • Mono为何能跨平台
    概念JIT编译(JITcompilation),运行时需要代码时,将Microsoft中间语言(MSIL)转换为机器码的编译。CLR(CommonLa ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 本文记录了作者对x265开源代码的实现与框架进行学习与探索的过程,包括x265的下载地址与参考资料,以及在Win7 32 bit PC、VS2010平台上的安装与配置步骤。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 【具体报错信息】ErrorparsingD:\android-sdks\system-images\android-22\android-wear\armeabi-v7a\devi ... [详细]
  • x86 linux的进程调度,x86体系结构下Linux2.6.26的进程调度和切换
    进程调度相关数据结构task_structtask_struct是进程在内核中对应的数据结构,它标识了进程的状态等各项信息。其中有一项thread_struct结构的 ... [详细]
  • macOS命令行创建Android模拟器
    macOS下不安装AndroidStudio使用VSCode来开发Flutter应用使用命令行创建和管理Android模拟器设备avdmanageravdmanager 是一种命令 ... [详细]
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社区 版权所有