[发明专利]一种用户态驱动与内核态驱动的协同工作系统及方法在审
申请号: | 202011640863.7 | 申请日: | 2020-12-31 |
公开(公告)号: | CN112732344A | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 刘家杰 | 申请(专利权)人: | 普华基础软件股份有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F9/445 |
代理公司: | 上海申新律师事务所 31272 | 代理人: | 竺路玲 |
地址: | 200030 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用户 驱动 内核 协同 工作 系统 方法 | ||
本发明涉及计算机操作系统领域,特别涉及到一种用户态驱动与内核态驱动的协同工作系统及方法。协同工作系统包括一用户态驱动,一内核态驱动以及一可加载内核模块,可加载内核模块向用户态驱动提供一操作接口,可加载内核模块用于根据内核态驱动的请求注册对应的字符设备并创建关联的属性文件,以及向用户态驱动提供字符设备和属性文件,以供用户态驱动通过操作字符设备的方式调用对应的内核态驱动中的驱动部分数据。本发明的技术方案有益效果在于:提供一种用户态驱动与内核态驱动的协同工作系统及方法,能够实现的用户态驱动与内核态驱动协同处理,共同完成和硬件的交互,可大大简化驱动开发和维护过程,提高内核的稳定性和可靠性。
技术领域
本发明涉及计算机操作系统领域,特别涉及到一种用户态驱动与内核态驱动的协同工作系统及方法。
背景技术
随着计算机技术的发展,Linux不再局限于应用于服务器和终端系统领域,在移动设备上也逐渐被广泛应用。但外设问题一直是影响Linux系统发展的一个重要因素,其原因主要是因为Linux下驱动开发复杂,并且要求遵守GPL协议公开源码,导致一些设备厂商在驱动开发方面的动力不足。
如今,内核中设备驱动代码所占比例越来越大,特别是企业自行移植和开发的驱动,当这些驱动出现问题时,例如发生非法内存访问,将可能导致整个系统崩溃。研究证明,Linux下驱动导致系统崩溃的可能性是其它内核的3到7倍。
目前,为了提高驱动的健壮性和可靠性,国内外相关领域进行了多种研究,如用户态驱动。通过把驱动做为一个用户进程来运行的方式,其典型实现有Minix系统。Minix系统是一种基于微内核架构的操作系统,内核中仅仅包括进程管理、内存管理等关键部分,而其他模块均作为一个模块化的用户空间进程,包括设备驱动。诸如这类的实现,不可避免的存在性能降低的问题,因此也一直无法得到大规模的应用。而又如Linux中的UIO,并不支持用户空间下的DMA(Direct Memory Access,直接内存存取),这限制了其在需要DMA支持的设备上的应用。因此,如何能更好的兼顾性能和稳定性,完整的支持硬件设备功能,一直是Linux用户态驱动程序设计的一个主要研究方向。
发明内容
针对现有技术中存在的上述问题,现提供一种用户态驱动与内核态驱动的协同工作系统及方法。
其中,一种用户态驱动与内核态驱动的协同工作系统,应用于Linux系统;所述协同工作系统包括一用户态驱动以及一内核态驱动,所述用户态驱动位于所述Linux系统的用户空间,并提供一包括所有设备的驱动程序的共有部分数据的共享库,所述内核态驱动位于所述Linux系统的内核空间,并提供各个设备所特有的驱动程序数据;
所述协同工作系统还包括:
一可加载内核模块,设置于所述内核空间并连接所述内核态驱动,所述可加载内核模块还向所述用户态驱动提供一操作接口,所述可加载内核模块用于根据所述内核态驱动的请求注册对应的字符设备并创建关联的属性文件,以及向所述用户态驱动提供所述字符设备和所述属性文件,以供所述用户态驱动通过操作所述字符设备的方式调用对应的所述内核态驱动中的所述驱动部分数据。
优选的,所述可加载内核模块中包括:
一处理单元,用于根据所述内核态驱动的请求于所述属性文件内写入对应的物理地址;
所述用户态驱动获取所述物理地址并进行转换,以调用对应的所述内核态驱动中的所述驱动部分数据。
优选的,所述用户态驱动获取所述物理地址并进行物理地址与虚拟地址之间的转换,以调用对应的所述内核态驱动中的所述驱动部分数据。
一种驱动协同工作方法,应用于Linux系统;所述协同工作系统包括一用户态驱动以及一内核态驱动,所述用户态驱动位于所述Linux系统的用户空间,并提供一包括所有设备的驱动程序的共有部分数据的共享库,所述内核态驱动位于所述Linux系统的内核空间,并提供各个设备所特有的驱动程序数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于普华基础软件股份有限公司,未经普华基础软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011640863.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动锁螺杆组件
- 下一篇:一种鼠标抖动控制方法及装置