loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
International Symposium on Code Generation and Optimization (CGO'07)
Code Compaction of an Operating System Kernel
San Jose, California
March 11-March 14
ISBN: 0-7695-2764-7
Haifeng He, University of Arizona, Tucson, AZ
John Trimble, University of Arizona, Tucson, AZ
Somu Perianayagam, University of Arizona, Tucson, AZ
Saumya Debray, University of Arizona, Tucson, AZ
Gregory Andrews, University of Arizona, Tucson, AZ
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 significant amount of hand-written assembly code, multiple entry points, implicit control flow paths involving interrupt handlers, and frequent indirect control flow 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 configured to exclude unnecessary code, obtains a code size reduction of close to 24%.
Citation:
Haifeng He, John Trimble, Somu Perianayagam, Saumya Debray, Gregory Andrews, "Code Compaction of an Operating System Kernel," cgo, pp.283-298, International Symposium on Code Generation and Optimization (CGO'07), 2007
Usage of this product signifies your acceptance of the Terms of Use.