[发明专利]用于内核态和用户态通讯的共享内存结构及其应用有效
申请号: | 201610526265.4 | 申请日: | 2016-07-05 |
公开(公告)号: | CN107577539B | 公开(公告)日: | 2021-03-16 |
发明(设计)人: | 王行宫阝 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京展翅星辰知识产权代理有限公司 11693 | 代理人: | 王文生 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 内核 用户 通讯 共享 内存 结构 及其 应用 | ||
本申请提供了一种用于内核态和用户态通讯共享内存结构及其应用,其中的共享内存结构包括:所述共享内存被划分为多个内存片;所述多个内存片中的其中一个内存片为存储有用户态状态信息的控制页,且其余内存片为数据页;每一个数据页均包括:第一区域和第二区域,所述第一区域用于存储针对内核态和用户态通讯数据的数据页分配信息以及数据页状态信息,所述第二区域用于存储内核态和用户态的通讯数据。本申请的提供的技术方案提高了共享内存的性能,并提高了内核态和用户态的通讯性能。
技术领域
本申请涉及通讯技术,尤其涉及一种用于内核态和用户态通讯的共享内存结构、内核态和用户态通讯方法、内核态和用户态通讯装置以及数据存取系统。
背景技术
共享内存由于其可以有效避免通讯过程中的数据全量拷贝等问题,而被广泛应用于内核态和用户态之间通讯应用中,即内核态和用户态通过共享内存实现通讯。
目前,基于共享内存实现内核态和用户态之间通讯的方式通常为:内核态(如内核态进程)在完成共享内存写操作后,通过系统调用来通知用户态(如用户态进程)读取共享内存中的相应数据,用户态根据内核态的通知读取共享内存中的相应数据;另外,用户态是通过信号量或者互斥锁来访问共享内存的,如持有信号量或互斥锁的线程才可以访问共享内存,且在共享内存访问结束后释放其所持有的信号量或互斥锁(如通过调用Syscall等来使线程持有信号量或释放信号量)。
发明人在实现本申请过程中发现,为了保证通讯过程中的共享内存中的数据同步,内核态必须在完成写操作后才能够通知用户态读取共享内存中的数据,这使得内核态和用户态的读写操作不能够并发执行;另外,内核态在每次完成写操作后均需要通知用户态读取共享内存中的数据,在需要通讯的数据量较大而单次传输的数据量较小时,通知(如包含数据读取位置等信息的通知)自身所消耗的系统资源较大,且对用户态的信号量以及互斥锁的管理(如使用户态线程持有或释放信号量/互斥锁)所消耗的系统资源也会随之大幅度上升,有时甚至会相当于或者超过通讯过程中的数据全量拷贝所消耗的系统资源。
发明内容
本申请的目的是提供一种用于内核态和用户态通讯的共享内存结构、内核态和用户态通讯方法以及内核态和用户态通讯装置。
根据本申请提供的一个方面,提供了一种用于内核态和用户态通讯的共享内存结构,包括:所述共享内存被划分为多个内存片;所述多个内存片中的其中一个内存片为存储有用户态状态信息的控制页,且其余内存片为数据页;每一个数据页均包括:第一区域和第二区域,所述第一区域用于存储针对内核态和用户态通讯数据的数据页分配信息以及数据页状态信息,所述第二区域用于存储内核态和用户态的通讯数据。
根据本申请提供的另一个方面,还提供了一种内核态和用户态通讯方法,该方法包括:确定内核态需要向用户态传输的待传输数据所需占用共享内存中的数据页的页数;根据共享内存的数据页中的数据页状态信息以及所述页数确定出共享内存中存在可供分配的数据页的情况下,针对待传输数据执行数据页写操作;在可供分配的数据页中的第一个数据页写完成,且根据共享内存的控制页中的用户态状态信息确定出用户态空闲的情况下,向用户态发送读取数据页中的数据的通知;其中,所述共享内存具有上述共享内存结构。
根据本申请提供的再一个方面,还提供了一种内核态和用户态通讯装置,该装置包括:确定页数模块,用于确定内核态需要向用户态传输的待传输数据所需占用共享内存中的数据页的页数;内核态写模块,用于根据共享内存的数据页中的数据页状态信息以及所述页数确定出共享内存中存在可供分配的数据页的情况下,针对待传输数据执行数据页写操作;通知模块,用于在可供分配的数据页中的第一个数据页写完成,且根据共享内存的控制页中的用户态状态信息确定出用户态空闲的情况下,向用户态发送读取数据页中的数据的通知。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610526265.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有高推进效率的多自由度扑翼微型飞行器
- 下一篇:一种旋进式类扑翼飞行器