[发明专利]一种任务栈的管理方法及装置在审
申请号: | 201610576230.1 | 申请日: | 2016-07-20 |
公开(公告)号: | CN107643943A | 公开(公告)日: | 2018-01-30 |
发明(设计)人: | 笪禹 | 申请(专利权)人: | 大唐移动通信设备有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京同达信恒知识产权代理有限公司11291 | 代理人: | 刘醒晗 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任务 管理 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务栈的管理方法及装置。
背景技术
嵌入式系统一般采用两种模式,一种是多任务物理地址空间隔离,代表包括有Linux进程模型;另一种是多任务共享物理地址空间,代表包括有VxWorks早期版本以及一些简易的实时操作系统(Real Time Operating System,RTOS)。
在物理地址空间隔离模式下,各个任务运行在各自的进程空间中,所有的资源都是相互隔离的,尽管能够保证较高的可靠性,但也同时存在一些不利因素,比如给软件开发带来很大难度,特别是进程间需要共享资源或者通信时这种模式尤其复杂,另外物理地址空间隔离模式下系统性能也会有较大影响,进程切换带来的高速缓冲存储器(cache)、传输后备缓冲器(Translation Lookaside Buffer,TLB)、页表的切换会显著影响系统系能。
在共享物理地址空间模式下,系统中的所有资源都是全局共享的,包括全局变量、堆、任务栈,使得代码开发非常容易,但是弊端是软件的可靠性面临挑战,栈溢出、非法改写是大型软件系统中的疑难问题。
因此,如何提高共享物理地址空间模式下系统的可靠性,是业界所亟待研究和解决的问题。
发明内容
本发明实施例提供一种任务栈的管理方法及装置,用以提高共享物理地址空间模式下系统的可靠性。
本发明的一个实施例提供的任务栈的管理方法,包括:
当任务被调度进入处理器运行时,将所述任务的栈地址空间的访问权限修改为可读写;
当任务被切换出处理器时,将所述任务的栈地址空间的访问权限修改为只读。
可选地,所述将所述任务的栈地址空间的访问权限修改为可读写,包括:
获取所述任务的栈地址空间到物理地址空间的映射关系;
根据所述映射关系,将所述任务的栈地址空间对应的物理地址空间的访问权限修改为可读写;
所述将所述任务的栈地址空间的访问权限修改为只读,包括:
获取所述任务的栈地址空间到物理地址空间的映射关系;
根据所述映射关系,将所述任务的栈地址空间对应的物理地址空间的访问权限修改为只读。
可选地,本发明的一个实施例提供的任务栈的管理方法还包括:
在任务创建时,为任务分配任务栈并设置所述任务的栈地址空间的访问权限为只读。
可选地,所述为任务分配任务栈并设置所述任务的栈地址空间的访问权限为只读,包括:
为任务分配任务栈,建立并保存所述任务的栈地址空间到物理地址空间的映射关系;
根据所述映射关系,将所述任务的栈地址空间对应的物理地址空间的访问权限设置为只读。
可选地,所述为任务分配任务栈,建立并保存将所述任务的栈地址空间到物理地址空间的映射关系,包括:
根据分页机制为任务分配任务栈;其中,所述任务的栈地址空间的首地址、大小为物理页尺寸的整数倍;将所述任务的栈地址空间按照页表映射的方式映射到物理页,并保存所述任务的栈地址空间到物理页的映射关系;或者
根据分段机制为任务分配任务栈;将所述任务的栈地址空间按照段式映射的方式映射到物理地址段,并保存所述任务的栈地址空间到物理地址段的映射关系。
可选地,本发明的一个实施例提供的任务栈的管理方法还包括:
检测是否有任务对访问权限为只读的栈地址空间进行写操作;
若检测到有,则触发异常处理流程,以中止所述任务对所述访问权限为只读的栈地址空间的写操作,并对所述任务的信息进行记录。
本发明的一个实施例提供的任务栈的管理装置,包括:
第一修改模块,用于当任务被调度进入处理器运行时,将所述任务的栈地址空间的访问权限修改为可读写;
第二修改模块,用于当任务被切换出处理器时,将所述任务的栈地址空间的访问权限修改为只读。
可选地,所述第一修改模块,具体用于:
当任务被调度进入处理器运行时,获取所述任务的栈地址空间到物理地址空间的映射关系;
根据所述映射关系,将所述任务的栈地址空间对应的物理地址空间的访问权限修改为可读写;
所述第二修改模块,具体用于:
当任务被切换出处理器时,获取所述任务的栈地址空间到物理地址空间的映射关系;
根据所述映射关系,将所述任务的栈地址空间对应的物理地址空间的访问权限修改为只读。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐移动通信设备有限公司,未经大唐移动通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610576230.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种状态信息的存储方法及装置
- 下一篇:一种处理任务的方法和设备