一种linux用户态互斥锁死锁检测方法及系统与流程

文档序号:11949825阅读:来源:国知局

技术特征:

1.一种linux用户态互斥锁死锁检测方法,其特征在于,包括:

将用户态互斥锁数据结构与lockdep数据结构进行封装;

对引入内核lockdep死锁程序的用户态互斥锁接口进行封装;

将封装后的用户态互斥锁接口,编译成用户态互斥锁检测动态静态链接库,生成互斥锁死锁检测库文件;

根据所述互斥锁死锁检测库文件编译互斥锁死锁检测操作;

执行所述互斥锁死锁检测操作,若存在死锁,则记录死锁信息。

2.如权利要求1所述的linux用户态互斥锁死锁检测方法,其特征在于,将用户态互斥锁数据结构与lockdep数据结构进行封装,包括:

将用户态互斥锁数据结构pthread_mutex_t添加lockdep死锁检测的lockdep_map数据结构。

3.如权利要求2所述的linux用户态互斥锁死锁检测方法,其特征在于,对引入内核lockdep死锁程序的用户态互斥锁接口进行封装,包括:

引入内核lockdep死锁程序,定义用户态文件;其中,所述用户态文件包括lockdep.c、lockdep_states.h和lockdep_internals.h;

根据所述用户态文件对用户态互斥锁接口进行封装;其中,所述用户态互斥锁接口包括:PTHREAD_MUTEX_INITIALIZER、pthread_mutex_init、pthread_mutex_lock、pthread_mutex_unlock、pthread_mutex_trylock、pthread_mutex_destroy。

4.如权利要求3所述的linux用户态互斥锁死锁检测方法,其特征在于,执行所述互斥锁死锁检测操作,包括:

判断编译时是否引入所述互斥锁死锁检测库文件;

若引入,则执行所述互斥锁死锁检测操作。

5.如权利要求4所述的linux用户态互斥锁死锁检测方法,其特征在于,记录死锁信息,包括:

打印死锁信息。

6.一种linux用户态互斥锁死锁检测系统,其特征在于,包括:

数据结构封装模块,用于将用户态互斥锁数据结构与lockdep数据结构进行封装;

接口封装模块,用于对引入内核lockdep死锁程序的用户态互斥锁接口进行封装;

编译模块,用于将封装后的用户态互斥锁接口,编译成用户态互斥锁检测动态静态链接库,生成互斥锁死锁检测库文件;

用户态程序模块,用于根据所述互斥锁死锁检测库文件编译互斥锁死锁检测操作;执行所述互斥锁死锁检测操作,若存在死锁,则记录死锁信息。

7.如权利要求6所述的linux用户态互斥锁死锁检测系统,其特征在于,所述数据结构封装模块具体为将用户态互斥锁数据结构pthread_mutex_t添加lockdep死锁检测的lockdep_map数据结构的模块。

8.如权利要求7所述的linux用户态互斥锁死锁检测系统,其特征在于,接口封装模块具体为引入内核lockdep死锁程序,定义用户态文件;根据所述用户态文件对用户态互斥锁接口进行封装的模块;

其中,所述用户态互斥锁接口包括:PTHREAD_MUTEX_INITIALIZER、pthread_mutex_init、pthread_mutex_lock、pthread_mutex_unlock、pthread_mutex_trylock、pthread_mutex_destroy;所述用户态文件包括lockdep.c、lockdep_states.h和lockdep_internals.h。

9.如权利要求8所述的linux用户态互斥锁死锁检测系统,其特征在于,用户态程序模块,包括:

编译单元,用于根据所述互斥锁死锁检测库文件编译互斥锁死锁检测操作;

判断单元,用于判断编译时是否引入所述互斥锁死锁检测库文件;

执行单元,用于若存在所述互斥锁死锁检测库文件,执行所述互斥锁死锁检测操作;

记录单元,用于若存在死锁,则记录死锁信息。

10.如权利要求9所述的linux用户态互斥锁死锁检测系统,其特征在于,所述记录单元具体为打印死锁信息的单元。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1