[发明专利]实现输入设备热插拔的系统及方法无效
申请号: | 201110454451.9 | 申请日: | 2011-12-29 |
公开(公告)号: | CN103186373A | 公开(公告)日: | 2013-07-03 |
发明(设计)人: | 梁金祥 | 申请(专利权)人: | 盛乐信息技术(上海)有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 上海思微知识产权代理事务所(普通合伙) 31237 | 代理人: | 菅秀君 |
地址: | 201203 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 输入 设备 热插拔 系统 方法 | ||
技术领域
本发明涉及基于Linux操作系统的实现输入设备热插拔的系统及方法。
背景技术
目前,Linux操作系统作为一个开放源代码的操作系统,已经广泛应用在服务器、嵌入式等领域。Linux操作系统分为内核空间和用户空间的,在内核空间里面主要包括驱动模块、操作系统的核心模块以及处理模块,行业里把内核空间内的所有模块统称为Linux内核空间,而用户空间一般包含用户程序,用户程序不能无限制的使用内核空间的功能,用户程序必须按照内核空间提供的既有功能、既有方法来使用。
传统的Linux操作系统中,有两种不同的方法来看待热插拔。Linux操作系统的内核空间看待热插拔为硬件,是内核空间和硬件之间的交互。而用户看待热插拔是内核空间和用户空间中的用户程序的交互,用户程序通过内核空间发给用户空间的通知来得知设备的热插拔。
目前,Linux操作系统关于设备热插拔的实现随着版本的升级不断再变化。Linux操作系统的热插拔的原有实现,依赖于Linux操作系统的设备模型。在Linux操作系统现有的设备模型下,当输入设备热插拔时,在设备模型子系统下,将产生事件以通知用户空间,即内核空间通知用户空间发生了某种热插拔事件时,内核空间调用用户空间的处理程序。
当用户向Linux操作系统添加或删除输入设备时,内核空间会产生一个热插拔事件,并在/proc/sys/kernel/hotplug(Linux操作系统下的一个文件)里查找处理输入设备连接的用户空间内的用户程序。这个用户空间内的用户程序主要有:
Hotplug用户程序:这个程序是一个典型的bash脚本,只传递执行权给一系列位于/etc/hot-plug.d/目录树的程序。hotplug脚本搜索所有的具有.hotplug后缀的可能对这个事件进行处理的程序并调用它们,并传递给它们许多不同的已经被内核空间设置的环境变量,目前这个用户程序基本被淘汰;
Udev用户程序:用于linux2.6.13或更高版本的内核空间上,为用户空间提供使用固定设备名的动态/dev目录的解决方案。它通过在sysfs的/class/和/block/目录树中查找一个称为dev的文件,以确定所创建的设备节点文件的主次设备号,所以要使用udev,驱动模块必须为输入设备在sysfs中创建类接口及其dev属性文件,方法和sculld模块中创建dev属性相同。
上述采用hotplug、udev用户程序实现输入设备热插拔的系统及方法,必须结合内核空间和用户空间才能实现实现输入设备热插拔,由此可知,目前还没有一种可以在Linux操作系统的内核空间中直接实现输入设备热插拔的系统及方法。
发明内容
本发明的目的在于提供一种可以在Linux操作系统的内核空间中直接实现输入设备热插拔的系统及方法,通过在Linux操作系统的内核空间中直接获取输入设备热插拔事件,结合在Linux操作系统的内核空间的图形库直接渲染技术来实现设备的热插拔。
为了达到上述的目的,本发明采用如下技术方案:
一种实现输入设备热插拔的系统,基于Linux操作系统,包括分别属于Linux操作系统的内核空间的驱动模块、输入核心模块和输入设备处理模块;当输入设备热插或热拔时,驱动模块将输入设备的热插拔类型传递给输入核心模块;输入核心模块调用Linux操作系统的系统函数匹配对应的输入设备处理模块,匹配成功后在Linux操作系统的内核空间中直接截取输入设备的热插拔事件,并将输入设备的热插拔事件发送给输入设备处理模块;所述输入设备处理模块根据所述输入设备的热插拔事件,进行有关所述输入设备的处理。
可选的,在上述的实现输入设备热插拔的系统中,所述驱动模块或者所述输入设备处理模块包括连接函数模块与断开函数模块,所述连接函数模块用于将输入设备加入到Linux操作系统的输入设备列表中并截取所述输入设备的热插事件,所述断开函数模块用于将输入设备从Linux操作系统的输入设备列表中删除并截取输入设备的热拔事件,所述输入核心模块在匹配成功后,根据输入设备的热插拔类型调用所述连接函数模块或所述断开函数模块实现对所述输入设备的热插拔事件的截取。
可选的,在上述的实现输入设备热插拔的系统中,所述输入设备是鼠标、键盘、触摸屏中的一种或多种。
本发明还公开了一种实现输入设备热插拔的方法,包括如下步骤:
步骤S1:当输入设备热插或热拔时,驱动模块将输入设备的热插拔类型传递给输入核心模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于盛乐信息技术(上海)有限公司,未经盛乐信息技术(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110454451.9/2.html,转载请声明来源钻瓜专利网。