[发明专利]通用寄存器保留恢复的实现方法有效
申请号: | 201910891118.0 | 申请日: | 2019-09-20 |
公开(公告)号: | CN112540871B | 公开(公告)日: | 2022-10-04 |
发明(设计)人: | 黄高阳;郑岩;王星焱;林海南;刘松;邹通 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F9/30;G06F9/54 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通用 寄存器 保留 恢复 实现 方法 | ||
1.一种通用寄存器保留恢复的实现方法,其特征在于:包括进程保留方法和进程恢复方法,
所述进程保留方法包括以下步骤,
S11、用户进程通过用户态系统调用进入内核态,用户进程调用系统调用ioctl函数;
S12、在所述ioctl函数中设置进程flag的保留/恢复标志位;
S13、用户进程通过用户态系统调用进入内核态执行完成后,内核态切换到用户态,根据linux信号处理机制,会进入到对保留/恢复标志位的判断;如果存在保留/恢复标志位,进入do_work_pending处理函数,否则不进入do_work_pending处理函数;
S14、do_work_pending处理函数中将内核栈上的通用寄存器$0~$29全部保存到文件或指定内存中;
所述进程恢复方法包括以下步骤,
S21、用户进程通过用户态系统调用进入内核态,用户进程调用系统调用ioctl函数;
S22、在所述ioctl函数中设置进程flag的保留/恢复标志位;
S23、用户进程通过用户态系统调用进入内核态执行完成后,内核态切换到用户态,根据linux信号处理机制,会进入到对保留/恢复标志位的判断;如果存在保留/恢复标志位,进入do_work_pending处理函数,否则不进入do_work_pending处理函数;
S24、do_work_pending处理函数中将文件或指定内存中保存的通用寄存器$0~$29恢复到内核栈上,在do_work_pending处理函数退出后,将内核栈上的通用寄存器$0~$29的值设置到处理器相对应的寄存器中,用户进程返回用户态。
2.根据权利要求1所述的通用寄存器保留恢复的实现方法,其特征在于:所述保留/恢复标志位于所述flag进程的第14-32中任意一位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910891118.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:通信域的集中式管理方法
- 下一篇:用户发起的运行时状态检测方法