[发明专利]内核装置模块的实时更新在审
| 申请号: | 201980028617.5 | 申请日: | 2019-04-26 |
| 公开(公告)号: | CN112041812A | 公开(公告)日: | 2020-12-04 |
| 发明(设计)人: | 凯利·唐纳德·克拉克·齐塔鲁克 | 申请(专利权)人: | ATI科技无限责任公司 |
| 主分类号: | G06F8/656 | 分类号: | G06F8/656;G06F9/455;G06F9/46 |
| 代理公司: | 上海胜康律师事务所 31263 | 代理人: | 樊英如;张华 |
| 地址: | 加拿大*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 内核 装置 模块 实时 更新 | ||
公开了用于实现实时装置驱动程序更新的系统、设备和方法。当处理器加载给定版本的装置驱动程序时,所述给定版本向代理模块注册,而不是向操作系统注册。如果先前版本的装置驱动程序已经在运行,则所述代理模块为所述给定版本提供指向所述先前版本的指针。所述给定版本使用所述指针从所述先前版本中检索静态数据。在使所述先前版本静默后,所述给定版本从所述先前版本中检索瞬态数据,然后接任作为所述装置驱动程序的运行版本。后续版本的装置驱动程序能够以类似方式替换先前版本。同样,在降级的情况下,先前版本的装置驱动程序能够以类似方式替换后续版本。
背景技术
相关技术说明
错误修复或安全补丁会定期应用于实时生产内核模块代码库。在一些计算环境中,这些补丁将导致操作环境中断。例如,云服务提供商(CSP)在具有成千上万台主机的实时生产环境中运行各种软件模块。大型CSP将用户踢出主机以便安装更新后版本的内核装置模块(即,装置驱动程序)是不切实际的。等待所有用户自行注销也是不可行的。
附加地,尝试在运行对应装置时替换正在运行的内核装置模块(或简称为模块)可能是一项挑战。卸载和重新加载模块的行为可能会导致丢失状态的情景。一个问题是,新模块将不了解旧模块留下的状态。在已卸载旧模块并开始加载新模块之后的一段时间期间,将没有驱动程序管理装置。装置的任何活动或状态更改都将丢失。
附图说明
通过结合附图参考以下描述,可更好地理解本文中描述的方法和机制的优点,在附图中:
图1是计算系统的一个实现方式的框图。
图2是服务器的虚拟环境的一个实现方式的框图。
图3示出了计算系统的一个实现方式的框图。
图4示出了计算系统的一个实现方式的框图。
图5示出了计算系统的一个实现方式的框图。
图6示出了计算系统的一个实现方式的框图。
图7示出了OS、代理模块和内核装置模块之间的交互的一个实现方式的序列图。
图8示出了在加载新的内核装置模块时交互的一个实现方式的序列图。
图9示出了在加载新的内核装置模块时交互的一个实现方式的序列图。
图10示出了使现有内核装置模块版本静默的一个实现方式的序列图。
图11是示出用于加载内核装置模块的方法的一个实现方式的通用流程图。
图12是示出用于使第一版本的装置驱动程序静默以便将装置的控制权从第一版本的装置驱动程序转移到第二版本的装置驱动程序的方法的一个实现方式的通用流程图。
具体实施方式
在以下描述中,阐述了众多特定细节以提供对本文呈现的方法和机制的透彻理解。然而,本领域普通技术人员应认识到,可在没有这些具体细节的情况下实践各种实现方式。在一些情况下,并未详细示出众所周知的结构、部件、信号、计算机程序指令和技术,以避免混淆本文描述的方法。应当理解,为了说明的简单和清楚起见,附图中所示的元件不一定按比例绘制。例如,一些元件的尺寸可相对于其他元件被放大。
本文公开了用于执行内核装置模块的实时更新的各种系统、设备和方法。在一个实现方式中,代理模块被加载到系统上,其中代理模块为两个不同版本的内核装置模块提供注册和通信点。在一个实现方式中,代理模块和内核装置模块是可加载的内核模块。当控制权从第一版本的内核装置模块转移到第二版本的内核装置模块时,代理模块在同时激活两个版本的可加载内核模块时执行无法复制或释放的驱动程序活动。在一个实现方式中,代理模块执行的活动包括但不限于装置注册、输入输出控制(IOCTL)调用、sysfs调用以及其他活动。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ATI科技无限责任公司,未经ATI科技无限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980028617.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:相机设备、图像处理方法和相机系统
- 下一篇:抗S100A8/A9抗体及其用途





