[发明专利]用于内核态和用户态通讯的共享内存结构及其应用有效
申请号: | 201610526265.4 | 申请日: | 2016-07-05 |
公开(公告)号: | CN107577539B | 公开(公告)日: | 2021-03-16 |
发明(设计)人: | 王行宫阝 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京展翅星辰知识产权代理有限公司 11693 | 代理人: | 王文生 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 内核 用户 通讯 共享 内存 结构 及其 应用 | ||
1.一种用于内核态和用户态通讯的共享内存结构,包括:
所述共享内存被划分为多个内存片;
所述多个内存片中的其中一个内存片为存储有至少一个用户态状态信息的控制页,且其余内存片为数据页,所述控制页中的用户态状态信息为:表征用户态空闲的状态信息、表征用户态繁忙的状态信息或者表征用户态未执行共享内存地址映射的状态信息;
每一个数据页均包括:第一区域和第二区域,所述第一区域用于存储针对内核态和用户态通讯数据的数据页分配信息以及至少一个数据页状态信息,所述第二区域用于存储内核态和用户态的通讯数据,所述数据页分配信息包括:在所述内核态针对待传输给用户态的待传输数据分配数据页的一次分配过程中,内核态所分配的数据页的页数,所述数据页中的数据页状态信息为:表征数据页空闲且允许被内核态分配的状态信息、表征数据页已经被内核态分配且内核态正在写入数据的状态信息、表征数据页允许被用户态读写的状态信息、表征数据页正在被用户态读写的状态信息或者表征数据页允许被内核态分配且用户态忽略该数据页的状态信息。
2.根据权利要求1所述的共享内存结构,其中,所述共享内存中的所有数据页形成环形队列。
3.根据权利要求1所述的共享内存结构,其中,
在内核态创建共享内存的过程中,所述共享内存中的控制页中的用户态状态信息被设置为表征用户态未执行共享内存地址映射的状态信息;
在用户态执行进程地址空间映射操作后,所述共享内存中的控制页中的用户态状态信息被设置为表征用户态空闲的状态信息;
在用户态开始针对数据页执行读写操作时,所述用户态状态信息被设置为表征用户态繁忙的状态信息;
在用户态完成数据页中的数据读写操作时,所述用户态状态信息被设置为表征用户态空闲的状态信息。
4.根据权利要求1所述的共享内存结构,其中,
在内核态为其创建并注册的设备分配共享内存的过程中,所述共享内存中的各数据页中的数据页状态信息被设置为表征数据页空闲且允许被内核态分配的状态信息,使各数据页处于空闲态;
在内核态针对需要向用户态传输的数据分配数据页且存在可分配的数据页时,所述可分配的数据页的数据页状态信息被设置为表征数据页已经被内核态分配且内核态正在写入数据的状态信息,使可分配的数据页处于内核态写状态;
在内核态将需要向用户态传输的数据写入一个数据页后,该数据页中的数据页状态信息被设置为表征数据页允许被用户态读写的状态信息,使该数据页处于用户态可读写状态;
在用户态从一个数据页中读取数据或者向一个数据页中写入数据时,该数据页中的数据页状态信息被设置为表征数据页正在被用户态读写的状态信息,使该数据页处于用户态正在读写状态;
在用户态从一个数据页中读取数据完成或者向一个数据页中写入数据完成后,该数据页中的数据页状态信息被设置为表征数据页空闲且允许被内核态分配的状态信息,使该数据页处于空闲态;
在内核态针对需要向用户态传输的数据分配数据页且可分配的数据页不足时,所述不足分配的数据页被设置为表征数据页允许被内核态分配且用户态忽略该数据页的状态信息,使该数据页处于空闲忽略态。
5.一种内核态和用户态通讯方法,其中,所述方法包括:
确定内核态需要向用户态传输的待传输数据所需占用共享内存中的数据页的页数;
根据共享内存的数据页中的至少一个数据页状态信息以及所述页数确定出共享内存中存在可供分配的数据页的情况下,针对待传输数据执行数据页写操作,所述数据页中的数据页状态信息为:表征数据页空闲且允许被内核态分配的状态信息、表征数据页已经被内核态分配且内核态正在写入数据的状态信息、表征数据页允许被用户态读写的状态信息、表征数据页正在被用户态读写的状态信息或者表征数据页允许被内核态分配且用户态忽略该数据页的状态信息;
在可供分配的数据页中的第一个数据页写完成,且根据共享内存的控制页中的至少一个用户态状态信息确定出用户态空闲的情况下,向用户态发送读取数据页中的数据的通知,所述控制页中的用户态状态信息为:表征用户态空闲的状态信息、表征用户态繁忙的状态信息或者表征用户态未执行共享内存地址映射的状态信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610526265.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有高推进效率的多自由度扑翼微型飞行器
- 下一篇:一种旋进式类扑翼飞行器