[发明专利]一种堆栈容量的设置方法及系统在审
申请号: | 201510518787.5 | 申请日: | 2015-08-21 |
公开(公告)号: | CN105094991A | 公开(公告)日: | 2015-11-25 |
发明(设计)人: | 张阳 | 申请(专利权)人: | 北京经纬恒润科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100101 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 堆栈 容量 设置 方法 系统 | ||
1.一种堆栈容量的设置方法,其特征在于,包括:
为第一任务分配第一任务堆栈;所述第一任务堆栈为执行所述第一任务时使用的随机存取存储器RAM空间;
在执行所述第一任务的过程中,检测所述第一任务堆栈是否发生堆栈溢出,并在所述第一任务堆栈没有发生堆栈溢出时,检测所述第一任务对于所述第一任务堆栈的第一实际使用量;
以所述第一任务对于所述第一任务堆栈的第一实际使用量为基准,设置所述第一任务堆栈的第一堆栈容量;所述第一堆栈容量大于或等于所述第一任务对于所述第一任务堆栈的第一实际使用量。
2.根据权利要求1所述的设置方法,其特征在于,所述检测所述第一任务对于所述第一任务堆栈的第一实际使用量,包括:
检测所述第一任务堆栈中的标识数据,并输出检测结果,根据所述检测结果计算所述第一任务对于所述第一任务堆栈的第一实际使用量;
其中,所述标识数据是预先在所述第一任务堆栈的每个存储单元中写入的数据,所述标识数据用于表征所述存储单元未被使用,且在所述存储单元被使用后消失。
3.根据权利要求2所述的设置方法,其特征在于,所述检测所述第一任务堆栈中的标识数据,并输出检测结果,根据所述检测结果计算所述第一任务对于所述第一任务堆栈的第一实际使用量,包括:
按照第一检测顺序依次检测所述第一任务堆栈的存储单元中的所述标识数据,直到检测不到所述标识数据时,输出从所述第一任务堆栈中检测到的所述标识数据的标识数量;所述第一检测顺序为从所述第一任务堆栈的栈顶地址到所述第一任务堆栈的起始地址的检测顺序;
计算所述第一任务堆栈的存储单元的总量与所述标识数量的差值,并将所述差值作为所述第一任务对于所述第一任务堆栈的第一实际使用量。
4.根据权利要求2所述的设置方法,其特征在于,所述检测所述第一任务堆栈中的标识数据,并输出检测结果,根据所述检测结果计算所述第一任务对于所述第一任务堆栈的第一实际使用量,包括:
按照第二检测顺序依次检测所述第一任务堆栈的存储单元中的所述标识数据,直到检测到所述标识数据时,输出从所述第一任务堆栈中检测到的不带有所述标识数据的存储单元的单元数量;所述第二检测顺序为从所述第一任务堆栈的起始地址到所述第一任务堆栈的栈顶地址的检测顺序;
将所述单元数量作为所述第一任务对于所述第一任务堆栈的第一实际使用量。
5.根据权利要求1所述的设置方法,其特征在于,还包括:
在所述第一任务堆栈发生堆栈溢出时,增大所述第一任务堆栈占用的RAM空间,并继续检测所述第一任务堆栈是否还会发生堆栈溢出,如果所述第一任务堆栈还会发生堆栈溢出则继续增大所述第一任务堆栈占用的RAM空间,直到所述第一任务堆栈不再发生堆栈溢出时,检测所述第一任务对于所述第一任务堆栈的第二实际使用量;
以所述第一任务对于所述第一任务堆栈的第二实际使用量为基准,设置所述第一任务堆栈的第二堆栈容量;所述第二堆栈容量大于或等于所述第一任务对于所述第一任务堆栈的第二实际使用量。
6.一种堆栈容量的设置系统,其特征在于,包括:
分配模块,用于为第一任务分配第一任务堆栈;所述第一任务堆栈为执行所述第一任务时使用的随机存取存储器RAM空间;
第一检测模块,用于在执行所述第一任务的过程中,检测所述第一任务堆栈是否发生堆栈溢出,并在所述第一任务堆栈没有发生堆栈溢出时,检测所述第一任务对于所述第一任务堆栈的第一实际使用量;
第一设置模块,用于以所述第一任务对于所述第一任务堆栈的第一实际使用量为基准,设置所述第一任务堆栈的第一堆栈容量;所述第一堆栈容量大于或等于所述第一任务对于所述第一任务堆栈的第一实际使用量。
7.根据权利要求6所述的设置系统,其特征在于,所述第一检测模块,包括:
检测单元,用于检测所述第一任务堆栈中的标识数据,并输出检测结果,根据所述检测结果计算所述第一任务对于所述第一任务堆栈的第一实际使用量;
其中,所述标识数据是预先在所述第一任务堆栈的每个存储单元中写入的标识;所述标识数据用于表征所述存储单元未被使用,且在所述存储单元被使用后消失。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京经纬恒润科技有限公司,未经北京经纬恒润科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510518787.5/1.html,转载请声明来源钻瓜专利网。