Light-weight kernel instrumentation framework using dynamic binary translation

  • Authors:
  • Dongwoo Lee;Inhyuk Kim;Jeehong Kim;Hyung Kook Jun;Won Tae Kim;Sangwon Lee;Young Ik Eom

  • Affiliations:
  • College of Information and Communication Engineering, Sunkyunkwan University, Suwon, Korea 440-746;College of Information and Communication Engineering, Sunkyunkwan University, Suwon, Korea 440-746;College of Information and Communication Engineering, Sunkyunkwan University, Suwon, Korea 440-746;Software Research Laboratory, Electronics and Telecommunications Research Institute, Daejeon, Korea 305-700;Software Research Laboratory, Electronics and Telecommunications Research Institute, Daejeon, Korea 305-700;College of Information and Communication Engineering, Sunkyunkwan University, Suwon, Korea 440-746;College of Information and Communication Engineering, Sunkyunkwan University, Suwon, Korea 440-746

  • Venue:
  • The Journal of Supercomputing
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Mobile platforms such as Android and iOS, which are based on typical operating systems, have been widely adopted in various computing devices from smart phones even to smart TVs. Along with this, the necessity of kernel instrumentation framework has also grown up for efficient development and debugging of a kernel itself and its components. Although the existing approaches are providing some information about the kernel state including physical register value and primitive memory map, it is hard for the developers to understand and exploit the information. Moreover, the excessive analysis overhead in the existing approach makes them impractical to be used in real systems. Meanwhile, there have been a few studies on analyzing the user-level applications using dynamic binary translation and they are now widely used. In this paper, by extending this idea of dynamic binary translation for user-level applications to the kernel, we propose a new dynamic kernel instrumentation framework. Our framework focuses on the modules such as device drivers, rather than the kernel itself, since the modules comprise a large portion of OS development. Because of the frequent execution of kernel modules, the dynamic kernel instrumentation framework should guarantee the quality of the translated target code. However, costly optimizations to achieve high execution performance are rather harmful to the overall performance. Therefore, in order to improve performance of both translations, we suggest light-weight translator based on pseudo-machine instruction representation and tabular-base translation instead of typical intermediate representation. We implement our framework on Linux system, and our experimental evaluations show that it could quite effectively instrument the target with nominal overhead.