J4 ›› 2012, Vol. 34 ›› Issue (5): 78-83.
刘晓建,任 怡,戴华东
LIU Xiaojian,REN Yi,DAI Huadong
摘要:
在系统不重启的情况下对操作系统进行缺陷修复对于保障服务器系统的性能、安全和可用性等方面具有重要意义。因传统操作系统并未针对在线更新进行实现,现有在线更新技术不能较好地处理被更新代码正处于“使用中”状态的问题,导致在有些场景下无法进行在线更新。本文针对这一问题,设计了一种用于传统操作系统的代码使用计数动态监测技术,通过将原始函数二进制码替换为与其对等的计数副本,以及修改相关线程的内核栈上返回地址,实现对于被更新代码执行情况的监测,从而发现可进行在线更新的时机。最后,本文基于开源的动态升级软件ksplice验证了上述工作的有效性。