The revenge of the overlay: Automatic compaction of OS kernel code via on-demand code loading

Haifeng He, Saumya K. Debray, Gregory R. Andrews

Research output: Chapter in Book/Report/Conference proceedingConference contribution

7 Scopus citations

Abstract

There is increasing interest in using general-purpose operating systems, such as Linux, on embedded platforms. It is especially important in embedded systems to use memory efficiently because embedded processors often have limited physical memory. This paper describes an automatic technique for reducing the memory footprint of general-purpose operating systems on embedded platforms by keeping infrequently executed code on secondary storage and loading such code only if it is needed at run time. Our technique is based on an old idea - memory overlays - and it does not require hardware or operating system support for virtual memory. A prototype of the technique has been implemented for the Linux kernel. We evaluate our approach with two benchmark suites: MiBench and MediaBench, and a Web server application. The experimental results show that our approach reduces memory requirements for the Linux kernel code by about 53% with little degradation in performance.

Original languageEnglish (US)
Title of host publicationEMSOFT'07
Subtitle of host publicationProceedings of the Seventh ACM and IEEE International Conference on Embedded Software
Pages75-83
Number of pages9
DOIs
StatePublished - 2007
EventEMSOFT'07: 7th ACM and IEEE International Conference on Embedded Software - Salzburg, Australia
Duration: Sep 30 2007Oct 3 2007

Publication series

NameEMSOFT'07: Proceedings of the Seventh ACM and IEEE International Conference on Embedded Software

Other

OtherEMSOFT'07: 7th ACM and IEEE International Conference on Embedded Software
Country/TerritoryAustralia
CitySalzburg
Period9/30/0710/3/07

Keywords

  • Binary rewriting
  • Code clustering
  • Code compaction
  • Embedded systems

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'The revenge of the overlay: Automatic compaction of OS kernel code via on-demand code loading'. Together they form a unique fingerprint.

Cite this