[发明专利]一种中断处理方法和装置在审
申请号: | 201911329835.0 | 申请日: | 2019-12-20 |
公开(公告)号: | CN113010275A | 公开(公告)日: | 2021-06-22 |
发明(设计)人: | 葛正中;李涛;林坤;马明礼 | 申请(专利权)人: | 大唐移动通信设备有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 中断 处理 方法 装置 | ||
本发明实施例提供了一种中断处理方法和装置,应用于具有操作系统的设备,所述设备设置有CPU;所述CPU具有任务管理器和寄存器;所述任务管理器包括第一任务管理器;包括:当所述CPU接收到中断信号时,确定处于运行状态的当前用户态任务;停止运行所述当前用户态任务;从所述寄存器中提取所述当前用户态任务对应的第一寄存器上下文;将所述第一寄存器上下文,保存在所述第一任务管理器中;确定所述中断信号对应的中断接收任务;获取所述中断接收任务的第二寄存器上下文;将所述第二寄存器上下文保存在所述寄存器中;采用所述第二寄存器上下文运行所述中断接收任务。从而不会产生非预期的任务切换,可以快速、可靠地响应中断信号。
技术领域
本发明涉及信号处理技术领域,特别是涉及一种中断处理方法和一种中断处理装置。
背景技术
由于需要限制不同的程序之间的访问能力,防止他们获取别的程序的内存数据,或者获取外围设备的数据,并发送到网络,CPU划分出两个权限等级:用户态和内核态。
所有的用户程序都是运行在操作系统的用户态,但当硬件产生中断的时候,需要在操作系统的内核态运行中断服务程序,中断服务程序需要唤醒用户态的中断接收任务。待中断接收任务执行完毕后,再返回断点继续执行原来的程序。
现有的操作系统中内核态中断服务程序唤醒用户态中断接收任务的这一操作不是实时的,在此过程中,会发生多次任务调度操作,进而产生非预期的任务切换。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种中断处理方法和相应的一种中断处理装置。
为了解决上述问题,本发明实施例公开了一种中断处理方法,所述方法应用于具有操作系统的设备,所述设备设置有CPU;所述CPU具有任务管理器和寄存器;所述任务管理器包括第一任务管理器;所述的方法包括:
当所述CPU接收到中断时,确定处于运行状态的当前用户态任务;
停止运行所述当前用户态任务;
从所述寄存器中提取所述当前用户态任务对应的第一寄存器上下文;
将所述第一寄存器上下文,保存在所述第一任务管理器中;
确定所述中断信号对应的中断接收任务;
获取所述中断接收任务的第二寄存器上下文;
将所述第二寄存器上下文保存在所述寄存器中;
采用所述第二寄存器上下文运行所述中断接收任务。
可选地,所述的方法还包括:
当所述中断接收任务运行完成时,继续运行所述当前用户态任务。
可选地,所述继续运行所述当前用户态任务的步骤,包括:
清除所述寄存器中的所述第二寄存器上下文;
将所述第一任务管理器中的所述第一寄存器上下文,保存至所述寄存器中;
采用所述第一寄存器上下文,运行所述当前用户态任务。
可选地,所述任务管理器还包括第二任务管理器;所述获取所述中断接收任务的第二寄存器上下文的步骤,包括:
从所述第二任务管理器中,获取所述中断接收任务的第二寄存器上下文。
本发明实施例还公开了一种中断处理装置,所述的装置包括:
当前用户态任务确定模块,用于当所述CPU接收到中断时,确定处于运行状态的当前用户态任务;
停止模块,用于停止运行所述当前用户态任务;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐移动通信设备有限公司,未经大唐移动通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911329835.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车用切换阀装置
- 下一篇:日志输出方法、装置及设备