Hotswapping Linux kernel modules

被引:6
作者
Lee, YF [1 ]
Chang, RC [1 ]
机构
[1] Natl Chiao Tung Univ, Dept Comp & Informat Sci, Hsinchu 30050, Taiwan
关键词
dynamic software update; hotswapping; Linux kernel; module; operating system;
D O I
10.1016/j.jss.2005.05.011
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Contemporary operating system kernels are able to improve their functionality by installing kernel extensions at runtime. However, when an existing kernel extension needs to be upgraded, it must be completely removed before the new kernel extension is installed. Consequently, the new kernel extension needs to be run from the beginning, which also influences the applications using this kernel extension. This work describes the design and implementation of a Linux module system that supports hotswapping, in which a module can be replaced while it is in use. Rather than completely removing the old module, the new module can inherit the state held by the old module so the dependent applications are not affected. For example, a Linux file system module can be hotswapped without unmounting the corresponding partitions and terminating the applications that use these partitions. The proposed system is implemented on Linux kernel 2.6.11. Existing modules can be loaded into the hotswap system without change and can be hotswapped by changing only a few lines. Additionally, the hotswap system does not impose any runtime overhead on module invocations. (C) 2005 Elsevier Inc. All rights reserved.
引用
收藏
页码:163 / 175
页数:13
相关论文
共 28 条
  • [1] ALMEIDA JPA, 2001, THESIS U TWENTE NETH
  • [2] [Anonymous], P WORKSH ENG COMPL O
  • [3] ARNOLD B, 2000, JAVA PROGRAMMING LAN
  • [4] Bershad B.N., 1995, P 15 ACM S OP SYST P, P267
  • [5] BLOOM T, 1983, THESIS MIT
  • [6] Bovet Daniel P., 2002, Understanding the Linux Kernel
  • [7] COSTANZA P, 2001, P WORKSH ENG COMPL O
  • [8] ENGLER DR, 1995, P 15 ACM S OP SYST P, P251
  • [9] Fassino JP, 2002, USENIX ASSOCIATION PROCEEDINGS OF THE GENERAL TRACK, P73
  • [10] HICKS M, 2001, P ACM SIGPLAN C PROG, P13