{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:12:07Z","timestamp":1750306327561,"version":"3.41.0"},"reference-count":20,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2016,3,11]],"date-time":"2016-03-11T00:00:00Z","timestamp":1457654400000},"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":[[2016,3,11]]},"abstract":"<jats:p>Existing operating systems share a common kernel text section amongst all processes. It is not possible to perform kernel specialization or tuning such that different applications execute text optimized for their kernel use despite the benefits of kernel specialization for performance guided optimization, exokernels, kernel fastpaths, and cheaper hardware access. Current specialization primitives involve system wide changes to kernel text, which can have adverse effects on other processes sharing the kernel due to the global side-effects.<\/jats:p>\n          <jats:p>We present shadow kernels: a primitive that allows multiple kernel text sections to coexist in a contemporary operating system. By remapping kernel virtual memory on a context-switch, or for individual system calls, we specialize the kernel on a fine-grained basis. Our implementation of shadow kernels uses the Xen hypervisor so can be applied to any operating system that runs on Xen.<\/jats:p>","DOI":"10.1145\/2903267.2903270","type":"journal-article","created":{"date-parts":[[2016,3,14]],"date-time":"2016-03-14T15:33:46Z","timestamp":1457969626000},"page":"3-8","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Shadow Kernels"],"prefix":"10.1145","volume":"50","author":[{"given":"Oliver R.A.","family":"Chick","sequence":"first","affiliation":[{"name":"University of Cambridge, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lucian","family":"Carata","sequence":"additional","affiliation":[{"name":"University of Cambridge, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"James","family":"Snee","sequence":"additional","affiliation":[{"name":"University of Cambridge, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nikilesh","family":"Balakrishnan","sequence":"additional","affiliation":[{"name":"University of Cambridge, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ripduman","family":"Sohan","sequence":"additional","affiliation":[{"name":"University of Cambridge, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2016,3,11]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1519065.1519085"},{"volume-title":"Proceedings of the Third Symposium on Operating Systems Design and Implementation","year":"1999","author":"Banga G.","key":"e_1_2_1_2_1"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.5555\/1251254.1251272"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945462"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629579"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/LCN.2004.28"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/224056.224076"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043585"},{"key":"e_1_2_1_9_1","volume-title":"Proceedings of the 9th Workshop on Hot Topics in Operating Systems -","volume":"9","author":"Fowler R.","year":"2003"},{"volume-title":"Proceedings https:\/\/www.cl.cam.ac.uk\/rscfl of the 13th USENIX Workshop on Hot Topics in Operating Systems","year":"2011","author":"Kooburat T.","key":"e_1_2_1_10_1"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660267.2660331"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/224056.224075"},{"volume-title":"Proceedings of the 14th USENIX Workshop on Hot Topics in Operating Systems","year":"2013","author":"Peter S.","key":"e_1_2_1_13_1"},{"volume-title":"Proceedings of the 11th Conference on Operating Systems Design and Implementation (2014), OSDI '14.","author":"Peter S.","key":"e_1_2_1_14_1"},{"key":"e_1_2_1_15_1","unstructured":"Pu C. Massalin H. and Ioannidis J. The synthesis kernel. Computing Springer Verlag (Heidelberg FRG and NewYork NY USA)-Verlag Systems (1988).  Pu C. Massalin H. and Ioannidis J. The synthesis kernel. Computing Springer Verlag (Heidelberg FRG and NewYork NY USA)-Verlag Systems (1988)."},{"volume-title":"In Proceedings of the Workshop on Managed Many-Core Systems, MMCS '08","author":"Schijpbach A.","key":"e_1_2_1_16_1"},{"key":"e_1_2_1_17_1","unstructured":"Sparks S. and Butler J. Shadow walker: Raising the bar for rootkit detection. Black Hat Japan (2005) 504--533.  Sparks S. and Butler J. Shadow walker: Raising the bar for rootkit detection. Black Hat Japan (2005) 504--533."},{"volume-title":"Proceedings of the 7th Symposium on Operating Systems Design and Implementation","year":"2006","author":"Ta-Min R.","key":"e_1_2_1_18_1"},{"key":"e_1_2_1_19_1","unstructured":"Youseff L. M. Wolski R. and Krintz C. Linux kernel specialization for scientific application performance. Tech. rep. 2005.  Youseff L. M. Wolski R. and Krintz C. Linux kernel specialization for scientific application performance. Tech. rep. 2005."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2637166.2637227"}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2903267.2903270","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2903267.2903270","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:54:33Z","timestamp":1750222473000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2903267.2903270"}},"subtitle":["A General Mechanism For Kernel Specialization in Existing Operating Systems"],"short-title":[],"issued":{"date-parts":[[2016,3,11]]},"references-count":20,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2016,3,11]]}},"alternative-id":["10.1145\/2903267.2903270"],"URL":"https:\/\/doi.org\/10.1145\/2903267.2903270","relation":{},"ISSN":["0163-5980"],"issn-type":[{"type":"print","value":"0163-5980"}],"subject":[],"published":{"date-parts":[[2016,3,11]]},"assertion":[{"value":"2016-03-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}