【技术实现步骤摘要】
一种功能调用方法和装置
[0001]本申请要求于2020年8月31日提交中国专利局、申请号为202010895994.3、专利技术名称为“一种处理方法及移动设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
[0002]本申请涉及系统内部交互方法,更具体地,本申请涉及一种功能调用方法和装置。
技术介绍
[0003]现代操作系统通常会创建两个或两个以上地址空间,这些地址空间可被用于运行不同的程序以保证系统安全性。其中,可直接访问物理地址的地址空间被称为“内核空间”,内核空间通常用于运行操作系统内核和驱动程序。除此之外的地址空间可被称为“用户空间”,用户空间可用于运行应用程序。
[0004]设备驱动程序(简称驱动程序)用于管理设备,实现各种功能,驱动程序只能运行在内核态。随着设备的功能越来越丰富,驱动程序也变得越来越复杂。实际上并不是所有产品都需要全部的设备功能,其中有些功能是需要的,有些功能是不需要的,对于不需要的功能所对应的驱动程序则可以被删除掉,该删除操作通常被称为驱动的裁剪。
[00 ...
【技术保护点】
【技术特征摘要】
1.一种功能调用方法,其特征在于,应用于包含至少一个驱动程序的系统,且每个所述驱动程序被拆分成至少一个相互独立的功能模块,每个所述功能模块都被注册到相应的模块管理器,所述方法包括:接收第一模块发送的第一请求消息,所述第一请求消息中包括第一功能服务的标识;根据所述第一功能服务的标识在模块注册表中查找目标模块,所述模块注册表中包括所述第一功能服务的标识与目标模块的对应关系,所述目标模块用于为所述第一模块提供第一功能服务;获得目标模块的调用接口;向所述第一模块发送所述目标模块的调用接口。2.根据权利要求1所述的方法,其特征在于,根据所述第一功能服务的标识在模块注册表中查找目标模块,包括:根据所述第一功能服务的标识在模块注册表中查找能够提供所述第一功能服务的功能模块,确定所述能够提供所述第一功能服务的功能模块为所述目标模块。3.根据权利要求1或2所述的方法,其特征在于,获得目标模块的调用接口,包括:确定所述目标模块所在的目标模块管理器;根据所述目标模块管理器的位置和所述第一模块管理器的位置确定调用模式;根据所述调用模式,以及调用模式和调用接口之间的对应关系确定所述目标模块的调用接口。4.根据权利要求3所述的方法,其特征在于,所述第一模块对应的模块管理器为第一模块管理器,所述第一模块管理器的位置在内核空间或者用户空间中;当所述目标模块管理器的位置与所述第一模块管理器的位置为相同的地址空间时,所述调用模式为相同地址空间调用;确定所述目标模块的调用接口,包括:在所述调用模式为相同地址空间调用时,所述目标模块的调用接口包括:直接访问目标模块地址的方法和所述目标模块的地址。5.根据权利要求4所述的方法,其特征在于,当所述目标模块管理器的位置与所述第一模块管理器的位置为不同的地址空间时,所述调用模式为用户空间调用内核空间,或者,内核空间调用用户空间;确定所述目标模块的调用接口,包括:在所述调用模式为用户空间调用内核空间时,所述目标模块的调用接口包括:使用操作系统提供的方法发起对所述内核空间接口的调用,以及调用所述内核空间接口所需的接口数据;在所述调用模式为内核空间调用用户空间时,所述目标模块的调用接口包括:使用操作系统提供的方法发起对所述用户空间接口的调用,以及调用所述用户空间接口所需的接口数据。6.根据权利要求4所述的方法,其特征在于,当所述第一模块管理器的位置在第一用户空间,所述目标模块管理器的位置在第二用户空间时,所述调用模式为跨用户之间的地址空间调用,确定所述目标模块的调用接口,包括:
在所述调用模式为跨用户之间的地址空间调用时,所述目标模块的调用接口包括:使用操作系统进程间的方法发起对所述第二用户空间接口的调用,以及调用所述第二用户空间接口所需的接口数据。7.根据权利要求1
‑
6任一项所述的方法,其特征在于,所述获得目标模块的调用接口之前,还包括:判断所述第一模块在第一模块管理器中是否已经注册;如果否,且所述第一模块管理器是内核空间的模块管理器,则注册并保存所述第一模块的相关信息,所述第一模块的相关信息包括:第一模块的标识、第一模块所包含的所有功能,以及每个所述功能所对应的功能标识。8.根据权利要求7所述的方法,其特征在于,还包括:如果所述第一模块管理器是用户空间的模块管理器,则将所述第一模块的相关信息注册到所述内核模块的模块管理器;当接收到所述内核空间的模块管理器发送的指示时,确定所述第一模块在所述内核空间的模块管理器中注册成功。9.一种模块管理器,其特征在于,所述模块管理器由系统将至少一个驱动程序拆分成至少一个相互独立的功能模块时生成,所述模块管理器中注册有至少一个功能模块的相关信息,所述模块管理器包括:接收单元,用于接收第一模块发送的第一请求消息,所述第一请求消息中包括第一功能服务的标识;处理单元,用于根据所述第一功能服务的标识在模块注册表中查找目标模块,以及获得目标模块的调用接口,所述模块注册表中包括所述第一功能服务的标识与目标模块的对应关系,所述目标模块用于为所述第一模块提供第一功能服务;发送单元,用于向所述第一模块发送所述目标模块的调用接口。10.根据权利要求9所述的模块管理器,其特征...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。