[发明专利]一种基于嵌入式实时操作系统的RCU实现方法有效
申请号: | 202211405364.9 | 申请日: | 2022-11-10 |
公开(公告)号: | CN115454653B | 公开(公告)日: | 2023-02-24 |
发明(设计)人: | 王翾;韩辉;吴鹏程 | 申请(专利权)人: | 南京翼辉信息技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/52 |
代理公司: | 南京中高专利代理有限公司 32333 | 代理人: | 吴瑾 |
地址: | 210012 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 嵌入式 实时 操作系统 rcu 实现 方法 | ||
本发明提供一种基于嵌入式实时操作系统的RCU实现方法,包括以下步骤:1)读线程对共享数据进行读取时,为读操作进行加解锁;2)写线程对共享数据进行拷贝后修改,修改后更新源数据;3)开启全局宽限期;4)宽限期阶段等待;5)判定CPU是否经历静默期;6)对CPU进行静默期标记;7)判定全局宽限期是否结束;8)全局宽限期结束后,确认修改前的共享数据能够被释放;通过借助嵌入式实时操作系统的线程控制块TCB实时记录RCU占用情况,作为静默期QS的判定条件之一,提高判定的实时性和效率;RCU在实时系统上创建定时器,通过定期检测作为进行静默期QS和宽限期GP判定的一个时机,提高判定准确性和判定效率。
技术领域
本发明涉及数据同步实现方法的技术领域,具体涉及一种基于嵌入式实时操作系统的RCU实现方法。
背景技术
RCU是Read,Copy-Update的缩写,意指读,复制-更新,是一种同步机制,是Linux操作系统下数据同步的一种实现方式。以链表为例,RCU机制同一时刻允许多个线程对链表进行读操作,且读的时候允许一个线程对链表进行修改。当读者多,更新者少时,RCU 的效率很高,在Linux操作系统中,有很多子系统借助RCU来进行数据同步,如文件系统中,由于查找目录情形比较多,修改目录则相对较少,因此就可以使用 RCU同步机制。
RCU的基本思想是:先拷贝一份旧数据,然后对拷贝后的数据进行修改,形成一个新的数据,最后再用新的数据替换掉旧的数据。
例如,如图1所示,假设有一个单向链表,其中包含一个由指针P指向的节点;
现在,要使用RCU同步机制来更新这个节点的数据,那么首先需要分配一段新的内存空间,由指针 Q 指向,用于存放这个复制的节点数据,如图2所示。
然后将指针P 指向的节点数据,以及它和下一节点[11, 4, 8]的关系,都完整地复制到指针Q指向的内存区域中,如图3所示。
接下来,写者会修改这个复制的数据,即如图4所示,将[5, 6, 7]修改为[5, 2,3]。
修改完成之后,写者就可以将这个更新发布(publish)了,对于读者来说就可见了。因此,发布之后才开始读取操作的读者,比如读节点[1, 2, 3]的下一个节点,得到的就是新的数据[5, 2, 3],如图5中粗边框所示;而在 publish 之前就开始读取操作的读者则不受影响,依然使用旧的数据[5, 6, 7],如图5中细边框所示。
等到所有引用旧数据区的读者都完成了相关操作,写者才会释放由指针P指向的内存区域,如图6所示。虽然思想简单且能够有效提高数据同步效率,但是 RCU在实际实现时,仍然存在以下缺陷与不足:
1)需要依赖很多操作系统相关的独有技术,又因为Linux操作系统不属于实时系统,不需要考虑实时性等问题,因此当前RCU同步机制仅在Linux操作系统下有源代码能够实现,其他嵌入式实时操作系统尚缺乏与RCU资源同步方法的有效结合。
2)RCU同步机制的实现依赖Linux操作系统下独有的技术,对于其他嵌入式实时操作系统,没有相关技术实现,因此无法在此类嵌入式实时操作系统中开发出 RCU同步机制。
3)Linux操作系统不是实时系统,RCU同步机制实现时,也没有充分考虑实时性,因此其当前实现方法也无法在实时系统上直接使用。
发明内容
为了解决现有技术中存在的缺陷与不足,本发明提供了一种基于嵌入式实时操作系统的RCU实现方法。
本发明提供的具体方案为:
一种基于嵌入式实时操作系统的RCU实现方法,其特征在于:包括以下步骤:
1)读线程对共享数据进行读取时,为读操作进行加解锁;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京翼辉信息技术有限公司,未经南京翼辉信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211405364.9/2.html,转载请声明来源钻瓜专利网。