首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于协程的异步系统调用系统 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:浙江大学

摘要:本发明公开了一种基于协程的异步系统调用系统,包括记录模块、执行模块、返回模块,所述记录模块与执行模块之间设有调用队列,所述执行模块、返回模块之间设有返回队列;所述记录模块用于接收协程发起的系统调用请求,记录系统调用请求中包含的系统调用参数与协程信息,并将系统调用参数与协程信息保存到调用对列中,同时暂停发起系统调用的协程,然后判断是否开始执行系统调用;所述执行模块用于采用辅助线程执行调用队列传来的系统调用,系统调用执行后将系统调用返回值和协程信息存入返回队列;所述返回模块用于从返回队列中读取系统调用返回值并根据协程信息将协程添加到运行队列以恢复协程运行。以解决基于协程的系统调用的异步执行问题。

主权项:1.一种基于协程的异步系统调用系统,其特征在于,包括记录模块、执行模块、返回模块,所述记录模块与执行模块之间设有调用队列,所述执行模块、返回模块之间设有返回队列;所述记录模块用于接收协程发起的系统调用请求,记录系统调用请求中包含的系统调用参数与协程信息,并将系统调用参数与协程信息保存到调用对列中,同时暂停发起系统调用的协程,然后判断是否开始执行系统调用;所述执行模块用于采用辅助线程执行调用队列传来的系统调用,系统调用执行后将系统调用返回值和协程信息存入返回队列;所述返回模块用于从返回队列中读取系统调用返回值并根据协程信息将协程添加到运行队列以恢复协程运行;所述调用队列和返回队列采用无锁队列,所述无锁队列采用原子操作实现多线程环境下调用队列和返回队列中数据的同步进行,所述无锁队列设有用于入队和出队的序号和标号,入队序号与出队序号用于同步不同的生产者或消费者,整个队列只需要一个入队序号与一个出队序号;生产者在进行入队操作前通过原子指令获取入队序号并使其自增,成功修改入队序号说明此时没有发生入队冲突,可以继续进行入队操作;入队标号与出队标号用来保护相应数据条目操作的原子性,每个数据条目对应一对入队与出队标号;针对入队和出队,在获取序号前可以读取并检查即将使用的队列条目中的标号,如果该条目的标号与序号不符,可以立即放弃执行,而当标号正确并成功修改序号时直接对该条目的数据进行操作,不需要额外的检查。

全文数据:

权利要求:

百度查询: 浙江大学 一种基于协程的异步系统调用系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。