[发明专利]一种在Linux系统下共享热插拔设备的方法与装置有效
申请号: | 201310492970.3 | 申请日: | 2013-10-18 |
公开(公告)号: | CN103530124B | 公开(公告)日: | 2017-01-25 |
发明(设计)人: | 杨将来 | 申请(专利权)人: | 中安消技术有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F13/40 |
代理公司: | 广东广和律师事务所44298 | 代理人: | 章小燕 |
地址: | 100086 北京市海淀区科学院*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 系统 共享 热插拔 设备 方法 装置 | ||
1.一种在Linux系统下共享热插拔设备的方法,其特征在于,该方法包括以下步骤:
系统启动时初始化共享设备,并将热插拔设备检测模块注册为Linux热插拔系统的用户空间处理模块;
检测到热插拔事件后,内核将热插拔信息设置为系统环境变量,并通过调用所述用户空间处理模块来调用所述热插拔设备检测模块;
所述热插拔设备检测模块从所述系统环境变量中获取热插拔信息;
根据所述热插拔信息获取热插拔的设备信息和动作信息;
根据所述热插拔的动作信息和设备信息调用共享设备维护接口对共享设备进行相应地处理。
2.根据权利要求1所述的方法,其特征在于,所述初始化共享设备包括:创建共享内存和信号量,其中,所述共享内存用于存储设备列表和进程列表;所述信号量用于在多个进程同时访问共享内存时进行同步。
3.根据权利要求2所述的方法,其特征在于,所述初始化共享设备具体包括以下步骤:
根据公共路径名和公共项目标识符获取键;
使用键创建信号量,并获取信号量标识符;
设置信号量数量为1;
使用键和指定长度创建共享内存,并获取共享内存标识符;
连接共享内存并获取共享内存地址,并将共享内存清零。
4.根据权利要求1所述的方法,其特征在于,根据所述热插拔信息获取热插拔的设备信息包括:根据热插拔信息中的设备所属子系统和设备路径来获取设备信息。
5.根据权利要求1-4任意一项权利要求的所述的方法,其特征在于,根据所述热插拔的动作信息和设备信息调用共享设备维护接口对共享设备进行相应地处理进一步包括:
如果所述动作信息是插入动作,则将设备信息作为一个新元素添加到共享设备的设备列表中,并向共享设备的进程列表中的每一个进程发送设备添加信号;如果所述动作信息是拔出动作,则从共享设备的设备列表中删除该设备,并向共享设备的进程列表中的每一个进程发送设备删除信号。
6.一种在Linux系统下共享热插拔设备的装置,包括用于检测到热插拔事件后,将热插拔信息设置为系统环境变量,并调用所述用户空间处理模块的内核;其特征在于,该装置还包括热插拔设备共享模块、热插拔设备检测模块和热插拔设备处理模块,其中:
所述热插拔设备共享模块,用于系统启动时初始化共享设备,并将热插拔设备检测模块注册为Linux热插拔系统的用户空间处理模块;还用于提供维护共享设备的接口;
所述热插拔设备检测模块,用于从所述系统环境变量中获取热插拔信息,并根据所述热插拔信息获取热插拔的设备信息和动作信息;
所述热插拔设备处理模块,根据所述热插拔的动作信息和设备信息调用共享设备维护接口对共享设备进行相应地处理。
7.根据权利要求6所述的装置,其特征在于,所述热插拔设备共享模块包括:
初始化单元,用于系统启动时创建共享内存和信号量,其中,共享内存用于存储设备列表和进程列表,信号量用于在多个进程同时访问共享内存时进行同步;还用于将热插拔设备检测模块注册为Linux热插拔系统的用户空间处理模块;
设备管理单元,用于添加或删除共享设备的设备列表中的元素;
进程管理单元,用于增加或删除共享设备的进程列表中的元素。
8.根据权利要求7所述的装置,其特征在于,所述初始化单元具体用于:根据公共路径名和公共项目标识符获取键;使用键创建信号量,并获取信号量标识符;设置信号量数量为1;使用键和指定长度创建共享内存,并获取共享内存标识符;连接共享内存并获取共享内存地址,并将共享内存清零。
9.根据权利要求6所述的装置,其特征在于,所述热插拔设备检测模块包括:
热插拔信息获取单元,用于从系统环境变量中获取内核设置的热插拔信息;
设备信息获取单元,用于根据热插拔信息中设备所属子系统和设备路径来获取设备信息。
10.根据权利要求6-9任意一项权利要求所述的装置,其特征在于,所述热插拔设备处理模块包括:
设备处理单元,用于当前热插拔的动作信息是插入动作时,将设备信息作为一个新元素添加到共享设备的设备列表中;当前热插拔动作是拔出动作时,从共享设备的设备列表中删除该设备;
信号发送单元,用于当前热插拔的动作信息是插入动作时,向共享设备的进程列表中的每一个进程发送设备添加信号;当前热插拔动作是拔出动作时,向共享设备的进程列表中的每一个进程发送设备删除信号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中安消技术有限公司,未经中安消技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310492970.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:网络切换方法和设备
- 下一篇:数据传输方法、基站及用户设备