Module Hot-Swapping for Dynamic Update and Reconfiguration in K42

  • Andrew Baumann ,
  • Jeremy Kerr ,
  • Jonathan Appavoo ,
  • Dilma Da Silva ,
  • Orran Krieger ,
  • Robert W. Wisniewski

Proceedings of the 6th Linux.Conf.Au |

K42 is an open-source research OS for 64-bit multiprocessor systems, focusing on the PowerPC® architecture. It uses an object-oriented design to achieve good performance, scalability, customisability, and maintainability. K42 supports the Linux® API and ABI allowing it to use unmodified Linux applications and libraries, and can be deployed by running on an existing installation of Linux. The development process of K42 is intended to share concepts with Linux; many ideas have been transferred between the two projects. K42 implements each system resource (such as an open file or process) as a set of unique object instances, and supports hot-swapping, which allows these objects to be changed on-the-fly. This enables dynamic reconfiguration and adaptability of the system, and when combined with a kernel module loader, supports dynamic update and hot patching of the OS. Examples of this might include dynamically adapting to file access patterns, or replacing insecure code in the network stack without downtime. In this paper we will introduce K42, discuss its hot-swapping capability, and suggest possible ways in which this technology could benefit Linux.