[发明专利]一种基于软件事务内存的并发缺陷规避系统及方法有效
申请号: | 201611218952.6 | 申请日: | 2016-12-26 |
公开(公告)号: | CN106874074B | 公开(公告)日: | 2020-05-05 |
发明(设计)人: | 禹振;苏小红;王甜甜;赵玲玲 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F11/14 |
代理公司: | 哈尔滨龙科专利代理有限公司 23206 | 代理人: | 高媛 |
地址: | 150000 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于软件事务内存的并发缺陷规避系统及方法,所述系统由事务自动划分模块、可回滚内存模块、可回滚I/O模块、条件变量处理模块和加锁解锁处理模块5个模块构成,所述方法为:一、实现对目标程序的自动事务划分;二、实现内存事务化;三、实现执行流的可回滚化;四、实现I/O事务化;五、实现对死锁、数据竞争、原子性违背和顺序违背的有效规避。本发明能够自动事务化C/C++多线程程序、合理处理条件变量、支持普通文件和字符文件在系统层面、C语言层面和C++语言层面的事务化I/O和消除包括死锁、数据竞争、原子性违背和顺序违背在内的多种并发缺陷。 | ||
搜索关键词: | 一种 基于 软件 事务 内存 并发 缺陷 规避 系统 方法 | ||
【主权项】:
一种基于软件事务内存的并发缺陷规避系统,其特征在于所述基于软件事务内存的并发缺陷规避系统由事务自动划分模块、可回滚内存模块、可回滚I/O模块、条件变量处理模块和加锁解锁处理模块5个模块构成,其中:所述事务自动划分模块用于劫持线程间操作,利用它们动态地对目标程序进行自动事务划分,并调用可回滚执行模块和事务执行模块来对事务进行管理;所述事务执行模块用于执行在启动、提交和撤销事务时需要执行的逻辑;所述可回滚执行模块用于在事务启动/撤销时保存/恢复事务所在线程的栈帧和CPU寄存器;所述可回滚内存模块用于劫持所有内存访问操作,并综合利用进程继承机制、内存映射机制、进程层面的内存保护机制和信号处理机制来使得这些操作具有可回滚化的执行效应;所述可回滚I/O模块用于劫持所有常用的操作系统级别和C语言级别的I/O操作,并利用虚拟文件系统和文件流到文件描述符映射使得这些操作具有可回滚化的执行效应;所述条件变量处理模块CVHM用于劫持所有条件变量操作,在用户空间重新实现条件变量信号发送和等待逻辑;所述加锁解锁处理模块用于劫持所有加锁解锁操作,劫持所有关于锁的初始化/销毁操作和属性设置/获取操作,并将它们置为空操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611218952.6/,转载请声明来源钻瓜专利网。
- 上一篇:一种纺织用断纱检测装置
- 下一篇:一种基于纤维在纱条中排列的罗拉牵伸模拟方法