1999 · 164 citations · 55 references
ComputingComputer ScienceComputer SystemsExperimental PerformanceOperating SystemsSystems ProgrammingCachingKernel ArchitectureKernel DesignKernel ProgrammingApplication-level PerformanceCode CoverageKernel DebuggingKernel InstrumentationKernel ProfilingPerformance ProfilingRuntime OptimizationSystem Profiling
Operating system kernel code is generally immutable. This trend is unfortunate, because a kernel that can insert (and later remove) code at run-time has many uses, including performance measurement, debugging, code coverage, run-time installation of patches, and run-time optimizations. The research in this dissertation investigates dynamic (run-time) kernel instrumentation and its applications in the areas of kernel profiling and code evolution. We have implemented dynamic kernel instrumentation, a kernel performance monitor, and a run-time kernel optimizer in a system called KernInst. The first component of this dissertation investigates fine-grained dynamic kernel instrumentation, a technology to dynamically modify kernel code. We have designed two primitives for runtime kernel code modification, splicing, which inserts instrumentation code, and code replacement, which replaces a function's code. A part of the KernInst system called kerninstd implements fine-grained dynamic instrume...
55
George C. Necula · 1997 · 1.8K citations
Efficient software-based fault isolation
Robert Wahbe, Steven Lucco, Thomas E. Anderson et al. · 1993 · 1.2K citations · Full text
Dawson Engler, M. Frans Kaashoek, James W. O’Toole · 1995 · 1.1K citations
Amitabh Srivastava, Alan Eustace · 1994 · 1K citations · Full text
Extensibility safety and performance in the SPIN operating system
Brian N. Bershad, Stefan Savage, Przemysław Pardyak et al. · 1995 · 955 citations