[发明专利]一种检测任务堆栈的方法有效

专利信息
申请号: 201210122550.1 申请日: 2012-04-24
公开(公告)号: CN102629231A 公开(公告)日: 2012-08-08
发明(设计)人: 何三波 申请(专利权)人: 迈普通信技术股份有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 成都虹桥专利事务所 51124 代理人: 李顺德
地址: 610041 四川省*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 检测 任务 堆栈 方法
【说明书】:

技术领域

本发明涉及计算机操作系统领域,特别涉及对计算机操作系统中任务堆栈的检测方法。

背景技术

在计算机操作系统中,任务堆栈是一种很重要的资源,如果任务堆栈溢出或者被破坏,很可能导致系统运行异常。因此,对任务堆栈的检测技术就显得相当重要。

由中兴通讯股份有限公司申请的一件申请号为200810098217.5的发明专利《一种任务堆栈溢出的实时检测方法及装置》介绍了一种堆栈溢出的检测方法,其采用的手段是:将任务堆栈的栈顶相邻的部分内存设为隔离区,并使用存储区管理单元(MMU,Memory Manage Unit)的功能将所述隔离区的属性设置为不可写,在对所述任务堆栈进行压栈的过程中,若压栈操作对所述隔离区进行了写操作,则判定所述任务堆栈溢出。

上述堆栈溢出检测方法中存在两个缺点:其一,设置隔离区的操作比较麻烦,需要修改操作系统内核代码,只有对操作系统内核十分熟悉的专业人士才能完成,不利于操作系统的升级;其二,需要在隔离区上启用MMU管理,对于某种架构的CPU,启用MMU后会降低CPU的性能。

而中兴通讯股份有限公司申请的另外一件申请号为200710003510.4的发明专利《一种检测堆栈帧破坏的方法》介绍了一种检测堆栈是否被破坏的方法,其采用的手段是:通过编译器在函数中插桩,在入桩函数将堆栈帧备份到栈顶,在出桩函数中判断当前堆栈帧是否一致,从而判定任务堆栈是否被破坏。

该检测方法需要对操作系统中几乎所有的函数进行插桩,操作比较复杂,对CPU的性能影响也不得不考虑,另外也需要修改操作系统内部函数,不利于操作系统的升级。

发明内容

本发明所要解决的技术问题是:提出一种简便的检测任务堆栈的方法,解决传统技术中检测任务堆栈的操作复杂、不利于操作系统升级的问题。

本发明解决上述技术问题所采用的方案是:一种检测任务堆栈的方法,包括以下步骤:

a.在任务堆栈的栈顶和栈底分别划分一部分内存作为检测区域;

b.将检测区域初始化为某一个值,并将检测区域的位置记录在任务控制块的用户保留字段中;

c.操作系统在工作过程中对检测区域进行检测,若检测到检测区域的值发生变化,则判定为任务堆栈出现问题;

d.将任务堆栈出现问题的信息报告给用户,并进行相应处理。

进一步,将检测区域初始化为某一个值的具体操作是:在任务的入口函数中定义一个局部结构体变量,将局部结构体变量的各个字段初始化成某一个值。

进一步,所述检测区域包括在任务堆栈的栈顶划分的内存区域和在栈底划分的内存区域。

进一步,所述任务堆栈出现问题是指任务堆栈溢出或被破坏。

进一步,步骤d中,所述相应处理是指挂起溢出任务或重启操作系统。

进一步,步骤c的具体实现方法为:

当工作任务得到调度时,对检测区域的值进行检测,若检测到检测区域的值发生变化,则判定为任务堆栈出现问题;

或者,由操作系统生成一个堆栈检测任务,所述堆栈检测任务周期性对检测区域进行检测,如果检测到检测区域的值被修改,则判定为任务堆栈出现问题;

或者,由操作系统生成一个堆栈检测任务,所述堆栈检测任务周期检测每个任务的SP指针的值,若检测到某个任务的SP指针没有在堆栈区域内,则判定为任务堆栈出现问题。

本发明的有益效果是:利用纯软件方法检测任务堆栈,不需要修改操作系统接口函数,不影响CPU性能,且检测方法简便,有利于系统升级。

附图说明

图1为任务堆栈示意图;

图2为本发明的检测方法流程图。

具体实施方式

针对传统技术中检测任务堆栈的操作复杂、不利于操作系统升级的问题,本发明提出一种简便的检测任务堆栈的方法,该方法的流程如图2所示,其包括以下步骤:

a.在任务堆栈的栈顶和栈底分别划分一部分内存作为检测区域;

b.将检测区域初始化为某一个值,并将检测区域的位置记录在任务控制块的用户保留字段中;

c.操作系统在工作过程中对检测区域进行检测,若检测到检测区域的值发生变化,则判定为任务堆栈出现问题;

d.将任务堆栈出现问题的信息报告给用户,并进行相应处理。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普通信技术股份有限公司,未经迈普通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210122550.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top