• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

J4 ›› 2012, Vol. 34 ›› Issue (5): 78-83.

• 论文 • Previous Articles     Next Articles

A CountingCopyBased Commodity Operating System Code Quiescent Detection Mechanism

LIU Xiaojian,REN Yi,DAI Huadong   

  1. (School of Computer Science,National University of Defense Technology,Changsha 410073,China)
  • Received:2010-03-17 Revised:2010-08-03 Online:2012-05-25 Published:2012-05-25

Abstract:

or 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 operating systems 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 mechanism 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 effectiveness of this study.

Key words: hot update;dynamic software update;commodity operating system;availability