买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:电子科技大学;中移物联网有限公司
摘要:本发明公开了一种微内核操作系统的用户级RCU实现方法,在微内核操作系统的用户态中部署RCU服务,读线程访问共享数据时为读操作进行加锁和解锁操作,写线程在对共享数据进行更改后,开启全局宽限期并为其分配世代号,内核为每个CPU设置一个位图变量的bit位,CPU在经历静止状态后则将该bit位置为0,当位图变量转为0向量标志着对应的宽限期结束,内核向RCU服务发送静止事件,RCU服务调用宽限期对应的回调函数,回收内存资源。本发明可以在微内核操作系统的用户态实现RCU,提高RCU效率。
主权项:1.一种微内核操作系统的用户级RCU实现方法,其特征在于,包括以下步骤:S1:在微内核操作系统的用户态中部署RCU服务,并对操作接口进行配置,操作接口函数包括读加锁函数rcu_read_lock,读解锁函数rcu_read_unlock,发布函数rcu_assign_pointer,同步函数synchronize_rcu和回调函数call_rcu;S2:读线程访问共享数据时,采用rcu_read_lock函数和rcu_read_unlock函数为读操作进行加锁和解锁操作;S3:当需要更改一个共享数据的内容时,写线程向RCU服务申请新内存空间,将原始共享数据拷贝到新内存空间,然后对新内存空间中的数据进行更改,更改完成后写线程将数据链表中对于原始内存空间的链接关系转移至新内存空间,完成共享数据替换;S4:共享数据更新完成后,写线程调用synchronize_rcu函数或call_rcu函数注册回调函数从而开启宽限期;写线程为宽限期分配一个独一无二的世代号,将回调函数和指针保存至回调函数队列;然后RCU服务阻塞,写线程继续运行;S5:内核中设置位图变量,每一位bit对应一个微内核操作系统中的CPU,每个CPU对应的bit值初始值均为1;内核对每个CPU进行监测,判断该CPU是否经历静止状态,如果未经历则不作任何操作,如果经历则将位图变量中对应bit置为0;当位图变量为全0时,则宽限期结束,生成一次静止事件,然后将位图变量重置为1;然后向RCU服务上报静止事件;S6:RCU服务收到静止事件,从回调函数队列中取出宽限期对应的回调函数和数据指针,调用回调函数回收内存资源。
全文数据:
权利要求:
百度查询: 电子科技大学 中移物联网有限公司 一种微内核操作系统的用户级RCU实现方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。