Memory Footprint Reduction with Quasi-Static Shared Libraries in MMU-less Embedded Systems

  • Authors:
  • Jaesoo Lee;Jiyong Park;Seongsoo Hong

  • Affiliations:
  • Seoul National University, South Korea;Seoul National University, South Korea;Seoul National Unversity, South Korea

  • Venue:
  • RTAS '06 Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Despite a rapid decrease in the price of solid state memory devices, system memory is still a very precious resource in embedded systems. The use of shared libraries is known to be effective in significantly reducing memory usage. Unfortunately, many resource-constrained embedded systems lack MMU, making it extremely difficult to support this technique. To address this problem, we propose a novel shared library scheme called the quasi-static shared library. In quasi-static shared libraries, global symbols are bound to pseudo-addresses at linking time and the actual physical addresses are bound at loading time. This scheme is made possible by emulating MMU's memory mapping feature with a Data Section Base Register (DSBR) and a Data Section Base Table (DSBT). Quasi-static shared libraries do not require symbol tables which take up time and space at runtime. We have implemented the proposed scheme in a commercial ADSL (Asymmetric Digital Subscriber Line) home network gateway and conducted a series of experiments measuring its memory usage and performance overhead. The result is drastic: a 35% reduction in flash memory usage and a 10% reduction in RAM usage. These results were achieved with only a negligible performance penalty of less than 4%. Even though this scheme was applied to uClinux-based embedded systems, it can be used for any MMU-less real-time operating system.