{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:23:21Z","timestamp":1750307001111,"version":"3.41.0"},"reference-count":36,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2012,7,16]],"date-time":"2012-07-16T00:00:00Z","timestamp":1342396800000},"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":["SIGOPS Oper. Syst. Rev."],"published-print":{"date-parts":[[2012,7,16]]},"abstract":"<jats:p>In this work we propose mTags, an efficient mechanism that augments microkernel interprocess messages with lightweight metadata to enable the development of new, system-wide functionality without requiring modification of the application source code. As such it is well suited for systems with a large legacy code base or third-party applications like phone and tablet applications.<\/jats:p>\n          <jats:p>We explored mTags in a variety of different contexts in local and distributed system scenarios. For example, we detail use cases in areas including messaging-induced deadlocks and mode propagation. To demonstrate that mTags is technically feasible and practical, we implemented it in a commercial microkernel and executed multiple sets of standard benchmarks on two different computing architectures. The results clearly demonstrate that mTags has only negligible overhead and strong potential for many applications.<\/jats:p>","DOI":"10.1145\/2331576.2331587","type":"journal-article","created":{"date-parts":[[2012,7,13]],"date-time":"2012-07-13T23:07:36Z","timestamp":1342220856000},"page":"67-79","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["mTags"],"prefix":"10.1145","volume":"46","author":[{"given":"Augusto Born","family":"de Oliveira","sequence":"first","affiliation":[{"name":"University of Waterloo, Canada"}]},{"given":"Ahmad","family":"Saif Ur Rehman","sequence":"additional","affiliation":[{"name":"University of Waterloo, Canada"}]},{"given":"Sebastian","family":"Fischmeister","sequence":"additional","affiliation":[{"name":"University of Waterloo, Canada"}]}],"member":"320","published-online":{"date-parts":[[2012,7,16]]},"reference":[{"key":"e_1_2_1_1_1","first-page":"93","volume-title":"Proceedings of the USENIX Summer Conference","author":"Accetta M.","year":"1986"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/374370.374377"},{"key":"e_1_2_1_3_1","unstructured":"Android. Android Operating System 2011. http:\/\/www.android.com.  Android. Android Operating System 2011. http:\/\/www.android.com."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1152923.1024299"},{"key":"e_1_2_1_5_1","first-page":"15","volume-title":"Dynamic Instrumentation of Production Systems. In USENIX 2004 Annual Technical Conference","author":"Cantrill B.","year":"2004"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/357360.357365"},{"volume-title":"Inc.","year":"2001","author":"Coulouris G.","key":"e_1_2_1_7_1"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1095810.1095813"},{"key":"e_1_2_1_9_1","first-page":"1","volume-title":"Proceedings of the 9th USENIX conference on Operating systems design and implementation, OSDI'10","author":"Enck W.","year":"2010"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945468"},{"volume-title":"NetLogger Toolkit - Example: Lifelines","year":"2010","author":"A.","key":"e_1_2_1_11_1"},{"volume-title":"USA","year":"2007","author":"Fusco J.","key":"e_1_2_1_12_1"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.5555\/1128020.1128563"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.5555\/646405.759105"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1243418.1243424"},{"key":"e_1_2_1_16_1","unstructured":"I. S. Institute. Internet Protocol. RFC 791 Sept. 1981.  I. S. Institute. Internet Protocol. RFC 791 Sept. 1981."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1457255.1457257"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0053381"},{"issue":"133","key":"e_1_2_1_19_1","first-page":"11","article-title":"kprobes-a Kernel Debugger","volume":"2005","author":"Krishnakumar R.","year":"2005","journal-title":"Linux J."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/s007780050075"},{"key":"e_1_2_1_21_1","first-page":"697","volume-title":"Proc. of the 2002 Asia and South Pacific Design Automation Conference (ASP-DAC)","author":"Li D.","year":"2002"},{"key":"e_1_2_1_22_1","first-page":"3","volume-title":"Proceedings of the annual conference on USENIX Annual Technical Conference, ATEC '05","author":"Li T.","year":"2005"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/234215.234473"},{"key":"e_1_2_1_24_1","first-page":"35","volume-title":"Proc. of the 4th Annual Linux Showcase & Conference (ALS)","author":"Moore R. J.","year":"2000"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1353534.1346308"},{"key":"e_1_2_1_26_1","unstructured":"W. D. Norcott. Filesystem Benchmark iozone. http:\/\/www.iozone.org\/.  W. D. Norcott. Filesystem Benchmark iozone. http:\/\/www.iozone.org\/."},{"key":"e_1_2_1_27_1","unstructured":"K. E. Philip Derrin Dhammika Elkaduwe. sel4 Reference Manual. http:\/\/www.ertos.nicta.com.au\/research\/sel4\/sel4-refman.pdf.  K. E. Philip Derrin Dhammika Elkaduwe. sel4 Reference Manual. http:\/\/www.ertos.nicta.com.au\/research\/sel4\/sel4-refman.pdf."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2009.74"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1023\/B:TIME.0000016129.97430.c6"},{"key":"e_1_2_1_30_1","first-page":"39","volume":"1","author":"Rozier M.","year":"1991","journal-title":"Overview of the CHORUS Distributed Operating Systems. Computing Systems"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1269843.1269857"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1331331.1331336"},{"key":"e_1_2_1_33_1","unstructured":"Q. S. Systems. System Architecture - Interprocess Communication (IPC) 2010. http:\/\/www.qnx.com\/developers\/docs\/6.4.1\/neutrino\/sys_arch\/ipc.html.  Q. S. Systems. System Architecture - Interprocess Communication (IPC) 2010. http:\/\/www.qnx.com\/developers\/docs\/6.4.1\/neutrino\/sys_arch\/ipc.html."},{"key":"e_1_2_1_34_1","unstructured":"I. Underbit Technologies. MAD: MPEG Audio Decoder 2010. http:\/\/www.underbit.com\/products\/mad\/.  I. Underbit Technologies. MAD: MPEG Audio Decoder 2010. http:\/\/www.underbit.com\/products\/mad\/."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/1347375.1347389"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.5555\/1267724.1267726"}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2331576.2331587","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2331576.2331587","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:48:50Z","timestamp":1750236530000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2331576.2331587"}},"subtitle":["augmenting microkernel messages with lightweight metadata"],"short-title":[],"issued":{"date-parts":[[2012,7,16]]},"references-count":36,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2012,7,16]]}},"alternative-id":["10.1145\/2331576.2331587"],"URL":"https:\/\/doi.org\/10.1145\/2331576.2331587","relation":{},"ISSN":["0163-5980"],"issn-type":[{"type":"print","value":"0163-5980"}],"subject":[],"published":{"date-parts":[[2012,7,16]]},"assertion":[{"value":"2012-07-16","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}