[发明专利]一种软件实时事务内存的实现方法有效
申请号: | 201210358174.6 | 申请日: | 2012-09-24 |
公开(公告)号: | CN102929711A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 顾宗华;李红;王铸;张劲超;章明;吴朝晖 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 杭州裕阳专利事务所(普通合伙) 33221 | 代理人: | 江助菊 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 实时 事务 内存 实现 方法 | ||
1.一种软件实时事务内存的实现方法,其特征在于,包括如下步骤:
11)根据任务之间是否会产生冲突,产生任务之间的冲突关系图,并且依据这个冲突关系图将所有任务划分为几个队列,每个任务属于且只能属于一个队列;
12)增加了一个常量,所述常量规定了任务的最大回滚次数,如果某任务回滚次数超出该常量,则将该任务加入到其所属于的队列中去,在该队列的队尾进行排队,并且任务会进入到休眠状态,只有当该任务排列到队首的时候,该任务才会被唤醒,然后重新执行事务内存的代码;
如果一旦有两个任务发生冲突,则依据以下两种情况处理:
13)当其中一个任务是排列在队首,另外一个任务没有在队列中,那么这时候就优先让不在队列中的任务回滚,这样确保队首的任务能够提交,如果该任务回滚的次数达到了所述常量规定的次数时,那么它就会进入到它所属的队列中进行排队,并且进入到休眠状态,等待唤醒;
14)如果两个任务都没有在队列中,那么根据哪个任务的优先级高,让优先级高的任务执行,另一个任务则回滚,并且如果有任务的回滚次数达到了所述常量规定的次数时,那么这个任务就加入到它所属的队列。
2.根据权利要求1所述的一种软件实时事务内存的实现方法,其特征在于,如果在一个处理器上,当一个低优先级任务正在执行事务内存代码时,如果有高优先级任务到来,那么该高优先级任务需要等待低优先级任务的事务内存提交或者回滚之后才能抢占低优先级任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210358174.6/1.html,转载请声明来源钻瓜专利网。