GILK: A Dynamic Instrumentation Tool for the Linux Kernel
This paper describes a dynamic instrumentation tool for the Linux Kernel which allows a stock Linux kernel to be modified while in execution, with instruments implemented as kernel modules. The Intel x86 architecture poses a particular problem, due to variable length instructions, which this paper addresses for the first time. Finally we present a short case study illustrating its use in understanding i/o behaviour in the kernel. The source code is freely available for download.
Unable to display preview. Download preview PDF.
- 1.Ariel Tamches and Barton P. Miller. Fine-grained dynamic instrumentation of commodity operating system kernels. In Operating Systems Design and Implementation, pages 117–130, 1999.Google Scholar
- 3.Ariel Tamches. Fine-Grained Dynamic Instrumentation of Commodity Operating System Kernels. PhD thesis, University of Wisconsin, 2001.Google Scholar
- 4.James R. Larus and Thomas Ball. Rewriting executable files to measure program behavior. Software — Practice and Experience, 24(2):197–218, February 1994.Google Scholar
- 5.James R. Larus and Eric Schnarr. EEL: machine-independent executable editing. ACM SIGPLAN Notices, 30(6):291–300, June 1995.Google Scholar
- 6.Han Bok Lee and Benjamin G. Zorn. BIT: A tool for instrumenting Java bytecodes. In Proceedings of the USENIX Symposium on Internet Technologies and Systems (ITS-97), pages 73–82, Berkeley, December 8–11 1997. USENIX Association.Google Scholar
- 7.Amitabh Srivastava and Alan Eustace. Atom: A system for building customized program analysis tools. ACM SIGPLAN Notices, 29(6):196–205, June 1994.Google Scholar
- 8.Michael Beck et al. Linux kernel internals. Addison-Wesley, Reading, MA, USA, second edition, 1998.Google Scholar
- 9.P. Harrison T. Field, U. Harder. Analysis of network traffic in switched ethernet systems. http://xxx.soton.ac.uk/abs/cs.PF/0107001, 2001.
- 10.Gilk: A dynamic instrumentation tool for the linux kernel, http://www.doc.ic.ac.uk/~djp1/gilk.html