期刊文献+

基于计数副本的传统操作系统代码空闲状态监测技术

A Counting-Copy-Based Commodity Operating System Code Quiescent Detection Mechanism
下载PDF
导出
摘要 在系统不重启的情况下对操作系统进行缺陷修复对于保障服务器系统的性能、安全和可用性等方面具有重要意义。因传统操作系统并未针对在线更新进行实现,现有在线更新技术不能较好地处理被更新代码正处于"使用中"状态的问题,导致在有些场景下无法进行在线更新。本文针对这一问题,设计了一种用于传统操作系统的代码使用计数动态监测技术,通过将原始函数二进制码替换为与其对等的计数副本,以及修改相关线程的内核栈上返回地址,实现对于被更新代码执行情况的监测,从而发现可进行在线更新的时机。最后,本文基于开源的动态升级软件ksplice验证了上述工作的有效性。 For high availability systems, it is desirable to fix the discovered operating system security holes and other bugs, and do performance improvement without rebooting. However, as commodity op erating syslems are usually implemented without keeping the hot update issue in mind, when the code to be updated is frequently used by the kernel, hot update may fail due to finding no safe point, even if there do exist occasions that the code are not in use. In this article, a code reference monitoring mecha- nism is introduced to solve this problem. In order to safely add reference counting to the functions which are to be updated, each function is replaced by its counting counterpart. For the threads that are using these functions, their stacks are adjusted to make the function replacement safe, and to make these threads callback the code reference maintenance routine as soon as they leave these functions. Finally, experiments are conducted on Ksplice, an open source Linux hot updating software, to verify the effec tiveness of study.
出处 《计算机工程与科学》 CSCD 北大核心 2012年第5期78-83,共6页 Computer Engineering & Science
基金 国家863计划资助项目(2008AA01Z138 2009AA01Z101)
关键词 在线更新 动态升级 传统操作系统 可用性 hot update dynamic software update commodity operating system availability
  • 相关文献

参考文献10

  • 1Wang H J, Guo Chuanxiong, Simon D R, et al. Shield: Vul nerability Driven Network Filters for Preventing Known Vul- nerability Exploits[C]//Proc of the 2004 ACM SIGCOMM Conference, 2004 : 193-204.
  • 2Baumann A, Appavoo J, Da Silva D, et al. Improving Oper ating System Availability With Dynamic Update[C]//Proc of OASIS' 04,2004 : 21-27.
  • 3Soules C A N, Appavoo J, Hui K, et al. System Support for Online Reconfiguration[C]//Proc of Usenix, 2003:141-154.
  • 4Baumann A, Kerr J, Appavoo J, et al. Module Hot-Swap- ping for Dynamic Update and Reconfiguration in K42 [C]// Proc of the 6th Linux Conference,2005.
  • 5Tamches A, Miller B P. Fine-gralned Dynamic Instrurnenta- tion of Commodity Operating System Kernels[C]//Proc of Operating Systems Design and Implementation, 1999: 117- 130.
  • 6Hollingsworth J K, Miller B P, Cargille J. Dynamic Program Instrumentation for Scalable Performance Tools[C]//Proc of Scalable High Performance Computing Conference, 1994: 841-850.
  • 7Hollingsworth J K,Miller B P,Goncalves M J R,et al. MDL A Language and Compiler for Dynamic Program Instrumen tation[C]//Proc of International Conference on Parallel Ar chitectures and Compilation Techniques, San Francisco 1997:201-212.
  • 8Frans K M, Arnold J B. Ksplice: Automatic Rebootless Kernel Updates[C]//Proc of the 4th ACM European Confer- ence on Computer Systems, 2009:187-198.
  • 9Altekar P B G, Bagrak I, Schultz A. OPUS: Online Patches and Updates for Security[C]//Proc of the 14th USENIX Se- curity Symposium, Baltimore, 2005:287-302.
  • 10Williams C C, Hollingsworth J K. Interactive Binary Instru- mentation[C]//Proc of the Second International Workshop on Remote Analysis and Measurement of Software Systems (RAMSS 04) ,2004:25-28.

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部