The embodiment of the present invention provides a hardware abstraction layer multiplexing method, device, operating system and device. The method includes: in response to hardware operation instructions, the first process of the first operating system calls the first application program interface API in the virtual hardware abstraction layer HAL on the first operating system side, and sends the call request of the first API to the second operating system through cross-process communication, so as to enable the first process to call the first API. The second process in the second operating system calls the second API in the HAL on the second operating system side to execute the hardware operation instructions. The configuration of the first API in the virtual HAL corresponds to the configuration of the second API in the HAL on the second operating system side. By setting up the virtual HAL on the first operating system side, the API calls in the virtual HAL on the first operating system side can be transferred to the second operating system side through cross-process communication. The reuse of the HAL on the second operating system side by the first operating system can be realized conveniently and can be applied to any different operating system.
【技术实现步骤摘要】
硬件抽象层复用方法、装置、操作系统和设备
本专利技术涉及操作系统
,尤其涉及一种硬件抽象层复用方法、装置、操作系统和设备。
技术介绍
手机等终端设备厂商在开发终端设备时,往往仅针对一种操作系统开发一套硬件抽象层(HardwareAbstractionLayer,简称HAL)。如果该终端设备中还需支持另一种操作系统,则最高效的方法就是重用即复用这套HAL。而往往两个不同的操作系统所基于的基础C库是不同的,这就对复用HAL带来了适配难度。目前,最常使用的适配方案是直接采用Libhybris机制加载HAL,可以实现基于Bionic的安卓操作系统与基于Glibc的操作系统复用同一HAL,其中,Bionic为安卓操作系统的基础C库,Glibc为GNU操作系统的基础C库。为使用Libhybris机制,首先需要将HAL使用到的所有函数和数据结构在两个基础C库上做匹配,即建立两个基础C库中函数、数据结构的映射关系,而且还可能需要在两个基础C库中额外添加或者修改其中的函数。基于Libhybris机制仅能够实现上述特定两种操作系统对HAL的复用,局限性较大;而且还需要对两种基础C库做复杂的适配处理,实现难度较大。
技术实现思路
有鉴于此,本专利技术实施例提供一种硬件抽象层复用方法、装置、操作系统和设备,用以降低不同操作系统复用同一硬件抽象层的难度。第一方面,本专利技术实施例提供一种硬件抽象层复用方法,应用于第一操作系统的第一进程中,包括:响应于硬件操作指令,调用所述第一操作系统对应的虚拟硬件抽象层中的第一应用程序接口;通过跨进程通信将所述应用程序接口的调用请求发送至第二操作 ...
【技术保护点】
1.一种硬件抽象层复用方法,其特征在于,应用于第一操作系统的第一进程中,包括:响应于硬件操作指令,调用所述第一操作系统对应的虚拟硬件抽象层中的第一应用程序接口;通过跨进程通信将所述应用程序接口的调用请求发送至第二操作系统,以使所述第二操作系统中的第二进程根据所述调用请求调用所述第二操作系统对应的硬件抽象层中的第二应用程序接口执行所述硬件操作指令;其中,所述第一应用程序接口在所述虚拟硬件抽象层中的配置与所述第二应用程序接口在所述硬件抽象层中的配置具有对应关系。
【技术特征摘要】
1.一种硬件抽象层复用方法,其特征在于,应用于第一操作系统的第一进程中,包括:响应于硬件操作指令,调用所述第一操作系统对应的虚拟硬件抽象层中的第一应用程序接口;通过跨进程通信将所述应用程序接口的调用请求发送至第二操作系统,以使所述第二操作系统中的第二进程根据所述调用请求调用所述第二操作系统对应的硬件抽象层中的第二应用程序接口执行所述硬件操作指令;其中,所述第一应用程序接口在所述虚拟硬件抽象层中的配置与所述第二应用程序接口在所述硬件抽象层中的配置具有对应关系。2.根据权利要求1所述的方法,其特征在于,所述第一应用程序接口在所述虚拟硬件抽象层中的配置与所述第二应用程序接口在所述硬件抽象层中的配置相同。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述第二进程反馈的硬件操作结果。4.根据权利要求3所述的方法,其特征在于,所述硬件操作结果包括:硬件数据,所述硬件数据由执行所述硬件操作指令的硬件产生;或者所述硬件数据在共享内存中的存储地址;或者操作失败提示信息;其中,所述硬件数据和所述存储地址是所述第二进程根据所述硬件数据的数据量大小确定是否发送的;所述操作失败提示信息是所述第二进程在确定所述硬件忙碌时发送的。5.一种硬件抽象层复用装置,其特征在于,应用于第一操作系统的第一进程中,包括:调用模块,用于响应于硬件操作指令,调用所述第一操作系统对应的虚拟硬件抽象层中的第一应用程序接口;发送模块,用于通过跨进程通信将所述第一应用程序接口的调用请求发送至第二操作系统,以使所述第二操作系统中的第二进程根据所述调用请求调用所述第二操作系统对应的硬件抽象层中的第二应用程序接口执行所述硬件操作指令;其中,所述第一应用程序接口在所述虚拟硬件抽象层中的配置与所述第二应用程序接口在所述硬件抽象层中的配置具有对应关系。6.一种操作系统,其特征在于,包括:应用程序框架层和虚拟硬件抽象层;所述应用程序框架层响应于硬件操作指令启动一进程,所述进程用于实现如权利要求1至3中任一项所述的硬件抽象层复用方法;所述虚拟硬件抽象层中应用程序接口的配置与另一操作系统对应的硬件抽象层中应用程序接口的配置具有对应关系。7.一种电子设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1至3中任一项所述的硬件抽象层复用方法。8.一种硬件抽象层复用方法,其特征在于,应用于第一操作系统的第一进程中,包括:接收第二操作系统中第二进程通过跨进程通信发送的调用请求,所述调用请求是所述第二进程响应于硬件操作指令而调用所述第二操作系统对应的虚拟硬件抽象层中的第一应用程序接口触发的;根据所述调用请求调用所述第一操作系统对应的硬件抽象层中的第二应用程序接口,以执行所述硬件操作指令;其中,所述第一应用程序接口在所述虚拟硬件抽象层中的配置与所述第二应用程序接口在所述硬件抽象层中的配置具有对应关系。9.根据权利要求8所述的方法,其特征在于,所述根据所述调用请求调用所述第二操作系统对应的硬件抽象层中的第二应用程序接口,以执行所述硬件操作...
【专利技术属性】
技术研发人员:方文骁,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。