本发明专利技术公开了一种硬件设备控制方法及驱动模块,该方法包括步骤:硬件设备的第一驱动模块通过对应的虚拟设备接收控制操作信息,其中,所述第一驱动模块与所述硬件设备的第二驱动模块部署于同一驱动文件中;所述第一驱动模块根据接收到的控制操作信息,确定对所述硬件设备进行控制时所需的驱动资源;并在确定出的驱动资源中,查找部署于所述第二驱动模块中的驱动资源;所述第一驱动模块从所述第二驱动模块中调用查找到的驱动资源;并根据部署于所述第一驱动模块中的驱动资源以及从第二驱动模块中调用的驱动资源,对所述硬件设备进行控制。采用本发明专利技术技术方案,解决了现有技术中存在的浪费了操作系统较多的存储资源及处理资源的问题。
【技术实现步骤摘要】
本专利技术涉及设备驱动
,尤其涉及一种硬件设备控制方法及驱动模块。
技术介绍
计算机的操作系统用于管理计算机的硬件资源与软件资源,其架构如图I所示,包括应用层、内核层和驱动程序,其中驱动程序与计算机的硬件设备对应,若硬件设备为声卡,则对应的驱动程序为声卡驱动程序,若硬件设备为磁盘,则对应的驱动程序为磁盘驱动程序,若硬件设备为网卡,则对应的驱动程序为网卡驱动程序,驱动程序与对应的硬件设备之间的接口为硬件接口 ;内核层包括系统调用接口、虚拟文件系统以及虚拟设备;·虚拟设备可以分为三类字符类设备、块设备以及网络设备,例如,声卡驱动程序对应的虚拟设备为字符类设备,磁盘驱动程序对应的虚拟设备为块设备,网卡驱动程序对应的虚拟设备为网络设备,每个虚拟设备对应一个驱动程序,应用层通过虚拟设备控制对应的驱动程序,驱动程序与对应的虚拟设备之间的接口为驱动接口。现有技术中,每个硬件设备均对应一个驱动程序,如图2所示,硬件设备I对应的驱动程序为驱动程序A,硬件设备I与驱动程序A之间的接口为硬件接口 1A,驱动程序A与对应的虚拟设备a之间的接口为驱动接口 Aa,驱动程序A部署在驱动文件A中。随着用户要求的提高,可能需要对计算机中的硬件设备的功能进行扩展,但是硬件设备的原有驱动程序无法针对扩展的功能进行控制,因此需要同时对硬件设备的驱动程序进行扩展。现有技术在对硬件设备的驱动程序进行扩展时,一般将用于对扩展的功能进行控制的新增驱动程序与原有驱动程序部署在两个独立的驱动文件中,新增驱动程序独立完成对扩展的功能的控制,如图3所示,硬件设备I对应的驱动程序包括原有驱动程序A和新增驱动程序B,硬件设备I与原有驱动程序A之间的硬件接口为硬件接口 1A,硬件设备I与新增驱动程序B之间的硬件接口为硬件接口 1B,原有驱动程序A与对应的虚拟设备a之间的驱动接口为驱动接口 Aa,新增驱动程序B与对应的虚拟设备b之间的驱动接口为驱动接口 Bb,原有驱动程序A部署在驱动文件A中,新增驱动程序B部署在驱动文件B中。基于现有技术提出的驱动程序扩展方法对硬件设备进行控制时,至少存在下述两个缺陷I、新增驱动程序在对硬件设备进行控制时,需要使用驱动资源,例如子函数和全局变量,新增驱动程序需要使用的某些子函数可能已经部署在原有驱动程序中,但是新增驱动程序无法直接调用处于不同驱动文件中的原有驱动程序中的子函数,因此新增驱动程序需要重新部署这些子函数,也就是说某些子函数既要在原有驱动程序中部署,也要在新增驱动程序中部署,从而浪费了操作系统较多的存储资源;2、新增驱动程序需要使用的某些全局变量可能已经部署在原有驱动程序中,新增驱动程序在对硬件设备进行控制时,若需要使用这些全局变量,则向原有驱动程序请求获取这些全局变量的内容,原有驱动程序读取这些全局变量的内容,然后再反馈给新增驱动程序,新增驱动程序利用接收到的全局变量的内容对硬件设备进行控制,此外,新增驱动程序在对硬件设备进行控制之后,若对全局变量的内容进行了修改,则需要将修改后的内容发送给原有驱动程序,由原有驱动程序对这些全局变量进行内容更新,因此使得新增驱动程序和原有驱动程序之间需要进行较多的信息交互,浪费了较多的处理资源。
技术实现思路
本专利技术实施例提供一种硬件设备控制方法及驱动模块,用以解决现有技术中存在的浪费了操作系统较多的存储资源及处理资源的问题。本专利技术实施例技术方案如下一种硬件设备控制方法,该方法包括步骤硬件设备的第一驱动模块通过对应的虚拟设备接收控制操作信息,其中,所述第一驱动模块与所述硬件设备的第二驱动模块部署于同一驱动文件中;所述第一驱动模块根据接收到的控制操作信息,确定对所述硬件设 备进行控制时所需的驱动资源;并在确定出的驱动资源中,查找部署于所述第二驱动模块中的驱动资源;所述第一驱动模块从所述第二驱动模块中调用查找到的驱动资源;并根据部署于所述第一驱动模块中的驱动资源以及从第二驱动模块中调用的驱动资源,对所述硬件设备进行控制。一种驱动模块,所述驱动模块与对应同一硬件设备的另一驱动模块部署于同一驱动文件中,所述驱动模块包括控制操作信息接收单元,用于通过所述驱动模块对应的虚拟设备接收控制操作信息;驱动资源确定单元,用于根据控制操作信息接收单元接收到的控制操作信息,确定对所述硬件设备进行控制时所需的驱动资源;驱动资源查找单元,用于在驱动资源确定单元确定出的驱动资源中,查找部署于所述另一驱动模块中的驱动资源;驱动资源调用单元,用于从所述另一驱动模块中调用驱动资源查找单元查找到的驱动资源;硬件设备控制单元,用于根据部署于所述驱动模块中的驱动资源以及驱动资源调用单元从所述另一驱动模块中调用的驱动资源,对所述硬件设备进行控制。本专利技术实施例技术方案中,硬件设备的第一驱动模块与该硬件设备的第二驱动模块部署于同一驱动文件中,第一驱动模块首先根据接收到的控制操作信息,确定对该硬件设备进行控制时所需的驱动资源,并在确定出的驱动资源中,查找部署于第二驱动模块中的驱动资源,第一驱动模块从第二驱动模块中调用查找到的驱动资源后对该硬件设备进行控制。由上可见,本专利技术实施例技术方案中,硬件设备对应的第一驱动模块和第二驱动模块部署在同一驱动文件中,因此第一驱动模块可以直接调用第二驱动模块中的驱动资源,无需再重新部署这些驱动资源,也无需和第二驱动模块之间进行信息交互来获得这些驱动资源,从而有效地节省了操作系统较多的存储资源和处理资源。附图说明图I为现有技术中,操作系统架构示意图;图2为现有技术中,硬件设备与驱动程序的关系示意图;图3为现有技术中,驱动程序扩展方法实现示意图;图4为本专利技术实施例中,硬件设备控制方法流程示意图;图5为本专利技术实施例中,驱动程序扩展方法实现示意 图6为本专利技术实施例中,驱动模块结构示意图。具体实施例方式下面结合各个附图对本专利技术实施例技术方案的主要实现原理具体实施方式及其对应能够达到的有益效果进行详细地阐述。如图4所示,为本专利技术实施例中硬件设备控制方法流程图,其具体处理流程如下步骤41,硬件设备的第一驱动模块通过对应的虚拟设备接收控制操作信息,其中,所述第一驱动模块与所述硬件设备的第二驱动模块部署于同一驱动文件中;其中,上述第一驱动模块对应硬件设备的新增驱动程序,第二驱动模块对应硬件设备的原有驱动程序,本专利技术实施例在对硬件设备的驱动程序进行扩展时,不再将新增驱动程序和原有驱动程序部署在两个独立的驱动文件中,而是部署在同一驱动文件中;新增驱动程序和原有驱动程序共用原有的硬件接口,即新增驱动程序与原有驱动程序均通过原 有驱动程序对应的硬件接口与硬件设备相连;为了实现应用层对驱动程序的控制,每个驱动程序均与一个虚拟设备对应,因此新增驱动程序和原有驱动程序分别对应不同的虚拟设备,也就分别对应不同的驱动接口。如图5所示,硬件设备I对应的驱动程序包括原有驱动程序A和新增驱动程序B,新增驱动程序A和新增驱动程序B均部署在驱动文件A中,原有驱动程序A与硬件设备I之间的硬件接口为硬件接口 1A,新增驱动程序B与硬件设备I之间的硬件接口也为硬件接口 1A,原有驱动程序A对应的虚拟设备为虚拟设备a,新增驱动程序B对应的虚拟设备为虚拟设备b,原有驱动程序A与虚拟设备a之间的驱动接口为驱动接口 Aa,新增驱动程序B与虚拟设备b之间的驱本文档来自技高网...
【技术保护点】
一种硬件设备控制方法,其特征在于,包括:硬件设备的第一驱动模块通过对应的虚拟设备接收控制操作信息,其中,所述第一驱动模块与所述硬件设备的第二驱动模块部署于同一驱动文件中;所述第一驱动模块根据接收到的控制操作信息,确定对所述硬件设备进行控制时所需的驱动资源;并在确定出的驱动资源中,查找部署于所述第二驱动模块中的驱动资源;所述第一驱动模块从所述第二驱动模块中调用查找到的驱动资源;并根据部署于所述第一驱动模块中的驱动资源以及从第二驱动模块中调用的驱动资源,对所述硬件设备进行控制。
【技术特征摘要】
1.一种硬件设备控制方法,其特征在于,包括 硬件设备的第一驱动模块通过对应的虚拟设备接收控制操作信息,其中,所述第一驱动模块与所述硬件设备的第二驱动模块部署于同一驱动文件中; 所述第一驱动模块根据接收到的控制操作信息,确定对所述硬件设备进行控制时所需的驱动资源;并 在确定出的驱动资源中,查找部署于所述第二驱动模块中的驱动资源; 所述第一驱动模块从所述第二驱动模块中调用查找到的驱动资源;并根据部署于所述第一驱动模块中的驱动资源以及从第二驱动模块中调用的驱动资源,对所述硬件设备进行控制。2.如权利要求I所述的硬件设备控制方法,其特征在于,查找到的驱动资源包含下述至少一种资源子函数;全局变量。3.如权利要求2所述的硬件设备控制方法,其特征在于,若查找到的驱动资源为全局变量,则所述第一驱动模块从所述第二驱动模块中调用查找到的驱动资源,具体包括 所述第一驱动模块从所述第二驱动模块中读取所述全局变量的内容。4.如权利要求2所述的硬件设备控制方法,其特征在于,若查找到的驱动资源为全局变量,则还包括 所述第一驱动模块确定对所述硬件设备进行控制后,所述全局变量的内容;以及 根据确定出的内容,对部署在第二驱动模块中的所述全局变量进行内容更新。5.如权利要求I所述的硬件设备控制方法,其特征在于,所述第一驱动模块与所述第二驱动模块对应不同的虚拟设备。6.如权利要求I所述的硬件设备控制方法,其特征在于,所述第一驱动模块对应的虚拟...
【专利技术属性】
技术研发人员:张宏海,何晗春,戴寅,
申请(专利权)人:北大方正集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。