[发明专利]当前任务的运行状态获取方法、装置、设备及存储介质在审
申请号: | 202110095188.2 | 申请日: | 2021-01-25 |
公开(公告)号: | CN112783652A | 公开(公告)日: | 2021-05-11 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 珠海亿智电子科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48 |
代理公司: | 深圳青年人专利商标代理有限公司 44350 | 代理人: | 吴桂华 |
地址: | 519000 广东省珠海市高新区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 当前 任务 运行 状态 获取 方法 装置 设备 存储 介质 | ||
1.一种多处理器系统中当前任务的运行状态获取方法,其特征在于,多处理器系统中的每个任务在创建过程中所分配到的堆栈空间的起始地址为N字节的整数倍,大小为N字节,所述方法包括下述步骤:
获取当前堆栈指针的值;
根据当前堆栈指针的值得到当前任务的运行状态信息的内存地址,基于得到的内存地址获取当前任务的运行状态信息。
2.如权利要求1所述的方法,其特征在于,所述内存地址通过将当前堆栈指针的值减去由当前堆栈指针的值对N取余得到的余数得到。
3.如权利要求1所述的方法,其特征在于,N为2的整次幂,所述内存地址通过将当前堆栈指针的值按照二进制对低N-1位清零后得到。
4.如权利要求1所述的方法,其特征在于,所述方法还包括创建新任务,所述创建新任务包括:
为新任务分配堆栈空间;
将新任务的运行状态信息初始化,并保存在分配到的堆栈空间的起始区域;
将所述起始区域以后的堆栈空间设置为预设的固定值;
将分配到的堆栈空间的末尾地址设置给堆栈指针变量,并保存到所述新任务的运行状态信息中。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
在任务切换过程中,通过所述固定值检测是否存在越界风险。
6.如权利要求1所述的方法,其特征在于,所述方法还包括挂起当前任务,所述挂起当前任务包括:
备份当前任务现场,并更新堆栈指针;
将更新后的堆栈指针的值保存到当前任务的运行状态信息中;
挂起当前任务,调度运行下一任务。
7.如权利要求1所述的方法,其特征在于,所述方法还包括调度运行下一任务,所述调度运行下一任务包括:
从就绪任务队列中获取下一任务的运行状态信息;
从获取到的运行状态信息中获取已保存的堆栈指针地址;
将获取到的堆栈指针地址设置给堆栈指针;
使用堆栈指针恢复任务现场并运行任务。
8.一种多处理器系统中当前任务的运行状态获取装置,其特征在于,多处理器系统中的每个任务在创建过程中所分配到的堆栈空间的起始地址为N字节的整数倍,大小为N字节,所述装置包括:
指针获取单元,用于获取当前堆栈指针的值;以及
信息获取单元,用于根据当前堆栈指针的值得到当前任务的运行状态信息的内存地址,基于得到的内存地址获取当前任务的运行状态信息。
9.一种电子设备,包括存储器、多个处理器以及存储在所述存储器中并可在至少一个所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海亿智电子科技有限公司,未经珠海亿智电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110095188.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种玉米种植用播种施肥喷药一体化机装置
- 下一篇:平整度检测装置