[发明专利]用户空间中断服务方法及系统有效
申请号: | 201110048528.2 | 申请日: | 2011-03-01 |
公开(公告)号: | CN102147748A | 公开(公告)日: | 2011-08-10 |
发明(设计)人: | 殷建儒;叶鹏;王博 | 申请(专利权)人: | 汉柏科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 300384 天津市华*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用户 空间 中断 服务 方法 系统 | ||
技术领域
本发明涉及计算机应用技术领域,特别涉及一种用户空间中断服务方法及系统。
背景技术
计算机系统对外部事件的响应广泛采用中断机制,操作系统内核提供常用外设的中断服务程序,同时提供了内核机制,允许用户对特定外设的中断挂接用户定制的服务程序,但是挂接过程和服务程序都必须在内核空间下运行,因此中断服务程序编写人员必须深入了解操作系统内核机制,另外,由于外设种类繁多,内部寄存器编址各不相同,清除使能屏蔽中断方法亦各不相同,导致中断服务程序的编写难度很高,且内核具有较高的不稳定风险。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何使中断挂接过程和中断服务程序在用户空间下运行,使中断服务程序编写人员不必深入了解操作系统内核机制,减低中断服务程序的编写难度,利于程序的调试开发,降低内核不稳定风险。
(二)技术方案
为解决上述技术问题,本发明提供了一种用户空间中断服务方法,包括以下步骤:
S1:将用户空间的待注册中断信息发送至内核空间;
S2:在所述内核空间中对所述待注册中断信息进行注册,并初始化所述内核空间与所述用户空间之间的通信机制,在所述用户空间中保存与所述待注册中断信息对应的中断服务程序的入口地址;
S3:在所述用户空间中循环等待中断通知;
S4:当中断到来时,所述内核空间通过所述通信机制向所述用户空间发出中断通知;
S5:在所述用户空间中通过所述中断服务程序的入口地址运行对应的中断服务程序;
S6:所述中断服务程序运行完成后,返回步骤S3。
其中,所述待注册中断信息包括:中断内核清除标志位、中断设备的寄存器基地址、中断清除寄存器对应的偏移地址、中断掩码值和中断清除方法标志位。
其中,步骤S2具体包括步骤:
S21:调用所述内核空间中的应用程序编程接口;
S22:注册所述待注册中断信息至所述内核空间;
S23:初始化所述内核空间与所述用户空间之间的通信机制;
S24:在用户空间中保存与所述待注册中断信息对应的中断服务程序的入口地址。
其中,步骤S24之前,包括步骤:
根据所述中断内核清除标志位判断所述内核空间是否需要所述中断清除寄存器的相关信息,若是,则将所述中断清除寄存器的相关信息映射到内核空间,若否,则直接执行步骤S23,所述中断清除寄存器的相关信息包括中断设备的寄存器基地址、中断清除寄存器对应的偏移地址和中断掩码值;
其中,步骤S4具体包括步骤:
S41:当中断到来时,判断所述中断是否为与所述待注册中断信息对应的中断,若是,则执行步骤S42,若否,则所述内核空间对所述中断进行相应处理,处理完成后返回步骤S3;
S42:通过所述通信机制向所述用户空间发出中断到来的通知。
其中,步骤S42之前包括步骤:
根据所述中断内核清除标志位判断是否在所述内核空间清除所述中断,若是在所述内核空间清除,根据所述中断清除方法标志位判断所述中断清除方式为写清除还是读清除,若是写清除,则将所述中断掩码值写入中断清除寄存器,所述中断清除寄存器的地址由所述中断设备的寄存器基地址和中断清除寄存器对应的偏移地址得到,若是读清除,则读取所述中断清除寄存器中存储的数据;若不在所述内核空间清除,则直接执行步骤S42。
本发明还公开了一种用户空间中断服务系统,包括:
发送模块,用于将用户空间的待注册中断信息发送至内核空间;
注册存储模块,用于在所述内核空间中对所述待注册中断信息进行注册,并初始化所述内核空间与所述用户空间之间的通信机制,在所述用户空间中保存与所述待注册中断信息对应的中断服务程序的入口地址;
循环等待模块,用于在所述用户空间中循环等待中断通知;
调用通知模块,用于当中断到来时,所述内核空间通过所述通信机制向所述用户空间发出中断通知;
运行模块,用于在所述用户空间中通过所述中断服务程序的入口地址运行对应的中断服务程序;
返回模块,用于所述中断服务程序运行完成后,返回循环等待模块。
其中,所述注册存储模块具体包括:
创建映射子模块,用于调用所述内核空间中的应用程序编程接口;
注册子模块,用于注册所述待注册中断信息至所述内核空间;
初始化子模块,用于初始化所述内核空间与所述用户空间之间的通信机制;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汉柏科技有限公司,未经汉柏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110048528.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有电路板自动插拔功能的通讯设备
- 下一篇:适用于通信机柜的柜内承载机构