{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,4]],"date-time":"2026-02-04T17:03:28Z","timestamp":1770224608715,"version":"3.49.0"},"publisher-location":"New York, NY, USA","reference-count":46,"publisher":"ACM","license":[{"start":{"date-parts":[[2019,10,27]],"date-time":"2019-10-27T00:00:00Z","timestamp":1572134400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Bundesministerium f\u00fcr Bildung und Forschung","award":["01IH16010C"],"award-info":[{"award-number":["01IH16010C"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2019,10,27]]},"DOI":"10.1145\/3365137.3365395","type":"proceedings-article","created":{"date-parts":[[2019,11,1]],"date-time":"2019-11-01T12:18:47Z","timestamp":1572610727000},"page":"8-15","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":21,"title":["Exploring Rust for Unikernel Development"],"prefix":"10.1145","author":[{"given":"Stefan","family":"Lankes","sequence":"first","affiliation":[{"name":"Institute for Automation of Complex Power Systems, RWTH Aachen University, Aachen, Germany"}]},{"given":"Jens","family":"Breitbart","sequence":"additional","affiliation":[{"name":"Bosch Chassis Systems Control, Robert Bosch GmbH, Abstatt, Germany"}]},{"given":"Simon","family":"Pickartz","sequence":"additional","affiliation":[{"name":"ParTec Cluster Competence Center, GmbH, Munich, Germany"}]}],"member":"320","published-online":{"date-parts":[[2019,10,27]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"The Rust Programming Language (Manga Guide)","author":"Klabnik S.","unstructured":"S. Klabnik andn C. Nichols . 2018. The Rust Programming Language (Manga Guide) . No Starch Press, San Francisco, CA, USA . S. Klabnik andn C. Nichols. 2018. The Rust Programming Language (Manga Guide). No Starch Press, San Francisco, CA, USA."},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/3139645.3139660"},{"key":"e_1_3_2_1_3_1","volume-title":"The Clive Operating System. (March","author":"Francisco J.","year":"2015","unstructured":"Ballesteros, Francisco J. 2015. The Clive Operating System. (March 2015 ), 1--15. http:\/\/lsub.org\/ls\/clive.html. Ballesteros, Francisco J. 2015. The Clive Operating System. (March 2015), 1--15. http:\/\/lsub.org\/ls\/clive.html."},{"key":"e_1_3_2_1_4_1","volume-title":"Proceedings of the 2015 IEEE 7th International Conference on Cloud Computing Technology and Science (CloudCom).","author":"Bratterud A.","unstructured":"A. Bratterud , A. Walla , H. Haugerud , P. E. Engelstad , and K. Begnum . 2015. IncludeOS: A Resource Efficient Unikernel for Cloud Services . In Proceedings of the 2015 IEEE 7th International Conference on Cloud Computing Technology and Science (CloudCom). A. Bratterud, A. Walla, H. Haugerud, P. E. Engelstad, and K. Begnum. 2015. IncludeOS: A Resource Efficient Unikernel for Cloud Services. In Proceedings of the 2015 IEEE 7th International Conference on Cloud Computing Technology and Science (CloudCom)."},{"key":"e_1_3_2_1_5_1","unstructured":"Cargo-Count. 2019 (accessed August 1 2019). A cargo subcommand for counting lines of code in Rust projects. https:\/\/github.com\/kbknapp\/cargo-count.  Cargo-Count. 2019 (accessed August 1 2019). A cargo subcommand for counting lines of code in Rust projects. https:\/\/github.com\/kbknapp\/cargo-count."},{"key":"e_1_3_2_1_6_1","unstructured":"Microsoft Security Responce Center. 2019 (accessed August 1 2019). We need a safer systems programming language. https:\/\/msrc-blog.microsoft.com\/2019\/07\/18\/we-need-a-safer-systems-programming-language\/.  Microsoft Security Responce Center. 2019 (accessed August 1 2019). We need a safer systems programming language. https:\/\/msrc-blog.microsoft.com\/2019\/07\/18\/we-need-a-safer-systems-programming-language\/."},{"key":"e_1_3_2_1_7_1","unstructured":"Microsoft Security Responce Center. 2019 (accessed August 1 2019). Why Rust for safe systems programming. https:\/\/msrc-blog.microsoft.com\/2019\/07\/22\/why-rust-for-safe-systems-programming\/.  Microsoft Security Responce Center. 2019 (accessed August 1 2019). Why Rust for safe systems programming. https:\/\/msrc-blog.microsoft.com\/2019\/07\/22\/why-rust-for-safe-systems-programming\/."},{"key":"e_1_3_2_1_8_1","unstructured":"Intel Corporation. 2019 (accessed August 1 2019). Threading Building Blocks. https:\/\/www.threadingbuildingblocks.org.  Intel Corporation. 2019 (accessed August 1 2019). Threading Building Blocks. https:\/\/www.threadingbuildingblocks.org."},{"key":"e_1_3_2_1_9_1","volume-title":"13th USENIX Symposium on Operating Systems Design and Implementation (OSDI). 1--19","author":"Cutler Cody","unstructured":"Cody Cutler , M Frans Kaashoek , and Robert T. Morris . 2018. The benefits and costs of writing a POSIX kernel in a high-level language . In 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI). 1--19 . Cody Cutler, M Frans Kaashoek, and Robert T. Morris. 2018. The benefits and costs of writing a POSIX kernel in a high-level language. In 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI). 1--19."},{"key":"e_1_3_2_1_10_1","unstructured":"D Language Foundation. 2019 (accessed March 4 2019). The D Programming Language. https:\/\/dlang.org\/.  D Language Foundation. 2019 (accessed March 4 2019). The D Programming Language. https:\/\/dlang.org\/."},{"key":"e_1_3_2_1_11_1","volume-title":"Design and Implementation of the LwIP TCP\/IP Stack","author":"Dunkels A.","unstructured":"A. Dunkels . 2001. Design and Implementation of the LwIP TCP\/IP Stack . Swedish Institute of Computer Science . A.Dunkels. 2001. Design and Implementation of the LwIP TCP\/IP Stack. Swedish Institute of Computer Science."},{"key":"e_1_3_2_1_12_1","unstructured":"eduOS-rs. 2019 (accessed February 13 2019). A teaching operating system written in Rust. https:\/\/rwth-os.github.io\/eduOS-rs\/.  eduOS-rs. 2019 (accessed February 13 2019). A teaching operating system written in Rust. https:\/\/rwth-os.github.io\/eduOS-rs\/."},{"key":"e_1_3_2_1_13_1","volume-title":"Free Software Foundation. 2019 (accessed","author":"Inc.","year":"2019","unstructured":"Inc. Free Software Foundation. 2019 (accessed August 1, 2019 ). Multiboot Specification version 0.6.96. https:\/\/www.gnu.org\/software\/grub\/manual\/multiboot\/multiboot.html. Inc. Free Software Foundation. 2019 (accessed August 1, 2019). Multiboot Specification version 0.6.96. https:\/\/www.gnu.org\/software\/grub\/manual\/multiboot\/multiboot.html."},{"key":"e_1_3_2_1_14_1","unstructured":"Google. 2019 (accessed March 4 2019). The Go Programming Language. https:\/\/golang.org.  Google. 2019 (accessed March 4 2019). The Go Programming Language. https:\/\/golang.org."},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1013881.802703"},{"key":"e_1_3_2_1_16_1","volume-title":"The System Interfaces","author":"IEEE and The Open Group","year":"1979","unstructured":"IEEE and The Open Group . 2019 (accessed August 1, 2019). The System Interfaces volume of POSIX.1- 2017 . http:\/\/pubs.opengroup.org\/onlinepubs\/96999 1979 9\/. IEEE and The Open Group. 2019 (accessed August 1, 2019). The System Interfaces volume of POSIX.1-2017. http:\/\/pubs.opengroup.org\/onlinepubs\/9699919799\/."},{"key":"e_1_3_2_1_18_1","volume-title":"OSv - Optimizing the Operating System for Virtual Machines. USENIX Annual Technical Conference","author":"Kivity Avi","year":"2014","unstructured":"Avi Kivity , Dor Laor , Glauber Costa , Pekka Enberg , Nadav Har'El , Don Marti , and Vlad Zolotarov . 2014 . OSv - Optimizing the Operating System for Virtual Machines. USENIX Annual Technical Conference (2014). Avi Kivity, Dor Laor, Glauber Costa, Pekka Enberg, Nadav Har'El, Don Marti, and Vlad Zolotarov. 2014. OSv - Optimizing the Operating System for Virtual Machines. USENIX Annual Technical Conference (2014)."},{"key":"e_1_3_2_1_19_1","unstructured":"Stefan Lankes Jens Breitbart and Simon Pickartz. 2019 (accessed October 3 2019). RustyHermit -- A Rust-based lightweight unikernel. https:\/\/github.com\/hermitcore\/libhermit-rs.  Stefan Lankes Jens Breitbart and Simon Pickartz. 2019 (accessed October 3 2019). RustyHermit -- A Rust-based lightweight unikernel. https:\/\/github.com\/hermitcore\/libhermit-rs."},{"key":"e_1_3_2_1_20_1","volume-title":"Proc. of the 6th International Workshop on Runtime and Operating Systems for Supercomputers (ROSS '16)","author":"Lankes S.","unstructured":"S. Lankes , S. Pickartz , and J. Breitbart . 2016. HermitCore: A Unikernel for Extreme Scale Computing . In Proc. of the 6th International Workshop on Runtime and Operating Systems for Supercomputers (ROSS '16) . ACM, New York, NY, USA, Article 4, 8 pages. S. Lankes, S. Pickartz, and J. Breitbart. 2016. HermitCore: A Unikernel for Extreme Scale Computing. In Proc. of the 6th International Workshop on Runtime and Operating Systems for Supercomputers (ROSS '16). ACM, New York, NY, USA, Article 4, 8 pages."},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-54999-6_6"},{"key":"e_1_3_2_1_22_1","volume-title":"Ownership is theft: experiences building an embedded OS in Rust. ACM","author":"Levy Amit","unstructured":"Amit Levy , Michael P Andersen , Bradford Campbell , David Culler , Prabal Dutta , Branden Ghena , Philip Levis , and Pat Pannuto . 2015. Ownership is theft: experiences building an embedded OS in Rust. ACM , New York , New York, USA. Amit Levy, Michael P Andersen, Bradford Campbell, David Culler, Prabal Dutta, Branden Ghena, Philip Levis, and Pat Pannuto. 2015. Ownership is theft: experiences building an embedded OS in Rust. ACM, New York, New York, USA."},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3124680.3124717"},{"key":"e_1_3_2_1_24_1","unstructured":"M-Labs. 2019 (accessed August 1 2019). uhyve - A minimal hypervisor for RustyHermit. https:\/\/github.com\/m-labs\/smoltcp.  M-Labs. 2019 (accessed August 1 2019). uhyve - A minimal hypervisor for RustyHermit. https:\/\/github.com\/m-labs\/smoltcp."},{"key":"e_1_3_2_1_25_1","volume-title":"Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '13)","author":"Madhavapeddy A.","unstructured":"A. Madhavapeddy , R. Mortier , C. Rotsos , D. Scott , B. Singh , T. Gazagnaire , S : Smith, S. Hand, and J. Crowcroft. 2013. Unikernels: Library Operating Systems for the Cloud . In Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '13) . ACM, New York, NY, USA, 461--472. https:\/\/doi.org\/10.1145\/2451116.2451167 10.1145\/2451116.2451167 A. Madhavapeddy, R. Mortier, C. Rotsos, D. Scott, B. Singh, T. Gazagnaire, S: Smith, S. Hand, and J. Crowcroft. 2013. Unikernels: Library Operating Systems for the Cloud. In Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '13). ACM, New York, NY, USA, 461--472. https:\/\/doi.org\/10.1145\/2451116.2451167"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2557963.2566628"},{"key":"e_1_3_2_1_27_1","volume-title":"2019 (accessed","author":"Martin B.","year":"2019","unstructured":"B. Martin , C. Boylan , D. Schatzberg , E. Kidd , G. Zellweger , J. Erricson , N. Edigaryev , P. Oppermann , and R. Lunae . 2019 (accessed September 29, 2019 ). Rust library to use x86 (amd64) specific functionality and registers. https:\/\/github.com\/gz\/rust-x86. B. Martin, C. Boylan, D. Schatzberg, E. Kidd, G. Zellweger, J. Erricson, N. Edigaryev, P. Oppermann, and R. Lunae. 2019 (accessed September 29, 2019). Rust library to use x86 (amd64) specific functionality and registers. https:\/\/github.com\/gz\/rust-x86."},{"key":"e_1_3_2_1_28_1","unstructured":"Niko Matsakis and Josh Stone. 2019 (accessed Azgust 1 2019). Rayon --- A data parallelism library for Rust. https:\/\/github.com\/rayon-rs\/rayon.  Niko Matsakis and Josh Stone. 2019 (accessed Azgust 1 2019). Rayon --- A data parallelism library for Rust. https:\/\/github.com\/rayon-rs\/rayon."},{"key":"e_1_3_2_1_29_1","volume-title":"2014 (accessed","author":"M.","year":"2019","unstructured":"M. Matz1, J. Hubicka , Andreas Jaeger , and M. Mitchell . 2014 (accessed August 1, 2019 ). System V Application Binary Interface - AMD64 Architecture Processor Supplement . https:\/\/www.uclibc.org\/docs\/psABI-x86_64.pdf. M. Matz1, J. Hubicka, Andreas Jaeger, and M. Mitchell. 2014 (accessed August 1, 2019). System V Application Binary Interface - AMD64 Architecture Processor Supplement. https:\/\/www.uclibc.org\/docs\/psABI-x86_64.pdf."},{"key":"e_1_3_2_1_30_1","unstructured":"Mozilla. 2019 (accessed March 11 2019). Add support for generating naked functiosn. https:\/\/github.com\/nox\/rust-rfcs\/blob\/master\/text\/1201-naked-fns.md.  Mozilla. 2019 (accessed March 11 2019). Add support for generating naked functiosn. https:\/\/github.com\/nox\/rust-rfcs\/blob\/master\/text\/1201-naked-fns.md."},{"key":"e_1_3_2_1_31_1","unstructured":"Mozilla. 2019 (accessed March 4 2019). Cargo - A Rust package manager. https:\/\/doc.rust- lang.org\/cargo\/.  Mozilla. 2019 (accessed March 4 2019). Cargo - A Rust package manager. https:\/\/doc.rust- lang.org\/cargo\/."},{"key":"e_1_3_2_1_32_1","unstructured":"Mozilla. 2019 (accessed March 4 2019). The Rust Programming Language. https:\/\/www.rust-lang.org.  Mozilla. 2019 (accessed March 4 2019). The Rust Programming Language. https:\/\/www.rust-lang.org."},{"key":"e_1_3_2_1_33_1","unstructured":"Mozilla. 2019 (accessed March 7 2019). The Rust core allocation and collections library. https:\/\/doc.rust-lang.org\/alloc\/index.html.  Mozilla. 2019 (accessed March 7 2019). The Rust core allocation and collections library. https:\/\/doc.rust-lang.org\/alloc\/index.html."},{"key":"e_1_3_2_1_34_1","unstructured":"Mozilla. 2019 (accessed March 7 2019). Target specification files. https:\/\/github.com\/japaric\/rust-cross#target-specification-files.  Mozilla. 2019 (accessed March 7 2019). Target specification files. https:\/\/github.com\/japaric\/rust-cross#target-specification-files."},{"key":"e_1_3_2_1_35_1","unstructured":"Mozilla.2019 (accessed March 9 2019). Add support for the x86-interrupt calling convention. https:\/\/github.com\/rust-lang\/rust\/pull\/39832.  Mozilla.2019 (accessed March 9 2019). Add support for the x86-interrupt calling convention. https:\/\/github.com\/rust-lang\/rust\/pull\/39832."},{"key":"#cr-split#-e_1_3_2_1_36_1.1","doi-asserted-by":"crossref","unstructured":"Vikram Narayanan Marek S. Baranowski Leonid Ryzhyk Zvonimir Rakamari\u0107 and Anton Burtsev. 2019. RedLeaf: Towards An Operating System for Safe and Verified Firmware. (2019) 37--44. https:\/\/doi.org\/10.1145\/3317550.3321449 10.1145\/3317550.3321449","DOI":"10.1145\/3317550.3321449"},{"key":"#cr-split#-e_1_3_2_1_36_1.2","doi-asserted-by":"crossref","unstructured":"Vikram Narayanan Marek S. Baranowski Leonid Ryzhyk Zvonimir Rakamari\u0107 and Anton Burtsev. 2019. RedLeaf: Towards An Operating System for Safe and Verified Firmware. (2019) 37--44. https:\/\/doi.org\/10.1145\/3317550.3321449","DOI":"10.1145\/3317550.3321449"},{"key":"e_1_3_2_1_37_1","unstructured":"nimkernel. 2019 (accessed March 4 2019). An operating system written in Nim. https:\/\/github.com\/dom96\/nimkernel.  nimkernel. 2019 (accessed March 4 2019). An operating system written in Nim. https:\/\/github.com\/dom96\/nimkernel."},{"key":"e_1_3_2_1_38_1","volume-title":"15th ACM SIGPLAN\/SIGOPS International Conference on Virtual Execution Environments (VEE'19)","author":"Olivier P.","unstructured":"P. Olivier , D. Chiba , S. Lankes , C. Min , and B. Ravindran . 2019. A Binary-Compatible Unikernel . In 15th ACM SIGPLAN\/SIGOPS International Conference on Virtual Execution Environments (VEE'19) . Accepted for publication. P. Olivier, D. Chiba, S. Lankes, C. Min, and B. Ravindran. 2019. A Binary-Compatible Unikernel. In 15th ACM SIGPLAN\/SIGOPS International Conference on Virtual Execution Environments (VEE'19). Accepted for publication."},{"key":"e_1_3_2_1_39_1","unstructured":"D. Picheta. 2019 (accessed March 4 2019). Nim in action. http:\/\/nim-lang.org\/.  D. Picheta. 2019 (accessed March 4 2019). Nim in action. http:\/\/nim-lang.org\/."},{"key":"e_1_3_2_1_40_1","unstructured":"PowerNex. 2019 (accessed March 4 2019). An operating system written in D. https:\/\/github.com\/PowerNex\/PowerNex.  PowerNex. 2019 (accessed March 4 2019). An operating system written in D. https:\/\/github.com\/PowerNex\/PowerNex."},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/358818.358822"},{"key":"e_1_3_2_1_42_1","unstructured":"RedHat. 2019 (accessed February 13 2019). Newlib - A C library for embedded systems. https:\/\/sourceware.org\/newlib\/.  RedHat. 2019 (accessed February 13 2019). Newlib - A C library for embedded systems. https:\/\/sourceware.org\/newlib\/."},{"key":"e_1_3_2_1_43_1","unstructured":"Redox. 2019 (accessed February 13 2019). A Unix-like Operating System written in Rust. https:\/\/www.redox-os.org.  Redox. 2019 (accessed February 13 2019). A Unix-like Operating System written in Rust. https:\/\/www.redox-os.org."},{"key":"e_1_3_2_1_44_1","unstructured":"Tock. 2019 (accessed March 4 2019). A secure embedded operating system for Cortex-M based microcontrollers. https:\/\/www.tockos.org.  Tock. 2019 (accessed March 4 2019). A secure embedded operating system for Cortex-M based microcontrollers. https:\/\/www.tockos.org."},{"key":"e_1_3_2_1_45_1","unstructured":"L. Torvalds. 2004. http:\/\/harmful.cat-v.org\/software\/c++\/linus.  L. Torvalds. 2004. http:\/\/harmful.cat-v.org\/software\/c++\/linus."},{"key":"e_1_3_2_1_46_1","unstructured":"Unikraft. 2019 (accessed March 4 2019). An easy way of crafting Unikernels. http:\/\/unikraft.neclab.eu.  Unikraft. 2019 (accessed March 4 2019). An easy way of crafting Unikernels. http:\/\/unikraft.neclab.eu."}],"event":{"name":"SOSP '19: ACM SIGOPS 27th Symposium on Operating Systems Principles","location":"Huntsville ON Canada","acronym":"SOSP '19","sponsor":["SIGOPS ACM Special Interest Group on Operating Systems"]},"container-title":["Proceedings of the 10th Workshop on Programming Languages and Operating Systems"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3365137.3365395","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3365137.3365395","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:01:30Z","timestamp":1750197690000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3365137.3365395"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,10,27]]},"references-count":46,"alternative-id":["10.1145\/3365137.3365395","10.1145\/3365137"],"URL":"https:\/\/doi.org\/10.1145\/3365137.3365395","relation":{},"subject":[],"published":{"date-parts":[[2019,10,27]]},"assertion":[{"value":"2019-10-27","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}