一种互斥信号量异常阻塞辅助分析方法、系统及存储介质技术方案

技术编号:33384927 阅读:33 留言:0更新日期:2022-05-11 22:59
本发明专利技术提供了一种互斥信号量异常阻塞辅助分析方法、系统及存储介质,该方法包括:步骤1:线程占用了共享资源时,将相应的互斥信号量进行lock操作,lock之前,记录wait信息,将该wait信息加入wait list;步骤2:lock之后,记录lock信息,同时从wait list中将wait信息删除;步骤3:访问完共享资源后,将信号量进行unlock操作,之后,清除lock信息;步骤4:每个信号量形成表记录,实时记录到内存中和定时记录到flash中;步骤5:出现异常时,通过查看所述表记录信息,确定出问题的信号量和代码。本发明专利技术的有益效果是:本发明专利技术用于实时监测信号量的异常阻塞情况,同时可以快速定位问题点。同时可以快速定位问题点。同时可以快速定位问题点。

【技术实现步骤摘要】
一种互斥信号量异常阻塞辅助分析方法、系统及存储介质


[0001]本专利技术涉及多线程编程
,尤其涉及基于嵌入式linux内核的ZebOS平台开发的网络通信软件。

技术介绍

[0002]在ZebOS平台中,几乎所有模块都是采用进程的方式实现,模块间通信使用进程间通信的IPC机制,保证了模块使用内存的安全性。而核心模块HSL,由于需要同时跟芯片和上层应用打交道,为了保证其高效性,使用了多线程模式,在shell中执行ps

T|grep hsl可以看到。由于同一进程中的所有线程是共享内存的,资源互斥使用是必须考虑的问题,而多个互斥信号量的相互嵌套使用又极容易导致死锁。Linux内核提供了信号量异常跟踪机制,需要打开相应的编译选项。通常我们在嵌入开发中所使用的Linux内核要求小而稳定,并且不轻易升级。另外,coredump信息有时会因为调用栈被破坏而难以确定问题代码。

技术实现思路

[0003]本专利技术提供了一种互斥信号量异常阻塞辅助分析方法,包括如下步骤:
[0004]步骤1:线程占用了共享资源时,本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种互斥信号量异常阻塞辅助分析方法,其特征在于,包括如下步骤:步骤1:线程占用了共享资源时,需要将相应的互斥信号量进行lock操作,lock之前,记录wait信息,将该wait信息加入wait list;步骤2:lock之后,记录lock信息,同时从wait list中将wait信息删除;步骤3:访问完共享资源后,将信号量进行unlock操作,unlock之后,清除lock信息;步骤4:每个信号量形成表记录,实时记录到内存中和定时记录到flash中;步骤5:出现异常时,通过查看所述表记录信息,确定出问题的信号量和代码。2.根据权利要求1所述的互斥信号量异常阻塞辅助分析方法,其特征在于,在所述步骤1中,wait信息包括线程号、等待函数、等待行数。3.根据权利要求1所述的互斥信号量异常阻塞辅助分析方法,其特征在于,在所述步骤2中,lock信息包括线程号、等待函数、等待行数。4.根据权利要求1至3任一项所述的互斥信号量异常阻塞辅助分析方法,其特征在于,在所述步骤1中:进程中存在两个或以上的线程,存在两个或以上的共享资源,并且有相应的互斥信号量进行访问保护;线程T1占用了资源R1后,使用信号量M1进行保护;同时,线程T1需要访问资源R2,但资源R2被其他线程占用着,线程T1只能进入pending状态;线程T2占用了资源R2后,使用信号量M2进行保护;同时,线程T2需要访问资源R1,但资源R2被其他线程占用着,线程T2只能进入pending状态;线程T1和线程T2同时等待访问对方持有的资源,形成了死锁;其他线程需要访问资源R1或者资源R2,也都只能进入永久的pending状态。5.一种互斥信号量异常阻塞辅助分析系统,其特征在于,包括:锁定模块:用于线程占用了共享资源时,需要将相应的互斥信号量进...

【专利技术属性】
技术研发人员:许志勇晏元贵祝国胜
申请(专利权)人:北京特立信电子技术股份有限公司
类型:发明
国别省市:

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

1