{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,18]],"date-time":"2026-01-18T06:26:55Z","timestamp":1768717615748,"version":"3.49.0"},"reference-count":50,"publisher":"Association for Computing Machinery (ACM)","issue":"4","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2007,9]]},"abstract":"<jats:p>\n            The limited built-in configurability of Linux can lead to expensive code size overhead when it is used in the embedded market. To overcome this problem, we propose the application of link-time compaction and specialization techniques that exploit the\n            <jats:italic>a priori<\/jats:italic>\n            known, fixed runtime environment of many embedded systems. In experimental setups based on the ARM XScale and i386 platforms, the proposed techniques are able to reduce the kernel memory footprint with over 16%. We also show how relatively simple additions to existing binary rewriters can implement the proposed techniques for a complex, very unconventional program, such as the Linux kernel. We note that even after specialization, a lot of seemingly unnecessary code remains in the kernel and propose to reduce the footprint of this code by applying code-compression techniques. This technique, combined with the previous ones, reduces the memory footprint with over 23% for the i386 platform and 28% for the ARM platform. Finally, we pinpoint an important code size growth problem when compaction and compression techniques are combined on the ARM platform.\n          <\/jats:p>","DOI":"10.1145\/1274858.1274861","type":"journal-article","created":{"date-parts":[[2007,9,26]],"date-time":"2007-09-26T17:18:32Z","timestamp":1190827112000},"page":"23","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":15,"title":["Automated reduction of the memory footprint of the Linux kernel"],"prefix":"10.1145","volume":"6","author":[{"given":"Dominique","family":"Chanet","sequence":"first","affiliation":[{"name":"Ghent University, Gent, Belgium"}]},{"given":"Bjorn","family":"De Sutter","sequence":"additional","affiliation":[{"name":"Ghent University, Gent, Belgium"}]},{"given":"Bruno","family":"De Bus","sequence":"additional","affiliation":[{"name":"Ghent University, Gent, Belgium"}]},{"given":"Ludo","family":"Van Put","sequence":"additional","affiliation":[{"name":"Ghent University, Gent, Belgium"}]},{"given":"Koen","family":"De Bosschere","sequence":"additional","affiliation":[{"name":"Ghent University, Gent, Belgium"}]}],"member":"320","published-online":{"date-parts":[[2007,9]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-27866-5_37"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1017753.1017760"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065910.1065925"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1017753.1017800"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/353926.353933"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the USENIX Windows NT Workshop. 17--24","author":"Cohn R.","unstructured":"Cohn , R. , Goodwin , D. , Lowney , P. , and Rubin , N . 1997. Spike: An optimizer for Alpha\/NT executables . In Proceedings of the USENIX Windows NT Workshop. 17--24 . Cohn, R., Goodwin, D., Lowney, P., and Rubin, N. 1997. Spike: An optimizer for Alpha\/NT executables. In Proceedings of the USENIX Windows NT Workshop. 17--24."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/780732.780765"},{"key":"e_1_2_1_8_1","unstructured":"Cours J. Navarro N. and Hwu W. 2004. Using coverage-based analysis to automate the customization of the Linux kernel for embedded applications. M.S. thesis University of Illinois at Urbana-Champaign.  Cours J. Navarro N. and Hwu W. 2004. Using coverage-based analysis to automate the customization of the Linux kernel for embedded applications. M.S. thesis University of Illinois at Urbana-Champaign."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/859670.859696"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/997163.997194"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/384198.384204"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/582419.582445"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086642.1086645"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1210268.1210273"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/268946.268948"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512542"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/349214.349233"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/592642.592644"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/258915.258947"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378827"},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the General Track: 2002 USENIX Annual Technical Conference. USENIX Association","author":"Fassino J.-P.","unstructured":"Fassino , J.-P. , Stefani , J.-B. , Lawall , J. L. , and Muller , G . 2002. Think: A software framework for component-based operating system kernels . In Proceedings of the General Track: 2002 USENIX Annual Technical Conference. USENIX Association , Berkeley, CA. 73--86. Fassino, J.-P., Stefani, J.-B., Lawall, J. L., and Muller, G. 2002. Think: A software framework for component-based operating system kernels. In Proceedings of the General Track: 2002 USENIX Annual Technical Conference. USENIX Association, Berkeley, CA. 73--86."},{"key":"e_1_2_1_23_1","volume-title":"Proc of the 4th Workshop on Feedback-Directed and Dynamic Optimization (FDDO-4).","author":"Flower R.","unstructured":"Flower , R. , Luk , C.-K. , Muth , R. , Patil , H. , Shakshober , J. , Cohn , R. , and Lowney , G . 2001. Kernel optimizations and prefetch with the spike executable optimizer . In Proc of the 4th Workshop on Feedback-Directed and Dynamic Optimization (FDDO-4). Flower, R., Luk, C.-K., Muth, R., Patil, H., Shakshober, J., Cohn, R., and Lowney, G. 2001. Kernel optimizations and prefetch with the spike executable optimizer. In Proc of the 4th Workshop on Feedback-Directed and Dynamic Optimization (FDDO-4)."},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/268998.266642"},{"key":"e_1_2_1_25_1","volume-title":"Mobile Object Systems: Towards the Programmable Internet","author":"Franz M.","unstructured":"Franz , M. 1997. Adaptive compression of syntax trees and iterative dynamic code optimization: Two basic technologies for mobile-object systems . In Mobile Object Systems: Towards the Programmable Internet , J. Vitek and C. Tschudin, Eds. Number 1222 in LNCS. Springer , New York . 263--276. Franz, M. 1997. Adaptive compression of syntax trees and iterative dynamic code optimization: Two basic technologies for mobile-object systems. In Mobile Object Systems: Towards the Programmable Internet, J. Vitek and C. Tschudin, Eds. Number 1222 in LNCS. Springer, New York. 263--276."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/265563.265576"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/301618.301672"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781133"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/379605.379665"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.426.0807"},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the 30th Annual International Symposium on Microarchitecture (MICRO-30)","author":"Kirovski D.","unstructured":"Kirovski , D. , Kin , J. , and Mangione-Smith , W. H . 1997. Procedure based program compression . In Proceedings of the 30th Annual International Symposium on Microarchitecture (MICRO-30) . Kirovski, D., Kin, J., and Mangione-Smith, W. H. 1997. Procedure based program compression. In Proceedings of the 30th Annual International Symposium on Microarchitecture (MICRO-30)."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2005.449"},{"key":"e_1_2_1_33_1","first-page":"1093","article-title":"An application-oriented Linux kernel customization for embedded systems","volume":"20","author":"Lee C.-T.","year":"2004","unstructured":"Lee , C.-T. , Lin , J.-M. , Hong , Z.-W. , and Lee , W.-T. 2004 . An application-oriented Linux kernel customization for embedded systems . Journal of Information Science and Engineering 20 , 6, 1093 -- 1107 . Lee, C.-T., Lin, J.-M., Hong, Z.-W., and Lee, W.-T. 2004. An application-oriented Linux kernel customization for embedded systems. Journal of Information Science and Engineering 20, 6, 1093--1107.","journal-title":"Journal of Information Science and Engineering"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/775832.775912"},{"key":"e_1_2_1_35_1","unstructured":"Levine J. 2000. Linkers &amp; Loaders. Morgan Kaufmann San Matco CA.  Levine J. 2000. Linkers &amp; Loaders. Morgan Kaufmann San Matco CA."},{"key":"e_1_2_1_36_1","unstructured":"Linn C. Debray S. Andrews G. and Schwarz B. 2004. Stack analysis of x86 executables. Available from http:\/\/www.cs.arizona.edu\/people\/debray.  Linn C. Debray S. Andrews G. and Schwarz B. 2004. Stack analysis of x86 executables. Available from http:\/\/www.cs.arizona.edu\/people\/debray."},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the 2004 International Conference on Embedded Systems and Applications (ESA'04)","author":"Madou M.","year":"2004","unstructured":"Madou , M. , De Sutter , B. , De Bus , B. , Van Put , L. , and De Bosschere , K. 2004 . Link-time optimization of MIPS programs . In Proceedings of the 2004 International Conference on Embedded Systems and Applications (ESA'04) . Madou, M., De Sutter, B., De Bus, B., Van Put, L., and De Bosschere, K. 2004. Link-time optimization of MIPS programs. In Proceedings of the 2004 International Conference on Embedded Systems and Applications (ESA'04)."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/377769.377778"},{"key":"e_1_2_1_39_1","volume-title":"USENIX Annual Technical Conference.","author":"McVoy L.","unstructured":"McVoy , L. and Staelin , C . 1996. lmbench: Portable tools for performance analysis . In USENIX Annual Technical Conference. McVoy, L. and Staelin, C. 1996. lmbench: Portable tools for performance analysis. In USENIX Annual Technical Conference."},{"key":"e_1_2_1_40_1","volume-title":"Advanced Compiler Design &amp","author":"Muchnick S. S.","unstructured":"Muchnick , S. S. 1997. Advanced Compiler Design &amp ; Implementation. Morgan Kaufmann , San Matco, CA. Muchnick, S. S. 1997. Advanced Compiler Design &amp; Implementation. Morgan Kaufmann, San Matco, CA."},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1002\/1097-024X(200101)31:1%3C67::AID-SPE357%3E3.0.CO;2-A"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/199448.199526"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/301618.301676"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/951710.951725"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.372.0270"},{"key":"e_1_2_1_46_1","volume-title":"Proc. 2001 Workshop on Binary Rewriting (WBT-2001)","author":"Schwarz B.","unstructured":"Schwarz , B. , Debray , S. , Andrews , G. , and Legendre , M . 2001. PLTO: A link-time optimizer for the Intel IA-32 architecture . In Proc. 2001 Workshop on Binary Rewriting (WBT-2001) . Schwarz, B., Debray, S., Andrews, G., and Legendre, M. 2001. PLTO: A link-time optimizer for the Intel IA-32 architecture. In Proc. 2001 Workshop on Binary Rewriting (WBT-2001)."},{"key":"e_1_2_1_47_1","unstructured":"Speer S. E. Kumar R. and Partridge C. 1994. Improving UNIX kernel performance using profile based optimization. In 1994 Winter USENIX. 181--188.   Speer S. E. Kumar R. and Partridge C. 1994. Improving UNIX kernel performance using profile based optimization. In 1994 Winter USENIX. 181--188."},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/178243.178248"},{"key":"e_1_2_1_49_1","unstructured":"Tamches A. and Miller B. P. 1999. Fine-grained dynamic instrumentation of commodity operating system kernels. In Operating Systems Design and Implementation. 117--130.   Tamches A. and Miller B. P. 1999. Fine-grained dynamic instrumentation of commodity operating system kernels. In Operating Systems Design and Implementation. 117--130."},{"key":"e_1_2_1_50_1","volume-title":"Workshop on Binary Translation (WBT-2001)","author":"Tamches A.","unstructured":"Tamches , A. and Miller , B. P . 2001. Dynamic kernel code optimization . In Workshop on Binary Translation (WBT-2001) . Tamches, A. and Miller, B. P. 2001. Dynamic kernel code optimization. In Workshop on Binary Translation (WBT-2001)."},{"key":"e_1_2_1_51_1","unstructured":"TriMedia Technologies Inc. 2000. TriMedia32 Architecture. TriMedia Technologies Inc.  TriMedia Technologies Inc. 2000. TriMedia32 Architecture. TriMedia Technologies Inc."}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1274858.1274861","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T18:32:06Z","timestamp":1672252326000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1274858.1274861"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2007,9]]},"references-count":50,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2007,9]]}},"alternative-id":["10.1145\/1274858.1274861"],"URL":"https:\/\/doi.org\/10.1145\/1274858.1274861","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"value":"1539-9087","type":"print"},{"value":"1558-3465","type":"electronic"}],"subject":[],"published":{"date-parts":[[2007,9]]},"assertion":[{"value":"2007-09-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}