Code Compaction of an Operating System Kernel

9 years 4 months ago
Code Compaction of an Operating System Kernel
General-purpose operating systems, such as Linux, are increasingly being used in embedded systems. Computational resources are usually limited, and embedded processors often have a limited amount of memory. This makes code size especially important. This paper describes techniques for automatically reducing the memory footprint of general-purpose operating systems on embedded platforms. The problem is complicated by the fact that kernel code tends to be quite different from ordinary application code, including the presence of a signicant amount of hand-written assembly code, multiple entry points, implicit control ow paths involving interrupt handlers, and frequent indirect control ow via function pointers. We use a novel “approximate decompilation” technique to apply source-level program analysis to hand-written assembly code. A prototype implementation of our ideas on an Intel x86 platform, applied to a Linux kernel that has been congured to exclude unnecessary code,...
Haifeng He, John Trimble, Somu Perianayagam, Saumy
Added 02 Jun 2010
Updated 02 Jun 2010
Type Conference
Year 2007
Where CGO
Authors Haifeng He, John Trimble, Somu Perianayagam, Saumya K. Debray, Gregory R. Andrews
Comments (0)