智能操作系统平台中实现设备与驱动动态匹配的系统及方法

文档序号:9217067阅读:651来源:国知局
智能操作系统平台中实现设备与驱动动态匹配的系统及方法
【技术领域】
[0001] 本发明涉及智能设备领域,尤其涉及智能操作系统平台,具体是指一种智能操作 系统平台中实现设备与驱动动态匹配的系统及方法。
【背景技术】
[0002] 目前,智能操作系统平台支持采用先固定硬件平台,然后根据硬件平台静态制定 出系统软件镜像的方式,当这个智能操作系统平台固定以后,只能够加入内核层支持的标 准硬件设备,如果要加入内核不支持或者需要用户层驱动(硬件抽象层库(虚拟驱动模块 即应用该驱动))支持的硬件设备则需要根据硬件平台的变化重新制作出系统软件镜像。
[0003] 当前越来越多的智能设备在硬件接口方面提供了动态添加硬件的接口(如USB主 设备接口或者USB0TG接口(0TG全称是on-the-go,该接口可以根据对接硬件的不同而自 动选择自己的主从状态,当对端是主设备时,则选择自己是从设备,反之,则选择自己是主 设备)),但是目前的智能操作系统平台软件还无法从框架上支持硬件驱动的动态安装。
[0004] 同时,智能操作系统还不支持通过开发网络设备驱动的方法支持从网络添加硬件 设备,如果需要智能操作系统平台支持某种网络设备,必须需要静态修改系统软件,然后将 修改后的系统软件重新烧写到硬件平台上面加以支持。
[0005] 综上所述,智能操作系统平台上面的硬件多种多样,但是还没有一种通用的方法 实现在智能操作系统平台上进行驱动的动态安装和设备的动态添加,也不存在将这些不同 智能操作系统平台的硬件相互共享的方法。

【发明内容】

[0006] 本发明的目的是克服了上述现有技术的缺点,提供了一种支持设备和驱动动态匹 配、增强智能操作系统平台软硬件的可扩展性的智能操作系统平台中实现设备与驱动动态 匹配的系统及方法。
[0007] 为了实现上述目的,本发明的智能操作系统平台中实现设备与驱动动态匹配的系 统具有如下构成:
[0008]本发明的智能操作系统平台中实现设备与驱动动态匹配的系统,其主要特点是, 一种智能操作系统平台中实现设备与驱动动态匹配的系统,所述的系统包括:驱动包安装 模块,用以判断智能操作系统平台中是否存在驱动的安装和卸载,以及将驱动包安装至智 能操作系统平台驱动目录下;设备添加模块,用以探测智能操作系统平台是否存在设备的 添加和移除事件;驱动管理模块,用以管理所有安装于智能操作系统平台的驱动,以及当驱 动安装时,根据该安装的驱动与设备管理模块中所有设备的匹配结果,对该安装的驱动进 行标记,以及当驱动卸载时,将卸载的驱动所对应的驱动信息删除;设备管理模块,用以管 理所有添加在智能操作系统平台的设备,以及当设备添加或移除时,根据添加或移除的设 备与所述的驱动管理模块中所有驱动的匹配结果,对匹配成功的驱动进行标记;设备选择 模块,用以根据所述的智能操作系统平台要实现的功能,从添加至所述的智能操作系统平 台的设备中选择与该要实现的功能最匹配的设备,以及使该设备和与该设备相匹配的驱动 进入准备工作状态。
[0009] 本发明还涉及一种智能操作系统平台中实现设备与驱动动态匹配的方法,所述的 方法包括以下步骤:(1)所述的驱动包安装模块判断所述的智能操作系统平台是否存在驱 动的安装或者卸载,如果存在则继续步骤(3),否则继续步骤(2);(2)所述的设备添加模块 判断所述的智能操作系统平台是否存在设备的添加或者移除,如果存在则继续步骤(3),否 则退出并结束;(3)所述的驱动管理模块根据该安装或者卸载的驱动,匹配所述的智能操 作系统平台中已添加的设备,或者所述的设备管理模块根据该添加或者移除的设备,匹配 所述的智能操作系统平台中已安装的驱动;(4)所述的设备选择模块根据所述的智能操作 系统平台要实现的功能,从添加至所述的智能操作系统平台的设备中选择与该要实现的功 能最匹配的设备,以及使该设备和与该设备相匹配的驱动进入准备工作状态。
[0010] 采用了本发明智能操作系统平台中实现设备与驱动动态匹配的系统及方法,与现 有技术相比,具有以下有益效果:
[0011] 本发明从智能操作系统平台框架层面提供支持内核层驱动和用户层驱动的动态 安装机制,支持设备和驱动的动态匹配,从而使整个智能操作系统平台的软硬件扩展更加 方便;本发明遍历智能操作系统平台中已安装的驱动以及智能操作系统平台中已添加的设 备,选择最优设备和驱动进行工作,充分利用已安装的驱动或者已添加的设备,使智能操作 系统平台支持硬件动态添加和驱动动态安装,提高工作效率,增强智能系统设备软硬件的 可扩展性,结构简单,操作方便;本发明中使用驱动包安装校验和签名机制,提高了智能操 作系统平台的安全性,具有更广泛的应用范围。
【附图说明】
[0012] 图1为本发明的智能操作系统平台中实现设备与驱动动态匹配的系统结构示意 图。
[0013]图2为本发明的智能操作系统平台中实现网络设备与驱动动态匹配的系统结构 示意图。
[0014] 图3为本发明的智能操作系统平台实现设备与驱动动态匹配的方法流程图。
[0015] 图4为本发明的驱动包安装的流程图。
[0016]图5为本发明智能操作系统平台存在驱动的安装时的流程图。
[0017]图6为本发明智能操作系统平台存在设备的添加时的流程图。
[0018]图7为本发明智能操作系统平台存在设备的移除时的流程图。
[0019]图8为本发明智能操作系统平台存在驱动的卸载时的流程图。
[0020] 图9为本发明的驱动使用的流程图。
[0021] 图10是本发明一实施例的设备驱动装置的示意图。
[0022] 图11是本发明一实施例的内核层驱动程序和抽象层驱动程序的示意图。
[0023] 图12是本发明一实施例的匹配单元的示意图。
[0024] 图13是图10所示设备驱动装置一实施例中硬件服务单元的示意图。
[0025] 图14是本发明一实施例的设备驱动方法的流程图。
[0026] 图15是本发明另一实施例的设备驱动方法的流程图。
【具体实施方式】
[0027] 为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的 描述。
[0028] 请参阅图1所示,本发明提供了一种智能操作系统平台中实现设备与驱动动态匹 配的系统,所述的系统包括:
[0029] 驱动包安装模块,用以判断智能操作系统平台中是否存在驱动的安装和卸载,以 及将驱动包安装至智能操作系统平台驱动目录下。
[0030]例如,在Linux系统中操作时,检测Linux下的inotify(监控文件)机制监控系 统驱动目录下文件系统的变化,可以知道有驱动安装和卸载事件的发生。
[0031] 设备添加模块,用以探测智能操作系统平台是否存在设备的添加和移除事件。
[0032] 一般情况下,在Linux系统中,设备文件系统将系统中设备、驱动以及总线的状态 和相关信息反应给用户态,用户态程序监控设备文件系统中文件的变化并根据监控设备文 件系统中文件的变化判断设备的添加和移除,然后读取设备文件的内容获取设备相关信 息。
[0033] 例如,当我们需要监控USB设备的变化时,只需要通过Linux下inotify(监控文 件)机制监控/sys/busAisb/devices/目录下内容的变化,如果该目录下有设备文件生成, 则表示有USB设备添加,读取该设备文件里的内容可以得到USB设备的厂商号、类型等信 息,如果该目录下的文件被删除,则表示有设备移除。
[0034] 其中,当外接USB设备在电视机上产生拔插动作时,电视机主板的USB接口硬件电 路会发生变化,引起内核热拔插机制的响应,此时将会产生一个内核空间事件,所述的设备 添加模块负责监测此内核事件。
[0035] -般情况下,设备管理模块中关于网络设备的设置为:设备管理模块加入一个固 定组播网络,通过对这个组播网络报文收发来处理网络设备的各种请求(接入请求,移除 请求,握手请求等),当网络设备请求添加至系统时,需要加入该组播网络,然后通过发送添 加的设备相关的组播报文(报文中包含了网络设备的设备信息),添加至系统,网络设备的 移除请求也一样。
[0036] 驱动管理模块,用以管理所有安装于智能操作系统平台的驱动,以及当驱动安装 时,根据该安装的驱动与设备管理模块中所有设备的匹配结果,对该安装的驱动进行标记 以及当驱动卸载时,将卸载的驱动所对应的驱动信息删除。
[0037] 该驱动管理模块是一个用以管理所述的智能操作系统平台中安装的所有驱动的, 其中只要是安装到所述的智能操作系统平台的驱动都会在该驱动管理模块中记录下来,可 以在该驱动管理模块设置一个列表,该列表中列举出所述的智能操作系统平台安装的所有 的驱动,当驱动卸载后,则从该列表中将驱动信息删除,如果是新的驱动,则在该列表中添 加,该列表的排列方式可以是按照驱动名称的首字母,也可以是按照驱动的安装时间的先 后顺序,另外,如果列表中本来存在该驱动,现在又要安装同样的驱动,则需要对驱动的版 本等进行判断,如果是更高级的版本,则需要对该驱动进行更新,更新后,该更新驱动在列 表中的位置可以为原低版本的驱动的位置,也可以将该更新的驱动作为一个新的驱动,排 列在列表的最后,同时删除列表中原低版本的驱动。
[0038]设备管理模块,用以管理所有添加在智能操作系统平台的设备,以及当设备添加 或移除时,根据添加或移除的设备与所述的驱动管理模块中所有驱动的匹配结果,对该添 加或移除的设备进行驱动选择标记。
[0039] 该设备管理模块的功能类似于驱动管理模块的功能,所述的设备管理模块是用以 管理添加到所述的智能操作系统平台的所有的设备,此处所述的设备包括输入设备、显示 设备、打印设备、外部存储器和网络设备等。
[0040]设备选择模块,用以根据所述的智能操作系统平台要实现的功能,从添加至所述 的智能操作系统平台的设备中选择与该要实现的功能最匹配的设备,以及使该设备和与该 设备相匹配的驱动进入准备工作状态。
[0041] 所述的设备选择模块,是当智能操作系统平台要实现某一功能时,从添加入智能 操作系统平台中的所有设备中选择最合适的设备,由于一个驱动可以对应多个同种类型的 设备,而一个设备只能对应一个驱动,这样当该设备被选择时,该设备以及与该设备相匹配 的驱动进入准备工作状态,这样可以保证所述的系统更好地工作,提高人机交互水平。
[0042]其中,所述的系统还包括:
[0043]驱动引用计数模块,用以标记智能操作系统平台中与该驱动相匹配的设备的个 数。
[0044]当所述的智能操作系统平台有驱动安装时,该驱动安装完成后,驱动管理模块会 遍历设备管理模块中所有的设备,并且在遍历的过程中,只要发现有与该驱动相匹配的设 备时,该驱动的驱动引用计数模块的数值则加1,当所述的智能操作系统平台有驱动的卸载 时,驱动管理模块会将该卸载的驱动的信息删除,并且与该卸载的驱动相对应的驱动引用 计数模块中的该卸载的驱动的信息将会被删除。当所述的智能
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1