《一种驱动程序加载方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种驱动程序加载方法及装置.pdf(15页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104360889 A(43)申请公布日 2015.02.18CN104360889A(21)申请号 201410743475.X(22)申请日 2014.12.08G06F 9/445(2006.01)(71)申请人中科创达软件股份有限公司地址 100191 北京市海淀区龙翔路甲1号泰翔商务楼4层401-409(72)发明人张林浩 王留欣(74)专利代理机构北京集佳知识产权代理有限公司 11227代理人王宝筠(54) 发明名称一种驱动程序加载方法及装置(57) 摘要本申请提供了一种驱动程序加载方法及装置,应用于安装有多个驱动程序的智能设备,该方法包括当接收到加载命令。
2、时,创建主线程,并触发该主线程判断该多个驱动程序是否具有预设并行加载标识,当驱动程序具有预设并行加载标识时,创建子线程,并触发该子线程加载该具有预设并行加载标识的驱动程序,若驱动程序未具有预设并行加载标识时,则触发主线程加载该未具有预设并行加载标识的驱动程序。与现有的主线程按照预设加载顺序,依次串行加载各个驱动程序的加载方式相比,本发明为具有预设并行加载标识的驱动程序创建单独的子线程,子线程用于并行加载具有预设并行加载标识的驱动程序,从而可以节省记载时间,加载效率较高。(51)Int.Cl.权利要求书2页 说明书8页 附图4页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2。
3、页 说明书8页 附图4页(10)申请公布号 CN 104360889 ACN 104360889 A1/2页21.一种驱动程序加载方法,其特征在于,包括:当接收到加载命令时,创建主线程;触发所述主线程判断各个驱动程序是否具有预设并行加载标识;当第一驱动程序具有预设并行加载标识时,创建子线程,并触发所述子线程加载所述第一驱动程序;当第二驱动程序未具有预设并行加载标识时,触发所述主线程加载所述第二驱动程序。2.根据权利要求1所述的驱动程序加载方法,其特征在于,在所述创建子线程,并触发所述子线程加载所述第一驱动程序之前,还包括:判断所述第一驱动程序是否具有相关联的第三驱动程序;所述第三驱动程序为与所。
4、述第一驱动程序具有预设加载先后顺序的驱动程序,且所述第三驱动程序的加载顺序先于所述第一驱动程序;若是,监测所述第三驱动程序是否加载完毕,当监测结果为是时,创建子线程,并触发所述子线程加载所述第一驱动程序;若否,创建子线程,并触发所述子线程加载所述第一驱动程序。3.根据权利要求1所述的驱动程序加载方法,其特征在于,在所述创建子线程之后,及触发所述子线程加载所述第一驱动程序之前,还包括:触发所述子线程判断所述第一驱动程序是否具有相关联的第三驱动程序;所述第三驱动程序为与所述第一驱动程序具有预设加载先后顺序的驱动程序,且所述第三驱动程序的加载顺序先于所述第一驱动程序;若是,触发所述子线程监测所述第三。
5、驱动程序是否加载完毕,当监测结果为是时,触发所述子线程加载所述第一驱动程序;若否,触发所述子线程加载所述第一驱动程序。4.根据权利要求1所述的驱动程序加载方法,其特征在于,驱动程序的预设并行加载标识的预设过程包括:获取多个驱动程序;判断各个所述驱动程序具有的相关联的第三驱动程序的个数是否低于预设个数值,获得每个所述驱动程序各自对应的第一判断结果;判断各个所述驱动程序的加载时间是否超过预设时间值,获得每个所述第二驱动程序各自对应的第二判断结果;当驱动程序的第一判断结果及第二判断结果均为是时,为该驱动程序设置并行加载标识。5.根据权利要求1所述的驱动程序加载方法,其特征在于,所述触发所述主线程加载。
6、所述第二驱动程序包括:触发所述主线程创建加载环境,并将所述第二驱动程序加载至所述加载环境中。6.一种驱动程序加载装置,其特征在于,包括:主线程创建单元,用于当接收到加载命令时,创建主线程;标识判断单元,用于触发所述主线程判断各个驱动程序是否具有预设并行加载标识;当第一驱动程序具有预设并行加载标识时,触发并行加载单元;当第二驱动程序未具有预权 利 要 求 书CN 104360889 A2/2页3设并行加载标识时,触发串行加载单元;并行加载单元,用于创建子线程,并触发所述子线程加载所述第一驱动程序;串行加载单元,用于触发所述主线程加载所述第二驱动程序。7.根据权利要求6所述的驱动程序加载装置,其特。
7、征在于,还包括:第一判断单元,用于在创建子线程,并触发所述子线程加载所述第一驱动程序之前,判断所述第一驱动程序是否具有相关联的第三驱动程序;所述第三驱动程序为与所述第一驱动程序具有预设加载先后顺序的驱动程序,且所述第三驱动程序的加载顺序先于所述第一驱动程序;若是,触发第一监测单元,若否,触发并行加载单元;第一监测单元,用于监测所述第三驱动程序是否加载完毕,当监测结果为是时,触发并行加载单元。8.根据权利要求6所述的驱动程序加载装置,其特征在于,还包括:第二判断单元,用于在所述并行加载单元创建子线程之后,及触发所述子线程加载所述第一驱动程序之前,触发所述子线程判断所述第一驱动程序是否具有相关联的。
8、第三驱动程序;若是,触发第二监测单元,否则,控制所述并行加载单元触发所述子线程加载所述第一驱动程序;第二监测单元,用于触发所述子线程监测所述第三驱动程序是否加载完毕,当监测结果为是时,控制所述并行加载单元触发所述子线程加载所述第一驱动程序。9.根据权利要求6所述的驱动程序加载装置,其特征在于,还包括:标识预设单元,用于预先设置驱动程序的预设并行加载标识;其中,所述标识预设单元包括:程序获取子单元,用于获取多个驱动程序;个数判断子单元,用于判断各个所述驱动程序具有的相关联的第三驱动程序的个数是否低于预设个数值,获得每个所述驱动程序各自对应的第一判断结果;时间判断子单元,用于判断各个所述驱动程序的。
9、加载时间是否超过预设时间值,获得每个所述第二驱动程序各自对应的第二判断结果;标识设置子单元,用于当驱动程序的第一判断结果及第二判断结果均为是时,为该驱动程序设置并行加载标识。10.根据权利要求6所述的驱动程序加载装置,其特征在于,所述串行加载单元包括:串行加载子单元,用于触发所述主线程创建加载环境,并将所述第二驱动程序加载至所述加载环境中。权 利 要 求 书CN 104360889 A1/8页4一种驱动程序加载方法及装置技术领域0001 本发明涉及驱动管理技术领域,尤其是一种驱动程序加载方法及装置。背景技术0002 驱动程序,是一种智能设备与硬件设备间的特殊程序,其作为硬件设备的接口,提供给智。
10、能设备的操作系统,以实现操作系统对硬件设备的控制。其中,智能设备可以是计算机、PAD、手机等,硬件设备如声卡、显卡、摄像头等。0003 智能设备在开机并加载操作系统后,需要加载各个硬件设备的驱动程序。然而,现有技术中的设备驱动加载速度较慢。发明内容0004 有鉴于此,本发明实施例提供了一种驱动程序加载方法及装置,用以解决现有技术中驱动程序加载速度较慢的技术问题。为实现所述目的,本发明提供的技术方案如下:0005 一种驱动程序加载方法,包括:0006 当接收到加载命令时,创建主线程;0007 触发所述主线程判断各个驱动程序是否具有预设并行加载标识;0008 当第一驱动程序具有预设并行加载标识时,。
11、创建子线程,并触发所述子线程加载所述第一驱动程序;0009 当第二驱动程序未具有预设并行加载标识时,触发所述主线程加载所述第二驱动程序。0010 可选地,在所述创建子线程,并触发所述子线程加载所述第一驱动程序之前,还包括:0011 判断所述第一驱动程序是否具有相关联的第三驱动程序;所述第三驱动程序为与所述第一驱动程序具有预设加载先后顺序的驱动程序,且所述第三驱动程序的加载顺序先于所述第一驱动程序;0012 若是,监测所述第三驱动程序是否加载完毕,当监测结果为是时,创建子线程,并触发所述子线程加载所述第一驱动程序;0013 若否,创建子线程,并触发所述子线程加载所述第一驱动程序。0014 可选地。
12、,在所述创建子线程之后,及触发所述子线程加载所述第一驱动程序之前,还包括:0015 触发所述子线程判断所述第一驱动程序是否具有相关联的第三驱动程序;所述第三驱动程序为与所述第一驱动程序具有预设加载先后顺序的驱动程序,且所述第三驱动程序的加载顺序先于所述第一驱动程序;0016 若是,触发所述子线程监测所述第三驱动程序是否加载完毕,当监测结果为是时,触发所述子线程加载所述第一驱动程序;0017 若否,触发所述子线程加载所述第一驱动程序。说 明 书CN 104360889 A2/8页50018 可选地,驱动程序的预设并行加载标识的预设过程包括:0019 获取多个驱动程序;0020 判断各个所述驱动程。
13、序具有的相关联的第三驱动程序的个数是否低于预设个数值,获得每个所述驱动程序各自对应的第一判断结果;0021 判断各个所述驱动程序的加载时间是否超过预设时间值,获得每个所述第二驱动程序各自对应的第二判断结果;0022 当驱动程序的第一判断结果及第二判断结果均为是时,为该驱动程序设置并行加载标识。0023 可选地,所述触发所述主线程加载所述第二驱动程序包括:0024 触发所述主线程创建加载环境,并将所述第二驱动程序加载至所述加载环境中。0025 本申请还提供了一种驱动程序加载装置,包括:0026 主线程创建单元,用于当接收到加载命令时,创建主线程;0027 标识判断单元,用于触发所述主线程判断各个。
14、驱动程序是否具有预设并行加载标识;当第一驱动程序具有预设并行加载标识时,触发并行加载单元;当第二驱动程序未具有预设并行加载标识时,触发串行加载单元;0028 并行加载单元,用于创建子线程,并触发所述子线程加载所述第一驱动程序;0029 串行加载单元,用于触发所述主线程加载所述第二驱动程序。0030 可选地,还包括:0031 第一判断单元,用于在创建子线程,并触发所述子线程加载所述第一驱动程序之前,判断所述第一驱动程序是否具有相关联的第三驱动程序;所述第三驱动程序为与所述第一驱动程序具有预设加载先后顺序的驱动程序,且所述第三驱动程序的加载顺序先于所述第一驱动程序;若是,触发第一监测单元,若否,触。
15、发并行加载单元;0032 第一监测单元,用于监测所述第三驱动程序是否加载完毕,当监测结果为是时,触发并行加载单元。0033 可选地,还包括:0034 第二判断单元,用于在所述并行加载单元创建子线程之后,及触发所述子线程加载所述第一驱动程序之前,触发所述子线程判断所述第一驱动程序是否具有相关联的第三驱动程序;若是,触发第二监测单元,否则,控制所述并行加载单元触发所述子线程加载所述第一驱动程序;0035 第二监测单元,用于触发所述子线程监测所述第三驱动程序是否加载完毕,当监测结果为是时,控制所述并行加载单元触发所述子线程加载所述第一驱动程序。0036 可选地,还包括:标识预设单元,用于预先设置驱动。
16、程序的预设并行加载标识;其中,所述标识预设单元包括:0037 程序获取子单元,用于获取多个驱动程序;0038 个数判断子单元,用于判断各个所述驱动程序具有的相关联的第三驱动程序的个数是否低于预设个数值,获得每个所述驱动程序各自对应的第一判断结果;0039 时间判断子单元,用于判断各个所述驱动程序的加载时间是否超过预设时间值,获得每个所述第二驱动程序各自对应的第二判断结果;0040 标识设置子单元,用于当驱动程序的第一判断结果及第二判断结果均为是时,为说 明 书CN 104360889 A3/8页6该驱动程序设置并行加载标识。0041 可选地,所述串行加载单元包括:0042 串行加载子单元,用于。
17、触发所述主线程创建加载环境,并将所述第二驱动程序加载至所述加载环境中。0043 本发明提供了驱动程序加载方法及装置,应用于安装有多个驱动程序的智能设备,该方法包括当接收到加载命令时,创建主线程,并触发该主线程判断该多个驱动程序是否具有预设并行加载标识,当驱动程序具有预设并行加载标识时,创建子线程,并触发该子线程加载该具有预设并行加载标识的驱动程序,若驱动程序未具有预设并行加载标识时,则触发主线程加载该未具有预设并行加载标识的驱动程序。与现有的主线程按照预设加载顺序,依次串行加载各个驱动程序的加载方式相比,本发明为具有预设并行加载标识的驱动程序创建单独的子线程,子线程用于并行加载具有预设并行加载。
18、标识的驱动程序,从而可以节省记载时间,加载效率较高。附图说明0044 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。0045 图1为本发明实施例提供的驱动程序加载方法的流程图;0046 图2为本发明实施例提供的驱动程序加载示意图;0047 图3为本发明另一实施例提供的驱动程序加载方法的流程图;0048 图4为本发明又一实施例提供的驱动程序加载方法的流程图;0049 图5为本发明实施例提供的。
19、驱动程序加载装置的结构框图;0050 图6为本发明另一实施例提供的驱动程序加载装置的结构框图;0051 图7为本发明又一实施例提供的驱动程序加载装置的结构框图。具体实施方式0052 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0053 参照图1,其示出了本发明实施例提供的驱动程序加载方法的流程,具体包括以下步骤:0054 步骤S101:当接收到加载命令时,创建主线程。0055 其中。
20、,当智能设备需要启动时,内部生成加载命令,该加载命令发送至本实施例的执行模块中,执行模块接收到该加载命令后,可知需要加载智能设备中的各个驱动程序,则首先创建主线程。0056 步骤S102:触发所述主线程判断各个驱动程序是否具有预设并行加载标识。当第一驱动程序具有预设并行加载标识时,执行步骤S103,当第二驱动程序未具有预设并行加说 明 书CN 104360889 A4/8页7载标识时,执行步骤S104。0057 智能设备中安装有多个驱动程序,在本实施例执行前,预先为多个驱动程序中的一些驱动程序设置并行加载标识,进而本步骤执行时,主线程可判断各个驱动程序是否具有并行加载标识。需要说明的是,可以根。
21、据不同的实际需求,为不同的驱动程序设置并行加载标识,其中,具体的一种设置方式可参照下文描述。0058 本步骤中,主线程需要判断每个驱动程序是否具有并行加载标识,需要说明的是,本步骤可以与步骤S103及步骤S104交叉进行。因为,本步骤的判断过程可以是依次判断,即首先判断第一个驱动程序是否具有预设并行加载标识,若具有,则执行步骤S103,然后,主线程继续执行对下一个驱动程序的判断,若未具有,则执行步骤S104,然后,继续执行对下一个驱动程序的判断。以此类推,直至最后一个驱动程序。0059 步骤S103:创建子线程,并触发所述子线程加载所述第一驱动程序。0060 其中,第一驱动程序指的是具有预设并。
22、行加载标识的驱动程序。若步骤S102对某个驱动程序的判断结果为是,则创建子线程,并触发子线程加载该驱动程序。需要说明的是,当子线程加载第一驱动程序的同时,主线程在判断驱动程序是否具有预设并行加载标识,或者主线程在加载并未具有并行加载标识的驱动程序。0061 需要说明,当主线程判断出一个第一驱动程序后,则为该驱动程序创建一个子线程,用于加载第一驱动程序,也就是说,每个第一驱动程序均对应一个子线程,各个子线程分别加载各自对应的第一驱动程序。可以看出,具有并行加载标识的多个驱动程序为并行加载,并不需要按照现有中的预设加载顺序进行串行加载,从而可以降低总体的加载时间。0062 步骤S104:触发所述主。
23、线程加载所述第二驱动程序。0063 其中,第二驱动程序指的是并不具有预设并行加载标识的驱动程序。在现有加载方式中,各个驱动程序为串行加载,即主线程按照预设顺序,依次记载每个驱动程序。若步骤S102对某个驱动程序的判断结果为否,则仍然由主线程加载该驱动程序,加载完毕后,继续返回步骤S102,即继续由主线程判断下一驱动程序是否具有预设并行加载标识。0064 由以上的技术方案可知,本实施例提供的驱动程序加载方法,应用于安装有多个驱动程序的智能设备,该方法包括当接收到加载命令时,创建主线程,并触发该主线程判断该多个驱动程序是否具有预设并行加载标识,当驱动程序具有预设并行加载标识时,创建子线程,并触发该。
24、子线程加载该具有预设并行加载标识的驱动程序,若驱动程序未具有预设并行加载标识时,则触发主线程加载该未具有预设并行加载标识的驱动程序。0065 如图2所示,本实施例为具有预设并行加载标识的驱动程序创建单独的子线程,子线程用于并行加载具有预设并行加载标识的驱动程序,从而使得具有预设并行加载标识的驱动程序可以与主线程的判断或加载过程同时进行。与现有的主线程按照预设加载顺序,依次串行加载各个驱动程序的加载方式相比,本实施例提供的驱动程序加载方法可以节省记载时间,加载效率较高。0066 在现实情况中,智能设备中安装的多个驱动程序往往存在相互关联的情况,即某些个驱动程序间具有先后加载顺序。面对这种应用场景。
25、,本发明另一实施例提供了驱动程序的加载方法,在对具有预设并行加载标识的驱动程序进行并行加载时,判断其对应的关联程序是否已加载完毕。具体地,如图3所示,在上述实施例的步骤S103之前,还包括:步骤S105及步骤S106。说 明 书CN 104360889 A5/8页80067 步骤S105:判断所述第一驱动程序是否具有相关联的第三驱动程序;所述第三驱动程序为与所述第一驱动程序具有预设加载先后顺序的驱动程序,且所述第三驱动程序的加载顺序先于所述第一驱动程序;若是,执行步骤S106;若否,执行步骤S103创建子线程,并触发所述子线程加载所述第一驱动程序。0068 本实施例中,智能设备安装的多个驱动程。
26、序中,某些驱动程序之间具有预设加载先后顺序,该预设加载先后顺序是由各个驱动程序自身的性质决定的,例如,摄像头驱动程序在被加载前,需要加载与存储功能相关的驱动程序。该预设加载先后顺序可以记录在相关联的驱动程序的设备文件中,例如,驱动程序1与驱动程序4之间具有预设加载先后顺序,且驱动程序4的加载顺序先于驱动程序1,则在驱动程序1的设备文件中记录驱动程序4的标识,用以表明在加载驱动程序1前,需要加载驱动程序4。0069 另外,在该示例中,若驱动程序1为第一驱动程序,即具有预设并行加载标识的驱动程序,按照上述对第三驱动程序的说明,可知驱动程序4为第三驱动程序。0070 若本步骤判断得出某个或某些第一驱。
27、动程序具有相关联的第三驱动程序,则执行步骤S106。否则,直接创建子线程,利用该子线程加载该第一驱动程序。0071 步骤S106:监测所述第三驱动程序是否加载完毕,当监测结果为是时,执行步骤S103创建子线程,并触发所述子线程加载所述第一驱动程序。0072 实时监测第三驱动程序是否已经加载完毕,该驱动程序可能是由主线程加载的驱动程序,或者可能是由子线程加载的驱动程序,不论是何种的加载方式,均需要等待该关联的第三驱动程序加载完毕,然后再加载步骤S105中的该第一驱动程序。0073 若某些驱动程序具有预设先后加载顺序,但这些驱动程序被设置上预设并行加载标识,按照上一实施例的加载方法,则可能导致加载。
28、失败。为此,本实施例中,在创建子线程加载某个具有预设并行加载的驱动程序之前,首先判断该驱动程序是否具有相关联的驱动程序,若没有,则直接创建子线程并进行加载,若有,则需要等待该相关联的驱动程序加载完毕,再创建子线程进行加载,从而解决了上述加载失败的问题。0074 需要说明的是,本实施例中的其他步骤参照上一实施例,此处并不做赘述。0075 另外,监测第三驱动程序是否加载完毕并一定是由本发明实施例的执行模块完成的,还可以是由子线程独立完成的。如图4所示,具体的实现方式中包括:0076 步骤S201:当接收到加载命令时,创建主线程。0077 步骤S202:触发主线程判断各个驱动程序是否具有预设并行加载。
29、标识。当第一驱动程序具有预设并行加载标识时,执行步骤S203;当第二驱动程序未具有预设并行加载标识时,执行步骤S207。0078 步骤S203:创建子线程。0079 步骤S204:触发所述子线程判断所述第一驱动程序是否具有相关联的第三驱动程序;所述第三驱动程序为与所述第一驱动程序具有预设加载先后顺序的驱动程序,且所述第三驱动程序的加载顺序先于所述第一驱动程序;若是,执行步骤S205;否则,执行步骤S206。0080 步骤S205:触发所述子线程监测所述第三驱动程序是否加载完毕;当监测结果为是时,执行步骤S206。0081 步骤S206:触发所述子线程加载所述第一驱动程序。说 明 书CN 104。
30、360889 A6/8页90082 步骤S207:触发主线程加载第二驱动程序。0083 需要说明,本实施例中的步骤S201、步骤S202、步骤S203、步骤S206及步骤S207的说明可参照上述各个实施例,此处并不做赘述。0084 本实施例中,将监测相关联的驱动程序是否加载完毕的过程交由子线程完成,因此,在创建子线程之后,可以立即触发主线程判断下一驱动程序是否具有预设并行加载标识,使得监测过程与主线程的判断过程并行执行,进一步节省加载时间。0085 上述各个实施例在执行前,需要预先为多个驱动程序中的某些驱动程序设置并行加载标识,其中,该预先设置并行加载标识的过程包括以下步骤:0086 步骤S3。
31、01:获取多个驱动程序。0087 其中,获取智能设备中安装的多个驱动程序,具体获取到的是各个驱动程序的设备文件,该各个设备文件中,可以记录有驱动程序是否具有相关联的驱动程序。0088 步骤S302:判断各个所述驱动程序具有的相关联的第三驱动程序的个数是否低于预设个数值,获得每个所述驱动程序各自对应的第一判断结果。0089 本步骤中,分别获取每个驱动程序各自具有的相关联的驱动程序(即第三驱动程序)的个数,并分别判断每个驱动程序的第三驱动程序的个数是否超过预设个数值。其中,获取个数的方式与设备文件的记录方式相关,若设备文件中记录有该驱动程序对应的第三驱动程序的总个数,则直接获取该总个数,若设备文件。
32、中只是记录该驱动程序对应的各个第三驱动程序的标识,则需要统计总个数。0090 例如,驱动程序1的设备文件中,记录的相关联的驱动程序分别为驱动程序3、驱动程序6及驱动程序8,则统计出该驱动程序1的第三驱动程序的个数为3。0091 需要说明的是,若某个驱动程序没有相关联的驱动程序时,则该驱动程序对应的第三驱动程序个数为零。另外,预设个数值可以是根据实际需要设置的数值,本发明并不做限定。0092 步骤S303:判断各个所述驱动程序的加载时间是否超过预设时间值,获得每个所述第二驱动程序各自对应的第二判断结果。0093 每个驱动程序具有各自的加载时间,即该驱动程序加载到系统中所用的时间。0094 步骤S。
33、304:当驱动程序的第一判断结果及第二判断结果均为是时,为该驱动程序设置并行加载标识。0095 其中,多个驱动程序中,若某个驱动程序对应的两个判断结果均为是,则表明该驱动程序相关联的驱动程序较少,并且该驱动程序的加载时间较长,则为该驱动程序设置并行加载标识。经过上述设置过程,则多个驱动程序中的某些驱动程序具有并行加载标识,从而可以利用上述各个实施例提供的方法将并行加载该多个驱动程序。0096 需要说明的是,若某个驱动程序的第一判断结果或第二判断结果为否,或者两者均为否时,则并不为该驱动程序设置并行加载标识。0097 需要说明的是,上述各个实施例中的触发动作的实现方式可以是向被触发者发送一个指令。
34、,当被触发者接收到该指令后,进而执行相应动作。0098 在上述各个实施例中,触发主线程加载所述第二驱动程序的方式可以是:首先触发主线程创建加载环境,进而将第二驱动程序加载至该加载环境中,完成对第二驱动程序的加载。另外,触发子线程加载第一驱动程序的方式可以参照主线程。说 明 书CN 104360889 A7/8页100099 下面对本发明实施例提供的驱动程序加载装置进行介绍,需要说明的是,下文中有关驱动程序加载装置的说明可参照上文的驱动程序加载方法,此处并不做赘述。0100 参照图5,其示出了本发明实施例提供的驱动程序加载装置的结构,具体包括:主线程创建单元100、标识判断单元200、并行加载单。
35、元300及串行加载单元400;其中:0101 主线程创建单元100,用于当接收到加载命令时,创建主线程;0102 标识判断单元200,用于触发所述主线程判断各个驱动程序是否具有预设并行加载标识;当第一驱动程序具有预设并行加载标识时,触发并行加载单元300;当第二驱动程序未具有预设并行加载标识时,触发串行加载单元400;0103 并行加载单元300,用于创建子线程,并触发所述子线程加载所述第一驱动程序;0104 串行加载单元400,用于触发所述主线程加载所述第二驱动程序。0105 由以上的技术方案可知,本实施例提供的驱动程序加载装置,应用于安装有多个驱动程序的智能设备,当接收到加载命令时,主线程。
36、创建单元100创建主线程,标识判断单元200触发该主线程判断该多个驱动程序是否具有预设并行加载标识,当驱动程序具有预设并行加载标识时,并行加载单元300创建子线程,并触发该子线程加载该具有预设并行加载标识的驱动程序,若驱动程序未具有预设并行加载标识时,串行加载单元400触发主线程加载该未具有预设并行加载标识的驱动程序。0106 本实施例为具有预设并行加载标识的驱动程序创建单独的子线程,子线程用于并行加载具有预设并行加载标识的驱动程序。与现有的主线程串行加载各个驱动程序的加载方式相比,本实施例提供的驱动程序加载装置可以节省记载时间,加载效率较高。0107 可选地,如图6所示,上述驱动程序加载装置。
37、,还包括:第一判断单元500及第一监测单元600;其中:0108 第一判断单元500,用于在创建子线程,并触发所述子线程加载所述第一驱动程序之前,判断所述第一驱动程序是否具有相关联的第三驱动程序;所述第三驱动程序为与所述第一驱动程序具有预设加载先后顺序的驱动程序,且所述第三驱动程序的加载顺序先于所述第一驱动程序;若是,触发第一监测单元,若否,触发并行加载单元;0109 第一监测单元600,用于监测所述第三驱动程序是否加载完毕,当监测结果为是时,触发并行加载单元。0110 可选地,上述的驱动程序加载装置,还包括:0111 第二判断单元,用于在所述并行加载单元创建子线程之后,及触发所述子线程加载所。
38、述第一驱动程序之前,触发所述子线程判断所述第一驱动程序是否具有相关联的第三驱动程序;若是,触发第二监测单元,否则,控制所述并行加载单元触发所述子线程加载所述第一驱动程序。0112 第二监测单元,用于触发所述子线程监测所述第三驱动程序是否加载完毕,当监测结果为是时,控制所述并行加载单元触发所述子线程加载所述第一驱动程序。0113 需要说明的是,第二判断单元分别与第二监测单元及并行加载单元相连,当并行加载单元创建子进程后,触发第二判断单元执行,当第二判断单元的判断结果为是时,触发第二监测单元,当第二判断单元的判断结果为否时,控制并行加载单元触发子线程加载第一驱动程序。另外,第二监测单元也同样需要与并行加载单元相连,当第二监测单元的判断结果为是时,则控制并行加载单元触发子线程加载第一驱动程序。说 明 书CN 104360889 A10。