硬件抽象层复用方法、装置、操作系统和设备制造方法及图纸

技术编号:20944091 阅读:90 留言:0更新日期:2019-04-24 02:14
本发明专利技术实施例提供一种硬件抽象层复用方法、装置、操作系统和设备,该方法包括:响应于硬件操作指令,第一操作系统的第一进程调用第一操作系统侧虚拟硬件抽象层HAL中的第一应用程序接口API,通过跨进程通信将第一API的调用请求发送至第二操作系统,以使第二操作系统中第二进程调用第二操作系统侧HAL中的第二API来执行硬件操作指令,第一API在虚拟HAL中的配置对应于第二操作系统侧HAL中第二API的配置。通过在第一操作系统侧设置上述虚拟HAL,便可以通过跨进程通信将第一操作系统侧对虚拟HAL中API的调用传递到第二操作系统侧,实现第一操作系统对第二操作系统侧HAL的复用,实现方便,且可以适用于任意不同的操作系统。

Hardware abstraction layer reuse methods, devices, operating systems and devices

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库做复杂的适配处理,实现难度较大。
技术实现思路
有鉴于此,本专利技术实施例提供一种硬件抽象层复用方法、装置、操作系统和设备,用以降低不同操作系统复用同一硬件抽象层的难度。第一方面,本专利技术实施例提供一种硬件抽象层复用方法,应用于第一操作系统的第一进程中,包括:响应于硬件操作指令,调用所述第一操作系统对应的虚拟硬件抽象层中的第一应用程序接口;通过跨进程通信将所述应用程序接口的调用请求发送至第二操作系统,以使所述第二操作系统中的第二进程根据所述调用请求调用所述第二操作系统对应的硬件抽象层中的第二应用程序接口执行所述硬件操作指令;其中,所述第一应用程序接口在所述虚拟硬件抽象层中的配置与所述第二应用程序接口在所述硬件抽象层中的配置具有对应关系。第二方面,本专利技术实施例提供一种硬件抽象层复用装置,应用于第一操作系统的第一进程中,包括:调用模块,用于响应于硬件操作指令,调用所述第一操作系统对应的虚拟硬件抽象层中的第一应用程序接口;发送模块,用于通过跨进程通信将所述第一应用程序接口的调用请求发送至第二操作系统,以使所述第二操作系统中的第二进程根据所述调用请求调用所述第二操作系统对应的硬件抽象层中的第二应用程序接口执行所述硬件操作指令;其中,所述第一应用程序接口在所述虚拟硬件抽象层中的配置与所述第二应用程序接口在所述硬件抽象层中的配置具有对应关系。第三方面,本专利技术实施例提供一种操作系统,包括:应用程序框架层和虚拟硬件抽象层;所述应用程序框架层中包括一进程,该进程用于实现如第一方面所述的硬件抽象层复用方法;所述虚拟硬件抽象层中应用程序接口的配置与另一操作系统对应的硬件抽象层中应用程序接口的配置具有对应关系。所述虚拟硬件抽象层中应用程序接口的实现指示了将对虚拟硬件抽象层中应用程序接口的调用请求通过跨进程通信传输至另一操作系统。该操作系统对应于第一方面中的第一操作系统。第四方面,本专利技术实施例提供一种电子设备,该电子设备可以实现为用户终端设备,包括处理器和存储器,所述存储器用于存储支持用户终端设备执行上述第一方面中硬件抽象层复用方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。该电子设备中还可以包括通信接口,用于与其他设备或通信网络通信。另外,本专利技术实施例提供了一种计算机存储介质,用于储存该电子设备所用的计算机软件指令,其包含用于执行上述第一方面中硬件抽象层复用方法所涉及的程序。第五方面,本专利技术实施例提供一种硬件抽象层复用方法,应用于第一操作系统的第一进程中,包括:接收第二操作系统中第二进程通过跨进程通信发送的调用请求,所述调用请求是所述第二进程响应于硬件操作指令而调用所述第二操作系统对应的虚拟硬件抽象层中的第一应用程序接口触发的;根据所述调用请求调用所述第二操作系统对应的硬件抽象层中的第二应用程序接口,以执行所述硬件操作指令;其中,所述第一应用程序接口在所述虚拟硬件抽象层中的配置与所述第二应用程序接口在所述硬件抽象层中的配置具有对应关系。第六方面,本专利技术实施例提供一种硬件抽象层复用装置,应用于第一操作系统的第一进程中,包括:接收模块,用于接收第二操作系统中第二进程通过跨进程通信发送的调用请求,所述调用请求是所述第二进程响应于硬件操作指令而调用所述第二操作系统对应的虚拟硬件抽象层中的第一应用程序接口触发的;调用模块,用于根据所述调用请求调用所述第二操作系统对应的硬件抽象层中的第二应用程序接口,以执行所述硬件操作指令;其中,所述第一应用程序接口在所述虚拟硬件抽象层中的配置与所述第二应用程序接口在所述硬件抽象层中的配置具有对应关系。第七方面,本专利技术实施例提供一种操作系统,包括:应用程序框架层和跨进程通信接口,应用程序框架层中包括一进程,该进程用于实现如第五方面所述的硬件抽象层复用方法。该操作系统对应于第五方面中的第一操作系统。第八方面,本专利技术实施例提供一种电子设备,该电子设备可以实现为用户终端设备,比如智能手机等,包括处理器和存储器,所述存储器用于存储支持该电子设备执行上述第五方面中硬件抽象层复用方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。该电子设备中还可以包括通信接口,用于与其他设备或通信网络通信。另外,本专利技术实施例提供了一种计算机存储介质,用于储存该电子设备所用的计算机软件指令,其包含用于执行上述第五方面中硬件抽象层复用方法所涉及的程序。本专利技术实施例提供的硬件抽象层复用方法、装置、操作系统和设备,在某终端设备中包含有基于不同基础C库的第一操作系统和第二操作系统,初始开发的HAL是针对第二操作系统的,称为真实HAL。为使得第一操作系统能够复用该真实HAL,在第一操作系统侧设置虚拟HAL,该虚拟HAL中封装的应用程序接口(ApplicationProgramInterface,简称API)的配置与真实HAL中封装的API的配置具有对应关系,比如相同,但是该虚拟HAL中封装的API的实现与真实HAL中封装的API的实现不同,虚拟HAL中封装的API实现指示了通过跨进程通信将第一操作系统侧调用的API传输至第二操作系统侧,而真实HAL中封装的API实现是实际完成API调用所需执行的相关操作信息。基于此,当第一操作系统侧响应于用户的操作而触发针对某硬件比如摄像头的硬件操作指令时,会触发位于第一操作系统侧的第一进程调用与该硬件对应的虚拟HAL中相应的第一API比如摄像头开启接口,从而,第一进程可以基于该第一API的实现,通过跨进程通信将调用该第一API的调用请求发送至第二操作系统侧,第二操作系统的第二进程收到该调用请求后,调用真实HAL中对应的第二API,从而根据该第二API的实现完成硬件操作指令的执行。本方案,仅需在第一操作系统侧设置上述虚拟HAL即使得虚拟HAL中API配置与真实HAL的API配置具有对应关系,并将虚拟HAL中的API实现设置为通过跨进程通信将对虚拟HAL中某个API的调用传递到对应于真实HAL的第二操作系统中,即可使得第一操作系统能够复用第二操作系统侧的真实HAL,实现方便,且可以适用于任意不同的操作系统。附图说明为了更清楚本文档来自技高网...

【技术保护点】
1.一种硬件抽象层复用方法,其特征在于,应用于第一操作系统的第一进程中,包括:响应于硬件操作指令,调用所述第一操作系统对应的虚拟硬件抽象层中的第一应用程序接口;通过跨进程通信将所述应用程序接口的调用请求发送至第二操作系统,以使所述第二操作系统中的第二进程根据所述调用请求调用所述第二操作系统对应的硬件抽象层中的第二应用程序接口执行所述硬件操作指令;其中,所述第一应用程序接口在所述虚拟硬件抽象层中的配置与所述第二应用程序接口在所述硬件抽象层中的配置具有对应关系。

【技术特征摘要】
1.一种硬件抽象层复用方法,其特征在于,应用于第一操作系统的第一进程中,包括:响应于硬件操作指令,调用所述第一操作系统对应的虚拟硬件抽象层中的第一应用程序接口;通过跨进程通信将所述应用程序接口的调用请求发送至第二操作系统,以使所述第二操作系统中的第二进程根据所述调用请求调用所述第二操作系统对应的硬件抽象层中的第二应用程序接口执行所述硬件操作指令;其中,所述第一应用程序接口在所述虚拟硬件抽象层中的配置与所述第二应用程序接口在所述硬件抽象层中的配置具有对应关系。2.根据权利要求1所述的方法,其特征在于,所述第一应用程序接口在所述虚拟硬件抽象层中的配置与所述第二应用程序接口在所述硬件抽象层中的配置相同。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述第二进程反馈的硬件操作结果。4.根据权利要求3所述的方法,其特征在于,所述硬件操作结果包括:硬件数据,所述硬件数据由执行所述硬件操作指令的硬件产生;或者所述硬件数据在共享内存中的存储地址;或者操作失败提示信息;其中,所述硬件数据和所述存储地址是所述第二进程根据所述硬件数据的数据量大小确定是否发送的;所述操作失败提示信息是所述第二进程在确定所述硬件忙碌时发送的。5.一种硬件抽象层复用装置,其特征在于,应用于第一操作系统的第一进程中,包括:调用模块,用于响应于硬件操作指令,调用所述第一操作系统对应的虚拟硬件抽象层中的第一应用程序接口;发送模块,用于通过跨进程通信将所述第一应用程序接口的调用请求发送至第二操作系统,以使所述第二操作系统中的第二进程根据所述调用请求调用所述第二操作系统对应的硬件抽象层中的第二应用程序接口执行所述硬件操作指令;其中,所述第一应用程序接口在所述虚拟硬件抽象层中的配置与所述第二应用程序接口在所述硬件抽象层中的配置具有对应关系。6.一种操作系统,其特征在于,包括:应用程序框架层和虚拟硬件抽象层;所述应用程序框架层响应于硬件操作指令启动一进程,所述进程用于实现如权利要求1至3中任一项所述的硬件抽象层复用方法;所述虚拟硬件抽象层中应用程序接口的配置与另一操作系统对应的硬件抽象层中应用程序接口的配置具有对应关系。7.一种电子设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1至3中任一项所述的硬件抽象层复用方法。8.一种硬件抽象层复用方法,其特征在于,应用于第一操作系统的第一进程中,包括:接收第二操作系统中第二进程通过跨进程通信发送的调用请求,所述调用请求是所述第二进程响应于硬件操作指令而调用所述第二操作系统对应的虚拟硬件抽象层中的第一应用程序接口触发的;根据所述调用请求调用所述第一操作系统对应的硬件抽象层中的第二应用程序接口,以执行所述硬件操作指令;其中,所述第一应用程序接口在所述虚拟硬件抽象层中的配置与所述第二应用程序接口在所述硬件抽象层中的配置具有对应关系。9.根据权利要求8所述的方法,其特征在于,所述根据所述调用请求调用所述第二操作系统对应的硬件抽象层中的第二应用程序接口,以执行所述硬件操作...

【专利技术属性】
技术研发人员:方文骁
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1