{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:33:39Z","timestamp":1750307619580,"version":"3.41.0"},"reference-count":44,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2008,12,1]],"date-time":"2008-12-01T00:00:00Z","timestamp":1228089600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2008,12]]},"abstract":"<jats:p>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 and execution-in-place (XIP) is known to be effective in significantly reducing memory usage. Unfortunately, many resource-constrained embedded systems lack an MMU, making it extremely difficult to support these techniques. To address this problem, we propose a novel shared library technique called a quasi-static shared library and an XIP, both based on our enhanced position independent code technique. In our quasistatic shared libraries, global symbols are bound to pseudoaddresses at linking time and actual physical addresses are bound at loading time. Unlike conventional shared libraries, they do not require symbol tables that take up valuable memory space and, therefore, allow for expedited address translation at runtime. Our XIP technique is facilitated by our enhanced position independent code where a data section can be arbitrarily located. Both the shared library and XIP techniques are made possible by emulating an MMU's memory mapping feature with a data section base register (DSBR) and a data section base table (DSBT).<\/jats:p>\n          <jats:p>We have implemented these proposed techniques in a commercial ADSL (Asymmetric Digital Subscriber Line) home network gateway equipped with an MMU-less ARM7TDMI processor core, 2MB flash memory, and 16MB RAM. We measured its memory usage and evaluated its performance overhead by conducting a series of experiments. These experiments clearly demonstrate the effectiveness of our techniques in reducing memory usage. The results are impressive: 35% reduction in flash memory usage when using only the shared library and 30% reduction in RAM usage when using the shared library and XIP together. These results were achieved with only a negligible performance penalty of less than 4%. Even though these techniques were applied to uClinux-based embedded systems, they can be used for any MMU-less real-time operating system.<\/jats:p>","DOI":"10.1145\/1457246.1457252","type":"journal-article","created":{"date-parts":[[2009,1,7]],"date-time":"2009-01-07T15:50:36Z","timestamp":1231343436000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Quasistatic shared libraries and XIP for memory footprint reduction in MMU-less embedded systems"],"prefix":"10.1145","volume":"8","author":[{"given":"Jiyong","family":"Park","sequence":"first","affiliation":[{"name":"Seoul National University, Seoul, South Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jaesoo","family":"Lee","sequence":"additional","affiliation":[{"name":"Seoul National University, Seoul, South Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Saehwa","family":"Kim","sequence":"additional","affiliation":[{"name":"Hankuk University of Foreign Studies, Gyeonggido, South Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Seongsoo","family":"Hong","sequence":"additional","affiliation":[{"name":"Seoul National University, Seoul, South Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2009,1,4]]},"reference":[{"unstructured":"Advanced Risc Machines Ltd. 1995. An introduction to THUMB. http:\/\/www.cse.unsw.edu.au\/~pcb\/LPC210x\/Thumb_intro.pdf.  Advanced Risc Machines Ltd. 1995. An introduction to THUMB. http:\/\/www.cse.unsw.edu.au\/~pcb\/LPC210x\/Thumb_intro.pdf.","key":"e_1_2_1_1_1"},{"unstructured":"Advanced Risc Machines Ltd. 2003. Procedure call standard for the ARM architecture. http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.ihi0042c\/IHI0042C_aapcs.pdf.  Advanced Risc Machines Ltd. 2003. Procedure call standard for the ARM architecture. http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.ihi0042c\/IHI0042C_aapcs.pdf.","key":"e_1_2_1_2_1"},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of the USENIX Summer Conference. USENIX","author":"Arnold J.","year":"1986","unstructured":"Arnold , J. 1986 . Shared libraries on UNIX System V . In Proceedings of the USENIX Summer Conference. USENIX , Berkeley, CA. Arnold, J. 1986. Shared libraries on UNIX System V. In Proceedings of the USENIX Summer Conference. USENIX, Berkeley, CA."},{"doi-asserted-by":"publisher","key":"e_1_2_1_4_1","DOI":"10.1145\/1176760.1176777"},{"volume-title":"Proceedings of the 3rd USENIX Conference on File and Storage Technologies. USENIX","author":"Bansal S.","unstructured":"Bansal , S. and Modha , D . 2004. CAR: clock with adaptive replacement . In Proceedings of the 3rd USENIX Conference on File and Storage Technologies. USENIX , Berkeley, CA, 187--200. Bansal, S. and Modha, D. 2004. CAR: clock with adaptive replacement. In Proceedings of the 3rd USENIX Conference on File and Storage Technologies. USENIX, Berkeley, CA, 187--200.","key":"e_1_2_1_5_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_6_1","DOI":"10.1109\/5992.947112"},{"volume-title":"Proceedings of the Conference on Design, Automation and Test in Europe. IEEE","author":"Benini L.","unstructured":"Benini , L. , Bruni , D. , Macii , A. , and Macii , E . 2002. Hardware-assisted data compression for energy minimization in systems with embedded processors . In Proceedings of the Conference on Design, Automation and Test in Europe. IEEE , Los Alamitos, CA, 449--453. Benini, L., Bruni, D., Macii, A., and Macii, E. 2002. Hardware-assisted data compression for energy minimization in systems with embedded processors. In Proceedings of the Conference on Design, Automation and Test in Europe. IEEE, Los Alamitos, CA, 449--453.","key":"e_1_2_1_7_1"},{"doi-asserted-by":"crossref","unstructured":"Bingham J. A. C. 2001. ADSL VDSL and Multicarrier Modulation. John Wiley &amp; Sons New York.   Bingham J. A. C. 2001. ADSL VDSL and Multicarrier Modulation. John Wiley &amp; Sons New York.","key":"e_1_2_1_8_1","DOI":"10.1002\/0471200727"},{"unstructured":"Cadenux. 2002. Cadenux XFLAG shared libraries. http:\/\/www.cadenux.com\/xflat\/.  Cadenux. 2002. Cadenux XFLAG shared libraries. http:\/\/www.cadenux.com\/xflat\/.","key":"e_1_2_1_9_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_10_1","DOI":"10.1109\/TC.2002.1017699"},{"unstructured":"Choudhuri S. and Givargis T. 2005. Software virtual memory management for MMU-less embedded systems. Tech. rep. 05-16. University of California Irvine.  Choudhuri S. and Givargis T. 2005. Software virtual memory management for MMU-less embedded systems. Tech. rep. 05-16. University of California Irvine.","key":"e_1_2_1_11_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_12_1","DOI":"10.1002\/(SICI)1097-024X(20000425)30:5%3C567::AID-SPE312%3E3.3.CO;2-Q"},{"volume-title":"Proceedings of the USENIX Conference. USENIX","author":"Gingell R.","unstructured":"Gingell , R. , Lee , M. , Dang , X. , and Weeks , M . 1987. Shared libraries in SunOS . In Proceedings of the USENIX Conference. USENIX , Berkeley, CA. Gingell, R., Lee, M., Dang, X., and Weeks, M. 1987. Shared libraries in SunOS. In Proceedings of the USENIX Conference. USENIX, Berkeley, CA.","key":"e_1_2_1_13_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_14_1","DOI":"10.1145\/55364.55407"},{"volume-title":"Proceedings of USENIX Annual Technical Conference. USENIX","author":"Jiang S.","unstructured":"Jiang , S. , Chen , F. , and Zhang , X . 2005. CLOCK-Pro: an effective improvement of the CLOCK replacement . In Proceedings of USENIX Annual Technical Conference. USENIX , Berkeley, CA. Jiang, S., Chen, F., and Zhang, X. 2005. CLOCK-Pro: an effective improvement of the CLOCK replacement. In Proceedings of USENIX Annual Technical Conference. USENIX, Berkeley, CA.","key":"e_1_2_1_15_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_16_1","DOI":"10.1145\/301453.301487"},{"doi-asserted-by":"publisher","key":"e_1_2_1_17_1","DOI":"10.1109\/RTAS.2006.26"},{"doi-asserted-by":"publisher","key":"e_1_2_1_18_1","DOI":"10.1145\/337292.337423"},{"unstructured":"Levine J. R. 2000. Linkers and Loaders. Morgan Kaufmann San Francisco CA.   Levine J. R. 2000. Linkers and Loaders. Morgan Kaufmann San Francisco CA.","key":"e_1_2_1_19_1"},{"volume-title":"Proceedings of the 25th Annual Hawaii International Conference on System Sciences (HICSS'25)","author":"Mahlke S.","unstructured":"Mahlke , S. , Chen , W. , Chang , P. , and Hwu , W . 1992. Scalar program performance on multiple-instruction-issue processors with a limited number of registers . In Proceedings of the 25th Annual Hawaii International Conference on System Sciences (HICSS'25) . IEEE, Los Alamitos, CA, 1--2. Mahlke, S., Chen, W., Chang, P., and Hwu, W. 1992. Scalar program performance on multiple-instruction-issue processors with a limited number of registers. In Proceedings of the 25th Annual Hawaii International Conference on System Sciences (HICSS'25). IEEE, Los Alamitos, CA, 1--2.","key":"e_1_2_1_20_1"},{"unstructured":"McCullough D. 2004. uCLinux for Linux programmers. Linux J. 123.   McCullough D. 2004. uCLinux for Linux programmers. Linux J. 123.","key":"e_1_2_1_21_1"},{"volume-title":"Proceedings of the 2nd USENIX Conference on File and Storage Technologies. UNSNIX","author":"Megiddo N.","unstructured":"Megiddo , N. and Modha , D . 2003. ARC: a self-tuning, low overhead replacement cache . In Proceedings of the 2nd USENIX Conference on File and Storage Technologies. UNSNIX , Berkeley, CA, 115--130. Megiddo, N. and Modha, D. 2003. ARC: a self-tuning, low overhead replacement cache. In Proceedings of the 2nd USENIX Conference on File and Storage Technologies. UNSNIX, Berkeley, CA, 115--130.","key":"e_1_2_1_22_1"},{"unstructured":"Microsoft. 2006. Visual studio microsoft portable executable and common object file format specification Revision 8.0. http:\/\/www.microsoft.com\/whdc\/system\/platform\/firmware\/PECOFF.mspx.  Microsoft. 2006. Visual studio microsoft portable executable and common object file format specification Revision 8.0. http:\/\/www.microsoft.com\/whdc\/system\/platform\/firmware\/PECOFF.mspx.","key":"e_1_2_1_23_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_24_1","DOI":"10.1145\/1479992.1479996"},{"volume-title":"The Multics System: An Examination of Its Structure","author":"Organick E.","unstructured":"Organick , E. 1972. The Multics System: An Examination of Its Structure . MIT Press , Cambridge, MA . Organick, E. 1972. The Multics System: An Examination of Its Structure. MIT Press, Cambridge, MA.","key":"e_1_2_1_25_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_26_1","DOI":"10.1145\/1017753.1017775"},{"doi-asserted-by":"publisher","key":"e_1_2_1_27_1","DOI":"10.1145\/944645.944684"},{"unstructured":"Peacock C. 2005. uClinux - BFLT binary flat format. http:\/\/www.beyondlogic.org\/uClinux\/bflt.htm.  Peacock C. 2005. uClinux - BFLT binary flat format. http:\/\/www.beyondlogic.org\/uClinux\/bflt.htm.","key":"e_1_2_1_28_1"},{"key":"e_1_2_1_29_1","first-page":"80","article-title":"An in-depth look into the Win32 portable executable file format","volume":"17","author":"Pietrek M.","year":"2002","unstructured":"Pietrek , M. 2002 . An in-depth look into the Win32 portable executable file format . MSDN Mag. 17 , 2, 80 -- 90 . Pietrek, M. 2002. An in-depth look into the Win32 portable executable file format. MSDN Mag. 17, 2, 80--90.","journal-title":"MSDN Mag."},{"doi-asserted-by":"publisher","key":"e_1_2_1_30_1","DOI":"10.1145\/250007.250012"},{"volume-title":"Proceedings of the IEEE 15th International Parallel and Distributed Processing Symposium (IPDPS'01)","author":"Roy S.","unstructured":"Roy , S. , Kumar , R. , and Prvulovic , M . 2001. Improving system performance with compressed memory . In Proceedings of the IEEE 15th International Parallel and Distributed Processing Symposium (IPDPS'01) . IEEE, Los Alamitos, CA. Roy, S., Kumar, R., and Prvulovic, M. 2001. Improving system performance with compressed memory. In Proceedings of the IEEE 15th International Parallel and Distributed Processing Symposium (IPDPS'01). IEEE, Los Alamitos, CA.","key":"e_1_2_1_31_1"},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the USENIX Summer Conference. USENIX","author":"Sabatella M.","year":"1990","unstructured":"Sabatella , M. 1990 . Issues in shared library design . In Proceedings of the USENIX Summer Conference. USENIX , Berkeley, CA. Sabatella, M. 1990. Issues in shared library design. In Proceedings of the USENIX Summer Conference. USENIX, Berkeley, CA."},{"volume-title":"Programming Language Pragmatics. Morgan Kaufmann","author":"Scott M.","unstructured":"Scott , M. 2006. Programming Language Pragmatics. Morgan Kaufmann , San Francisco, CA . Scott, M. 2006. Programming Language Pragmatics. Morgan Kaufmann, San Francisco, CA.","key":"e_1_2_1_33_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_34_1","DOI":"10.1145\/301453.301486"},{"volume-title":"Using and Porting the GNU Compiler Collection","author":"Stallman R. M.","unstructured":"Stallman , R. M. 1999. Using and Porting the GNU Compiler Collection . Free Software Foundation . Stallman, R. M. 1999. Using and Porting the GNU Compiler Collection. Free Software Foundation.","key":"e_1_2_1_35_1"},{"unstructured":"Thomas R. and Reddy B. 2006. Dynamic linking in Linux and Windows. http:\/\/www.securityfocus.com\/infocus\/1872.  Thomas R. and Reddy B. 2006. Dynamic linking in Linux and Windows. http:\/\/www.securityfocus.com\/infocus\/1872.","key":"e_1_2_1_36_1"},{"unstructured":"Tool Interface Standards Committee. 1995. Executable and linking format (ELF) specification version 1.2. Tool Interface Standards Committee.  Tool Interface Standards Committee. 1995. Executable and linking format (ELF) specification version 1.2. Tool Interface Standards Committee.","key":"e_1_2_1_37_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_38_1","DOI":"10.1147\/rd.452.0271"},{"unstructured":"uClinux. uClinux Embedded Linux\/Microcontroller Project. http:\/\/www.uClinux.org\/.  uClinux. uClinux Embedded Linux\/Microcontroller Project. http:\/\/www.uClinux.org\/.","key":"e_1_2_1_39_1"},{"unstructured":"Verneer D. 1991. eXecute-in-place. Memory Card Mag.  Verneer D. 1991. eXecute-in-place. Memory Card Mag.","key":"e_1_2_1_40_1"},{"unstructured":"Wells N. 2000. BusyBox: A Swiss army knife for Linux. Linux J. 78.   Wells N. 2000. BusyBox: A Swiss army knife for Linux. Linux J. 78.","key":"e_1_2_1_41_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_42_1","DOI":"10.1145\/977091.977154"},{"key":"e_1_2_1_43_1","first-page":"719","article-title":"Online memory compression for embedded systems","volume":"5","author":"Yang L.","year":"2006","unstructured":"Yang , L. , Dick , R. , Lekatsas , H. , and Chakradhar , S. 2006 . Online memory compression for embedded systems . ACM Trans. Embed. Comput. Syst. 5 , 4, 719 -- 752 . Yang, L., Dick, R., Lekatsas, H., and Chakradhar, S. 2006. Online memory compression for embedded systems. ACM Trans. Embed. Comput. Syst. 5, 4, 719--752.","journal-title":"ACM Trans. Embed. Comput. Syst."},{"unstructured":"Zucker S. and Karhi K. 1995. System V application binary interface: PowerPC processor supplement. SunSoft Santa Carla CA.  Zucker S. and Karhi K. 1995. System V application binary interface: PowerPC processor supplement. SunSoft Santa Carla CA.","key":"e_1_2_1_44_1"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1457246.1457252","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1457246.1457252","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:45:48Z","timestamp":1750250748000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1457246.1457252"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008,12]]},"references-count":44,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2008,12]]}},"alternative-id":["10.1145\/1457246.1457252"],"URL":"https:\/\/doi.org\/10.1145\/1457246.1457252","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2008,12]]},"assertion":[{"value":"2007-02-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2008-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-01-04","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}