一种基于飞腾平台与共享内核的Linux与Android并存和交互方法技术

技术编号:22944340 阅读:37 留言:0更新日期:2019-12-27 17:07
一种基于飞腾平台与共享内核的Linux与Android并存和交互方法,所述Linux与所述Android均运行在所述飞腾平台上;步骤包括:S1、所述Linux与所述Android的兼容性准备;S2、所述Linux与所述Android并存流程;S3、所述Linux与所述Android的交互流程;所述S1的兼容性准备包括:所述Linux和所述Android使用同一共享内核、所述Android针对所述Linux的功能扩展和所述Linux针对所述Android的功能扩展。相较于现有技术,本申请的优势在于:通过自底向上全面兼容并行Linux与Android两个系统,最终能够实现一个兼容式的新系统,它们使用同一内核,使用共同的内核接口,既能够保留各自系统的运行时,又能将自身扩展到对方系统中去;为高效兼容并行Linux和Android提供稳定可靠的方法。

【技术实现步骤摘要】
一种基于飞腾平台与共享内核的Linux与Android并存和交互方法
本专利技术属于操作系统
,具体地说,涉及一种基于飞腾平台与共享内核的Linux与Android并存和交互方法。
技术介绍
Android是目前移动终端市场中市场份额最高的Linux类操作系统,在移动终端领域具有极好的生态环境;然而Android的前身Linux操作系统目前在桌面领域受到来自Windows等操作系统的冲击,所占的市场份额并不高;同时,Linux桌面操作系统由于开发人员数目和市场份额的限制发展较为缓慢。随着信息技术的飞速发展,国家对信息安全的重视程度日益提升,Windows系统作为美国闭源操作系统,存在着巨大的安全隐患,为人诟病。与此同时,国产操作系统生态环境长期处于不良状态,一直不见起色。要解决国产操作系统的生态问题,必须解决用户数不足和平台应用软件数不足这两个关键点。Android在移动终端领域具有广泛的用户群,并且具有成熟的开发平台和应用软件群体,对于解决国产操作系统目前的窘境具有一定的参考价值。飞腾硬件平台是搭载国产兼容ARM64架构的飞腾处理器的可运行国产操作系统的硬件平台。为实现国产信息产品的完全自主可控,国产操作系统的生态环境有必要考虑与飞腾硬件平台的紧密结合。近年来,国内外有许多研究人员尝试将Android运行环境迁移到Windows或Linux类计算机平台以达到“兼容”的效果,现有的跨平台运行方法主要是虚拟化技术和容器技术。虚拟化技术虽然稳定性、普适性较强,但是在软件层对硬件进行模拟造成了巨大的资源浪费,并且有部分硬件,比如显卡,因为驱动和设计方案未公开,所以几乎没有第三方自主进行虚拟化的途径;容器技术虽然能够一定程度上弥补效率的不足,但是由于其封闭的特性使得两个运行环境间的交互较为不便,同时,容器难以具有一个操作系统的全部特性,经常作为模拟器或者与虚拟化技术共同使用。技术和硬件层面上的困难,使得Android“兼容”的进展比较缓慢。中国专利技术专利“基于Linux容器的设备虚拟化系统及方法”(申请号CN105808320A),该申请是一种容器技术,并且明确说明对设备进行了虚拟化,通过主操作系统的客户端进行对一个或多个Android系统的兼容运行。和本申请的区别:本申请并没有基于容器技术或虚拟化技术,而是直接基于本申请所提出的共享内核技术实现Linux与Android操作系统的并行;由于未经过虚拟化,Linux和Android系统的运行效率不会在软件层面受到影响,效率极高。。中国专利技术专利“Android模拟器及实现Android模拟器的方法”(申请号CN106445630A),该申请是Windows平台上对Android进行兼容运行的技术,技术要点在于Linux中间件在Windows系统上的适配。和本申请的区别:本申请是基于构建源于Linux的共享内核进而实现Linux与Android系统并存的技术,Linux内核与Windows内核完全不同,并且因为Windows属于闭源操作系统,其它开发者无法进行扩展,所以上述申请与本申请无关。中国专利技术专利“Android虚拟机加载方法及装置”(申请号CN104216726A),该申请属于Android系统虚拟机加载的改进方法,侧重点在创建虚拟机的效率和维护上。和本申请的区别:Android虚拟机加载方法及装置并没有体现Linux系统与Android系统共享内核并行的特征,本申请侧重点也并非在如何高效的建立Android(Java)虚拟机实例;该申请针对的方向是Android系统的改进,本申请针对的方向是Linux系统和Android系统的并行实现。中国专利技术专利“一种同时运行Android/Linux操作系统的方法”(申请号CN201410483020.9),该申请是在同一设备和内核上实现Linux与Android可切换运行的方法,在共享内核这一思路上是类似的。与本专利技术的区别:首先,本申请不需要在两个系统间进行切换,也不存在因为切换带来的后台运行,其次,具体来说本申请的并行也不需要共享bootloader,两个系统的文件系统是一致的。中国专利技术专利“一种利用Linux应用在Android系统中运行的方法及装置”(申请号CN201010139435.6),该申请使得Android系统能够运行Linux应用,从一定程度上解决了Linux与Android兼容的问题,同时也提到了双系统显示相关的问题,并且给出了一种方案。与本申请的区别:该申请是一种Android上的Linux应用模拟器,并不需要在Android上运行整个Linux系统;本申请实现Linux与Android应用共存的方法与模拟技术有差别,首先在于两个系统真正原生运行在共享内核上,并且共享文件系统等资源;其次,本申请关于显示冲突问题的解决与该申请有差别,并非同一种方法,本申请有许多类似问题需要依赖本申请提出的创新性理论进行解决。中国专利技术专利“一种在Android操作系统上运行Linux应用程序的方法及系统”(申请号CN201510683347.5),该专利技术公开了一种在Android操作系统上运行Linux应用程序的方法。虽然该专利技术还提供了一种在Android操作系统上运行Linux应用程序的系统,实现了在安装Andoird操作系统的智能设备上,直接运行Linux应用程序,但是该专利技术仍是基于容器技术实现Linux系统与Android系统的共存,并没有涉及到本专利技术中基于扩展内核与基础库的Linux系统与Android系统高效并存方案。
技术实现思路
有鉴于此,本专利技术为了解决现有技术存在的缺陷和不足,提供了一种基于飞腾平台与共享内核的Linux与Android并存和交互方法,能够在一台计算机上同时运行Linux和Android系统,自底向上的解决了Linux系统与Android系统的兼容问题。为了解决上述技术问题,本专利技术公开了一种基于飞腾平台与共享内核的Linux与Android并存和交互方法,并采用以下技术方案来实现。一种基于飞腾平台与共享内核的Linux与Android并存和交互方法,所述Linux与所述Android均运行在所述飞腾平台上;步骤包括:S1、所述Linux与所述Android的兼容性准备;S2、所述Linux与所述Android并存流程;S3、所述Linux与所述Android的交互流程。进一步的,所述S1的兼容性准备包括:所述Linux和所述Android使用同一共享内核、所述Android针对所述Linux的功能扩展和所述Linux针对所述Android的功能扩展。更进一步的,使所述Linux和所述Android使用同一共享内核的具体步骤包括:S111、在Linux内核中的makeconfigmenu中激活Androidbinder、ashmem模块,确保config配置文件中关于binder、ashmem的编译选项为y;S112、重新编译所述Linux内核并安装;S113、配置udev。更进一步的,所述A本文档来自技高网
...

【技术保护点】
1.一种基于飞腾平台与共享内核的Linux与Android并存和交互方法,所述Linux与所述Android均运行在所述飞腾平台上;其特征在于:步骤包括:S1、所述Linux与所述Android的兼容性准备;S2、所述Linux与所述Android并存流程;S3、所述Linux与所述Android的交互流程。/n

【技术特征摘要】
1.一种基于飞腾平台与共享内核的Linux与Android并存和交互方法,所述Linux与所述Android均运行在所述飞腾平台上;其特征在于:步骤包括:S1、所述Linux与所述Android的兼容性准备;S2、所述Linux与所述Android并存流程;S3、所述Linux与所述Android的交互流程。


2.根据权利要求1所述基于飞腾平台与共享内核的Linux与Android并存和交互方法,其特征在于:所述S1的兼容性准备包括:所述Linux和所述Android使用同一共享内核、所述Android针对所述Linux的功能扩展和所述Linux针对所述Android的功能扩展。


3.根据权利要求2所述基于飞腾平台与共享内核的Linux与Android并存和交互方法,其特征在于:使所述Linux和所述Android使用同一共享内核的具体步骤包括:S111、在Linux内核中的makeconfigmenu中激活Androidbinder、ashmem模块,确保config配置文件中关于binder、ashmem的编译选项为y;S112、重新编译所述Linux内核并安装;S113、配置udev。


4.根据权利要求2所述基于飞腾平台与共享内核的Linux与Android并存和交互方法,其特征在于:所述Android针对所述Linux的功能扩展具体为对所述Android基础c库Bionicc进行扩展,移植Glibc中用于进程间通信的代码,使所述Glibc和所述Bionicc能够通过内核原有的Linux进程间通信接口进行通信;优选的,对所述Bionicc进行扩展的具体步骤为:S121、在libc中添加SysVIPC消息队列和共享内存的代码;S122、在所述libc的系统调用列表里添加接口的声明、系统体系架构、相关头文件以及对应的代码;S123、重新编译得到新的Android基础库;所述S121和所述S122不分先后顺序。


5.根据权利要求2所述基于飞腾平台与共享内核的Linux与Android并存和交互方法,其特征在于:所述Linux针对所述Android的功能扩展具体为将所述Android进程间通信机制Binder移植到Linux上;使所述Linux上的Binder库和所述Android上的Binder库能够通过内核的binder、ashmem设备以及驱动进行通信。


6.根据权利要求6所述基于飞腾平台与共享内核的Linux与Android并存和交互方法,其特征在于:将所述Binder移植到所述Linux的过程是通过Linux编译链接工具实现的;具体为将所述Android源码项目中的...

【专利技术属性】
技术研发人员:余杰马俊刘晓东黄晟马超杨诏钧张冬松李翔兰悦文波伍凯歌毛涛易龙
申请(专利权)人:天津麒麟信息技术有限公司中国人民解放军国防科技大学
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1