一种用户线程栈的保护方法、装置及设备制造方法及图纸

技术编号:40599272 阅读:26 留言:0更新日期:2024-03-12 22:03
本申请提供一种用户线程栈的保护方法、装置及设备,该方法包括:选择待运行的目标线程,获取目标线程允许访问的用户线程栈的第一栈区域信息,将第一栈区域信息更新到用户线程栈保护配置区域;启动并运行目标线程,在目标线程的运行过程中,则获取目标线程实际访问的用户线程栈的第二栈区域信息;若第二栈区域信息与用户线程栈保护配置区域内存储的第一栈区域信息匹配,则允许目标线程继续运行;若第二栈区域信息与用户线程栈保护配置区域内存储的第一栈区域信息不匹配,则禁止目标线程继续运行。通过本申请方案,避免目标线程访问其它线程的栈空间,避免嵌入式设备的运行异常,提出一种用户线程栈的保护方法,极大提高实时操作系统的稳定性。

【技术实现步骤摘要】

本申请涉及计算机领域,尤其是一种用户线程栈的保护方法、装置及设备


技术介绍

1、对于运行rtos(real time operating system,实时操作系统)的嵌入式设备,嵌入式设备的业务是通过多线程配合来实现,即嵌入式设备会启动多个线程,通过这些线程的配合来实现业务。针对每个线程来说,该线程具有本线程的用户线程栈,即具有独立的栈空间,该栈空间是函数调用实现的基础。

2、每个线程应该只能访问本线程的栈空间(即用户线程栈),但是,对于运行rtos的嵌入式设备来说,栈空间是作为全局资源来配置,从而导致每个线程可以访问到其它线程的栈空间,继而导致嵌入式设备的运行出现异常。

3、比如说,若线程a由于逻辑错误访问线程b的栈空间,且踩栈位置是线程b的关键存储区,则线程b无法再次正常运行,从而导致系统运行异常。又例如,单个线程的栈空间通常较小,若线程a运行过程中消耗大量栈空间,超出了给定的内存区域,则会导致线程a错误访问其它线程的栈空间。


技术实现思路

1、本申请提供一种用户线程栈的保护方本文档来自技高网...

【技术保护点】

1.一种用户线程栈的保护方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求1所述的方法,其特征在于,所述获取所述目标线程允许访问的用户线程栈的第一栈区域信息之前,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,在将所述总栈地址空间划分为指定大小的多个用户线程栈地址空间时,针对每个用户线程栈地址空间,该用户线程栈地址空间的起始地址与该用户线程栈地址空间的大小对齐;

5.根据权利要求1所述的方法,其特征在于,所述将所述第一栈区域信息更新到用户线程栈保护配置区域之前,所述方法还包括:

...

【技术特征摘要】

1.一种用户线程栈的保护方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求1所述的方法,其特征在于,所述获取所述目标线程允许访问的用户线程栈的第一栈区域信息之前,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,在将所述总栈地址空间划分为指定大小的多个用户线程栈地址空间时,针对每个用户线程栈地址空间,该用户线程栈地址空间的起始地址与该用户线程栈地址空间的大小对齐;

5.根据权利要求1所述的方法,其特征在于,所述将所述第...

【专利技术属性】
技术研发人员:蒋权利郭永旭尹志新刘俊朱琰亮
申请(专利权)人:杭州海康汽车软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1