Flexible Operating System Internals: the Design and Implementation of the Anykernel and Rump Kernels Aalto University

Total Page:16

File Type:pdf, Size:1020Kb

Flexible Operating System Internals: the Design and Implementation of the Anykernel and Rump Kernels Aalto University Department of Computer Science and Engineering Aalto- Antti Kantee DD Flexible Operating System 171 / 2012 2012 Internals: FlexibleSystemOperating Internals: TheDesign andImplementation theofandAnykernelRump Kernels The Design and Implementation of the Anykernel and Rump Kernels Antti Kantee 9HSTFMG*aejbgi+ ISBN 978-952-60-4916-8 BUSINESS + ISBN 978-952-60-4917-5 (pdf) ECONOMY ISSN-L 1799-4934 ISSN 1799-4934 ART + ISSN 1799-4942 (pdf) DESIGN + ARCHITECTURE UniversityAalto Aalto University School of Science SCIENCE + Department of Computer Science and Engineering TECHNOLOGY www.aalto.fi CROSSOVER DOCTORAL DOCTORAL DISSERTATIONS DISSERTATIONS "BMUP6OJWFSTJUZQVCMJDBUJPOTFSJFT %0$503"-%*44&35"5*0/4 &2#&ŗ*,.#(!ŗ3-.'ŗ (.,(&-Ćŗ "ŗ-#!(ŗ(ŗ '*&'(..#)(ŗ) ŗ."ŗ (3%,(&ŗ(ŗ/'*ŗ ,(&-ŗ "OUUJ,BOUFF "EPDUPSBMEJTTFSUBUJPODPNQMFUFEGPSUIFEFHSFFPG%PDUPSPG 4DJFODFJO5FDIOPMPHZUPCFEFGFOEFE XJUIUIFQFSNJTTJPOPGUIF "BMUP6OJWFSTJUZ4DIPPMPG4DJFODF BUBQVCMJDFYBNJOBUJPOIFMEBU UIFMFDUVSFIBMM5PGUIFTDIPPMPO%FDFNCFSBUOPPO "BMUP6OJWFSTJUZ 4DIPPMPG4DJFODF %FQBSUNFOUPG$PNQVUFS4DJFODFBOE&OHJOFFSJOH 4VQFSWJTJOHQSPGFTTPS 1SPGFTTPS)FJLLJ4BJLLPOFO 1SFMJNJOBSZFYBNJOFST %S.BSTIBMM,JSL.D,VTJDL 64" 1SPGFTTPS3FO[P%BWPMJ 6OJWFSTJUZPG#PMPHOB *UBMZ 0QQPOFOU %S1FUFS5SÍHFS )BTTP1MBUUOFS*OTUJUVUF (FSNBOZ "BMUP6OJWFSTJUZQVCMJDBUJPOTFSJFT %0$503"-%*44&35"5*0/4 "OUUJ,BOUFFQPPLB!JLJGJ 1FSNJTTJPOUPVTF DPQZ BOEPSEJTUSJCVUFUIJTEPDVNFOUXJUIPS XJUIPVUGFFJTIFSFCZHSBOUFE QSPWJEFEUIBUUIFBCPWFDPQZSJHIU OPUJDFBOEUIJTQFSNJTTJPOOPUJDFBQQFBSJOBMMDPQJFT%JTUSJCVUJOH NPEJGJFEDPQJFTJTQSPIJCJUFE *4#/ QSJOUFE *4#/ QEG *44/- *44/ QSJOUFE *44/ QEG IUUQVSOGJ63/*4#/ 6OJHSBGJB0Z )FMTJOLJ 'JOMBOE "CTUSBDU "BMUP6OJWFSTJUZ 10#PY '*"BMUPXXXBBMUPGJ "VUIPS (..#ŗ (.ŗ /BNFPGUIFEPDUPSBMEJTTFSUBUJPO &2#&ŗ*,.#(!ŗ3-.'ŗ (.,(&-Ćŗ "ŗ-#!(ŗ(ŗ '*&'(..#)(ŗ) ŗ."ŗ(3%,(&ŗ(ŗ/'*ŗ ,(&-ŗ 1VCMJTIFS"))&ŗ) ŗ#(ŗ 6OJU*,.'(.ŗ) ŗ)'*/.,ŗ#(ŗ(ŗ(!#(,#(!ŗ 4FSJFT&.)ŗ(#0,-#.3ŗ*/&#.#)(ŗ-,#-ŗ ŗ ŗûāûĞüúûüŗ 'JFMEPGSFTFBSDI) .1,ŗ3-.'-ŗ .BOVTDSJQUTVCNJUUFEüûŗ/!/-.ŗüúûüŗ %BUFPGUIFEFGFODFāŗ',ŗüúûüŗ 1FSNJTTJPOUPQVCMJTIHSBOUFE EBUF ăŗ.),ŗüúûüŗ -BOHVBHF(!&#-"ŗ .POPHSBQI "SUJDMFEJTTFSUBUJPO TVNNBSZ PSJHJOBMBSUJDMFT "CTUSBDU "ŗ')()&#."#ŗ%,(&ŗ,"#../,ŗ#-ŗ-#!(#ð(.ŗ#(ŗ."ŗ,&ŗ1),&ŗ/ŗ.)ŗ."ŗ&,!ŗ')/(.ŗ ) ŗ1),%#(!ŗ(ŗ*,)0(ŗ)Ąŗ)10,ąŗ."ŗ,"#../,ŗ#-ŗ().ŗ1#.")/.ŗ*,)&'-Ćŗ.-.#(!ŗ(ŗ 0&)*'(.ŗ#-ŗ# ð/&.ąŗ0#,./&#4#(!ŗ%,(&ŗ-,0#-ŗ(ŗŗ)(ŗ)(&3ŗ3ŗ/*&#.#(!ŗ."ŗ(.#,ŗ %,(&ąŗ(ŗ-/,#.3ŗ#-ŗ1%ŗ/ŗ.)ŗŗ-#(!&ŗ)'#(ŗ1",ŗ&&ŗ)ŗ"-ŗ#,.ŗ--ŗ.)ŗ 0,3."#(!Ąŗ&.,(.ŗ%,(&ŗ,"#../,-ŗ-/"ŗ-ŗ."ŗ'#,)%,(&ŗ(ŗ2)%,(&ŗ"0ŗ(ŗ *,)*)-ŗ.)ŗ,.# 3ŗ."-ŗ*,)&'-ŗ1#."ŗ')()&#."#ŗ%,(&-Ąŗ)10,ąŗ&.,(.ŗ-3-.'ŗ -.,/./,-ŗ)ŗ().ŗ,--ŗ."ŗ)'')(ŗ-#,ŗ) ŗ/-#(!ŗŗ')()&#."#ŗ%,(&ŗ1"(ŗ."ŗ )0'(.#)(ŗ*,)&'-ŗ)ŗ().ŗ**&3Ąŗ ŗ ŗ*,)*)-ŗŗó2#&ŗ(3%,(&ŗ,"#../,ŗ1"#"ŗ(&-ŗ,/((#(!ŗ%,(&ŗ,#0,-ŗ#(ŗŗ0,#.3ŗ ) ŗ)(ð!/,.#)(-ąŗ2'*&-ŗ) ŗ1"#"ŗ#(&/ŗ'#,)%,(&Ě-.3&ŗ-,0,-ŗ(ŗ**&#.#)(ŗ &#,,#-Ąŗŗ')()&#."#ŗ%,(&ŗ#-ŗ-")1(ŗ.)ŗŗ)(0,.#&ŗ#(.)ŗ(ŗ(3%,(&ŗ1#."ŗŗ,-)(&ŗ ')/(.ŗ) ŗ ),.ŗ(ŗ1#.")/.ŗ#(.,)/#(!ŗ*, ),'(Ě"#(,#(!ŗ#(#,.#)(ŗ&3,-Ąŗ"ŗ ),#!#(&ŗ')()&#."#ŗ')ŗ) ŗ)*,.#)(ŗ#-ŗ*,-,0ŗ .,ŗ."ŗ(3%,(&ŗ$/-.'(.-ąŗ(ŗ &.,(.ŗ')-ŗ) ŗ)*,.#)(ŗ ),ŗ,#0,-ŗ,ŗ0#&&ŗ-ŗŗ,/(.#'ŗ")#Ąŗ),ŗ()(Ě')()&#."#ŗ ')-ŗ) ŗ)*,.#)(ąŗ."ŗ,/'*ŗ%,(&ŗ#-ŗ#(.,)/ŗ-ŗŗ&#!".1#!".ŗ)(.#(,ŗ ),ŗ,#0,-Ąŗŗ ,/'*ŗ%,(&ŗ,/(-ŗ)(ŗ.)*ŗ) ŗŗ"3*,0#-),ŗ1"#"ŗ) ,-ŗ"#!"Ě&0&ŗ*,#'#.#0-ŗ-/"ŗ-ŗ.",ŗ -"/&#(!ŗ(ŗ0#,./&ŗ''),3Ąŗŗ*,)/.#)(ŗ+/&#.3ŗ#'*&'(..#)(ŗ ),ŗ."ŗ.ŗ)*(ŗ -)/,ŗŗ"-ŗ(ŗ)(Ąŗ"ŗ(3%,(&ŗ,"#../,ŗ(ŗ,/'*ŗ%,(&-ŗ,ŗ0&/.ŗ)."ŗ !#(-.ŗ )/,ŗ3,-ŗ) ŗ,&Ě1),&ŗ2*,#(ŗ ,)'ŗ#&3ŗ.ŗ0&)*'(.ŗ-ŗ1&&ŗ-ŗ!#(-.ŗ -3(.".#ŗ("',%-Ąŗ ,FZXPSET)*,.#(!ŗ-3-.'ŗ%,(&ŗ,"#../,ąŗ#'*&'(..#)(ąŗ)*(ŗ-)/,ŗ *4#/ QSJOUFE ăāĂĚăÿüĚĀúĚþăûĀĚĂŗ *4#/ QEG ăāĂĚăÿüĚĀúĚþăûāĚÿŗ *44/-ûāăăĚþăýþŗ *44/ QSJOUFE ûāăăĚþăýþŗ *44/ QEG ûāăăĚþăþüŗ -PDBUJPOPGQVCMJTIFS-*))ŗ -PDBUJPOPGQSJOUJOH&-#(%#ŗ :FBSüúûüŗ 1BHFTýÿĂŗ VSO"..*ĆĞĞ/,(ĄðĞĆ ĆăāĂĚăÿüĚĀúĚþăûāĚÿŗ 5JJWJTUFMN» "BMUPZMJPQJTUP 1- "BMUPXXXBBMUPGJ 5FLJK» (..#ŗ (.ŗ 7»JUÍTLJSKBOOJNJ )/-.0.ŗ%<3.. $<,$-.&'<.Ćŗ )%3.#'(ŗ$ŗ3(%<3.#'#(ŗ-//((#..&/ŗ$ŗ.)././-ŗ +VMLBJTJKB,/-.#.#(ŗ%),%%)/&/ŗ :LTJLLÍ#.).%(##%(ŗ&#.)-ŗ 4BSKB&.)ŗ(#0,-#.3ŗ*/&#.#)(ŗ-,#-ŗ ŗ ŗûāûĞüúûüŗ 5VULJNVTBMB"$&'#-.)$<,$-.&'<.ŗ ,»TJLJSKPJUVLTFOQWNüûĄúĂĄüúûüŗ 7»JUÍTQ»JW»úāĄûüĄüúûüŗ +VMLBJTVMVWBONZÍOU»NJTQ»JW»úăĄûúĄüúûüŗ ,JFMJ(!&(.#ŗ .POPHSBGJB :IEJTUFMN»W»JUÍTLJSKB ZIUFFOWFUPPTB FSJMMJTBSUJLLFMJU 5JJWJTUFMN» )()&##..#-(ŗ3.#'(ŗ%<3.. $<,$-.&'<.ŗ)0.ŗ',%#..<0#<ąŗ%)-%ŗ(ŗ-#-<&.<0<.ŗ-//,(ŗ'<<,<(ŗ )&'--)&0#ŗ$ŗ.-...$ŗ$/,#.Ąŗ )()&##..#((ŗ,%%#.".//,#ŗ#ŗ%/#.(%(ŗ)&ŗ)(!&'.)(Ćŗ 0#,./&#-)#(.#ŗ)((#-.//ŗ0#(ŗ0#,./&#-)#'&&ŗ3#(ŗ%)%)(#-//.(ąŗ3.#'(ŗ.-./-ŗ)(ŗ0#%ŗ $ŗ.#.)./,0ŗ)(ŗ"#%%)ŗ$)"./(ŗ-##.<ąŗ..<ŗ3.#'--<ŗ-/),#...0&&ŗ)"$&'#-.)&&ŗ)(ŗ-/),ŗ*<<-3ŗ %<3.. $<,$-.&'<(ŗ%#%%##(ŗ)-##(Ąŗ#".)".)#-#ŗ3#(,%%#.".//,#.ąŗ%/.(ŗ'#%,)3#(ŗ$ŗ %-)3#(ąŗ)(ŗ").../ŗ%),$'(ŗ')()&##..#-(ŗ,%%#.".//,#(ŗ)(!&'#Ąŗ#".)".)#-#--ŗ '&&#--ŗ)(ŗ%/#.(%#(ŗ)(!&'(ŗ-ąŗ..#0<.ŗ(ŗ./ŗ3&#-.<ŗ"&/ŗ%<3..<<ŗ')()&##..#-.ŗ3#(.<ąŗ %/(ŗ3&&<'#(#./.ŗ)(!&'.ŗ#0<.ŗ)&ŗ,&0(..$Ąŗ ŗ <--<ŗ.3 --<ŗ&/)(ŗ$)/-.0ŗ$)%3#(Ąŗŗ'")&&#-.ŗ$/,#(ŗ-/),#..'#-(ŗ')(#--ŗ %)(ð!/,.#)#--ąŗ-#',%%$<ŗ$)#-.ŗ)0.ŗ'#%,)3#(Ě.33&#-.ŗ*&0&#'.ŗ$ŗ -)0&&/-%#,$-.).Ąŗ )()&##..#-(ŗ3.#'(ŗ'//(.'#-(ŗ$)%3.#'%-#ŗ(<3..<<(ŗ)((#-./0(ŗ -<<3&&#-&&<ŗ0#0&&ŗ#&'(ŗ-/),#./-%3%3<ŗ"#%(.<0#<ŗ-.,%.#)#.Ąŗ ")&&#-//-ŗ-/),#..ŗ $/,#.ŗ')()&##..#---<ŗ3.#'--<ŗ-<#&33ŗ$ŗ'//.ŗ-/),#./-%)(ð!/,.#).ŗ.,$).(ŗ$)(#%#-(ŗ 0&#(.(Ąŗ /#.ŗ%/#(ŗ')()&##..#-#-.ŗ-/),#./-%)(ð!/,.#).ŗ0,.(ŗ'<<,#.&&<<(ŗ.3(%<3#(ąŗ $)%ŗ)(ŗ$)3'*<,#-. ŗ$/,#&&Ąŗ3(%<3.#'(ŗ-/),#./-ŗ.*".//ŗ"3*,%#".#'(ŗ *<<&&<Ąŗ3*,%#"#(ŗ.,$)ŗ.3(%<3.#'&&ŗ%),%(ŗ.-)(ŗ*&0&/#.ŗ%/.(ŗ-<#-%/&)#((#(ŗ $ŗ0#,./&#'/#-.#(Ąŗ)././-ŗ)(ŗ.".3ŗ./).(.).-)#-(ŗ.Ě(#'#-&&ŗ0)#'(ŗ &<"%))#(ŗ%<3.. $<,$-.&'<&&Ąŗ )%3#(,%%#.".//,#ŗ$ŗ.3(%<3.#'.ŗ,0#)#(ŗ-%<ŗ(&$<(ŗ 0/)(ŗ,&#%)%'/%-(ŗ..<ŗ-3(...#-.(ŗ%)%#(ŗ*,/-.&&Ąŗ ŗ "WBJOTBOBU%<3.. $<,$-.&'<3#(,%%#.".//,#ąŗ.)././-ąŗ0)#(ŗ&<"%))#ŗ *4#/ QBJOFUUV ăāĂĚăÿüĚĀúĚþăûĀĚĂŗ *4#/ QEG ăāĂĚăÿüĚĀúĚþăûāĚÿŗ *44/-ûāăăĚþăýþŗ *44/ QBJOFUUV ûāăăĚþăýþŗ *44/ QEG ûāăăĚþăþüŗ +VMLBJTVQBJLLB-*))ŗ 1BJOPQBJLLB&-#(%#ŗ 7VPTJüúûüŗ 4JWVN»»S»ýÿĂŗ VSO"..*ĆĞĞ/,(ĄðĞĆ ĆăāĂĚăÿüĚĀúĚþăûāĚÿŗ 7 To the memory of my grandfather, Lauri Kantee 8 9 Preface Meet the new boss Same as the old boss – The Who The document you are reading is an extension of the production quality implemen- tation I used to verify the statements that I put forth in this dissertation. The im- plementation and this document mutually support each other, and cross-referencing one while studying the other will allow for a more thorough understanding of this work. As usually happens, many people contributed to both, and I will do my best below to account for the ones who made major contributions. In the professor department, my supervisor Heikki Saikkonen has realized that fig- uring things out properly takes a lot of time, so he did not pressure me for status updates when there was nothing new worth reporting. When he challanged me on my writing, his comments were to the point. He also saw the connecting points of my work and put me in touch with several of my later key contacts. At the beginning of my journey, I had discussions with Juha Tuominen, the professor I worked for during my undergraduate years. Our discussions about doctoral work were on a very high level, but I found myself constantly going back to them, and I still remember them now, seven years later. I thank my preliminary examiners, Kirk McKusick and Renzo Davoli, for the extra effort they made to fully understand my work before giving their verdicts. They not only read the manuscript, but also familiarized themselves with the implementation andmanualpages. 10 My friend and I daresay mentor Johannes Helander influenced this work probably more than any other person. The previous statement is somewhat hard to explain, since we almost never talked specifically about my work. Yet, I am certain that the views and philosophies of Johannes run deep throughout my work. Andre Dolenc was the first person to see the potential for using this technology in a product. He also read some of my earlier texts and tried to guide me to a “storytelling” style of writing. I think I may finally have understood his advice. The first person to read a complete draft of the manuscript was Thomas Klausner. Those who know Thomas or his reputation will no doubt understand why I was glad when he offered to proofread and comment. I was rewarded with what seemed like an endless stream of comments, ranging from pointing out typos and grammatical mistakes to asking for clarifications and to highlighting where my discussion was flawed. The vigilance of the NetBSD open source community kept my work honest and of high quality. I could not cut corners in the changes I made, since that would have been called out immediately. At the risk of doing injustice to some by forgetting to name them, I will list a few people from the NetBSD community who helped me throughout the years. Arnaud Ysmal was the first person to use my work for implementing a large-scale application suite. Nicolas Joly contributed numerous patches. I enjoyed the many insightful discussions with Valeriy Ushakov, and I am especially thankful to him for nudging me into the direction of a simple solution for namespace protection. Finally, the many people involved in the NetBSD test effort helped me to evaluate one of the main use cases for this work. Since a doctoral dissertation should not extensively repeat previously published material, on the subject of contributions from my family, please refer to the preface of [Kantee 2004]. 11 Then there is my dear Xi, who, simply put, made sure I survived. When I was hungry, I got food. When I was sleepy, I got coffee, perfectly brewed. Sometimes I got tea, but that usually happened when I had requested it instead of coffee. My output at times was monosyllabic at best (“hack”,“bug”,“fix”, ...), but that did not bother
Recommended publications
  • Copy on Write Based File Systems Performance Analysis and Implementation
    Copy On Write Based File Systems Performance Analysis And Implementation Sakis Kasampalis Kongens Lyngby 2010 IMM-MSC-2010-63 Technical University of Denmark Department Of Informatics Building 321, DK-2800 Kongens Lyngby, Denmark Phone +45 45253351, Fax +45 45882673 [email protected] www.imm.dtu.dk Abstract In this work I am focusing on Copy On Write based file systems. Copy On Write is used on modern file systems for providing (1) metadata and data consistency using transactional semantics, (2) cheap and instant backups using snapshots and clones. This thesis is divided into two main parts. The first part focuses on the design and performance of Copy On Write based file systems. Recent efforts aiming at creating a Copy On Write based file system are ZFS, Btrfs, ext3cow, Hammer, and LLFS. My work focuses only on ZFS and Btrfs, since they support the most advanced features. The main goals of ZFS and Btrfs are to offer a scalable, fault tolerant, and easy to administrate file system. I evaluate the performance and scalability of ZFS and Btrfs. The evaluation includes studying their design and testing their performance and scalability against a set of recommended file system benchmarks. Most computers are already based on multi-core and multiple processor architec- tures. Because of that, the need for using concurrent programming models has increased. Transactions can be very helpful for supporting concurrent program- ming models, which ensure that system updates are consistent. Unfortunately, the majority of operating systems and file systems either do not support trans- actions at all, or they simply do not expose them to the users.
    [Show full text]
  • Uva-DARE (Digital Academic Repository)
    UvA-DARE (Digital Academic Repository) On the construction of operating systems for the Microgrid many-core architecture van Tol, M.W. Publication date 2013 Link to publication Citation for published version (APA): van Tol, M. W. (2013). On the construction of operating systems for the Microgrid many-core architecture. General rights It is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright holder(s), other than for strictly personal, individual use, unless the work is under an open content license (like Creative Commons). Disclaimer/Complaints regulations If you believe that digital publication of certain material infringes any of your rights or (privacy) interests, please let the Library know, stating your reasons. In case of a legitimate complaint, the Library will make the material inaccessible and/or remove it from the website. Please Ask the Library: https://uba.uva.nl/en/contact, or a letter to: Library of the University of Amsterdam, Secretariat, Singel 425, 1012 WP Amsterdam, The Netherlands. You will be contacted as soon as possible. UvA-DARE is a service provided by the library of the University of Amsterdam (https://dare.uva.nl) Download date:27 Sep 2021 General Bibliography [1] J. Aas. Understanding the linux 2.6.8.1 cpu scheduler. Technical report, Silicon Graphics Inc. (SGI), Eagan, MN, USA, February 2005. [2] D. Abts, S. Scott, and D. J. Lilja. So many states, so little time: Verifying memory coherence in the Cray X1. In Proceedings of the 17th International Symposium on Parallel and Distributed Processing, IPDPS '03, page 10 pp., Washington, DC, USA, April 2003.
    [Show full text]
  • Enhancing the Accuracy of Synthetic File System Benchmarks Salam Farhat Nova Southeastern University, [email protected]
    Nova Southeastern University NSUWorks CEC Theses and Dissertations College of Engineering and Computing 2017 Enhancing the Accuracy of Synthetic File System Benchmarks Salam Farhat Nova Southeastern University, [email protected] This document is a product of extensive research conducted at the Nova Southeastern University College of Engineering and Computing. For more information on research and degree programs at the NSU College of Engineering and Computing, please click here. Follow this and additional works at: https://nsuworks.nova.edu/gscis_etd Part of the Computer Sciences Commons Share Feedback About This Item NSUWorks Citation Salam Farhat. 2017. Enhancing the Accuracy of Synthetic File System Benchmarks. Doctoral dissertation. Nova Southeastern University. Retrieved from NSUWorks, College of Engineering and Computing. (1003) https://nsuworks.nova.edu/gscis_etd/1003. This Dissertation is brought to you by the College of Engineering and Computing at NSUWorks. It has been accepted for inclusion in CEC Theses and Dissertations by an authorized administrator of NSUWorks. For more information, please contact [email protected]. Enhancing the Accuracy of Synthetic File System Benchmarks by Salam Farhat A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor in Philosophy in Computer Science College of Engineering and Computing Nova Southeastern University 2017 We hereby certify that this dissertation, submitted by Salam Farhat, conforms to acceptable standards and is fully adequate in scope and quality to fulfill the dissertation requirements for the degree of Doctor of Philosophy. _____________________________________________ ________________ Gregory E. Simco, Ph.D. Date Chairperson of Dissertation Committee _____________________________________________ ________________ Sumitra Mukherjee, Ph.D. Date Dissertation Committee Member _____________________________________________ ________________ Francisco J.
    [Show full text]
  • High Performance Computing Systems
    High Performance Computing Systems Multikernels Doug Shook Multikernels Two predominant approaches to OS: – Full weight kernel – Lightweight kernel Why not both? – How does implementation affect usage and performance? Gerolfi, et. al. “A Multi-Kernel Survey for High- Performance Computing,” 2016 2 FusedOS Assumes heterogeneous architecture – Linux on full cores – LWK requests resources from linux to run programs Uses CNK as its LWK 3 IHK/McKernel Uses an Interface for Heterogeneous Kernels – Resource allocation – Communication McKernel is the LWK – Only operable with IHK Uses proxy processes 4 mOS Embeds LWK into the Linux kernel – LWK is visible to Linux just like any other process Resource allocation is performed by sysadmin/user 5 FFMK Uses the L4 microkernel – What is a microkernel? Also uses a para-virtualized Linux instance – What is paravirtualization? 6 Hobbes Pisces Node Manager Kitten LWK Palacios Virtual Machine Monitor 7 Sysadmin Criteria Is the LWK standalone? Which kernel is booted by the BIOS? How and when are nodes partitioned? 8 Application Criteria What is the level of POSIX support in the LWK? What is the pseudo file system support? How does an application access Linux functionality? What is the system call overhead? Can LWK and Linux share memory? Can a single process span Linux and the LWK? Does the LWK support NUMA? 9 Linux Criteria Are LWK processes visible to standard tools like ps and top? Are modifications to the Linux kernel necessary? Do Linux kernel changes propagate to the LWK?
    [Show full text]
  • Communicating Between the Kernel and User-Space in Linux Using Netlink Sockets
    SOFTWARE—PRACTICE AND EXPERIENCE Softw. Pract. Exper. 2010; 00:1–7 Prepared using speauth.cls [Version: 2002/09/23 v2.2] Communicating between the kernel and user-space in Linux using Netlink sockets Pablo Neira Ayuso∗,∗1, Rafael M. Gasca1 and Laurent Lefevre2 1 QUIVIR Research Group, Departament of Computer Languages and Systems, University of Seville, Spain. 2 RESO/LIP team, INRIA, University of Lyon, France. SUMMARY When developing Linux kernel features, it is a good practise to expose the necessary details to user-space to enable extensibility. This allows the development of new features and sophisticated configurations from user-space. Commonly, software developers have to face the task of looking for a good way to communicate between kernel and user-space in Linux. This tutorial introduces you to Netlink sockets, a flexible and extensible messaging system that provides communication between kernel and user-space. In this tutorial, we provide fundamental guidelines for practitioners who wish to develop Netlink-based interfaces. key words: kernel interfaces, netlink, linux 1. INTRODUCTION Portable open-source operating systems like Linux [1] provide a good environment to develop applications for the real-world since they can be used in very different platforms: from very small embedded devices, like smartphones and PDAs, to standalone computers and large scale clusters. Moreover, the availability of the source code also allows its study and modification, this renders Linux useful for both the industry and the academia. The core of Linux, like many modern operating systems, follows a monolithic † design for performance reasons. The main bricks that compose the operating system are implemented ∗Correspondence to: Pablo Neira Ayuso, ETS Ingenieria Informatica, Department of Computer Languages and Systems.
    [Show full text]
  • Virtfs—A Virtualization Aware File System Pass-Through
    VirtFS—A virtualization aware File System pass-through Venkateswararao Jujjuri Eric Van Hensbergen Anthony Liguori IBM Linux Technology Center IBM Research Austin IBM Linux Technology Center [email protected] [email protected] [email protected] Badari Pulavarty IBM Linux Technology Center [email protected] Abstract operations into block device operations and then again into host file system operations. This paper describes the design and implementation of In addition to performance improvements over a tradi- a paravirtualized file system interface for Linux in the tional virtual block device, exposing guest file system KVM environment. Today’s solution of sharing host activity to the hypervisor provides greater insight to the files on the guest through generic network file systems hypervisor about the workload the guest is running. This like NFS and CIFS suffer from major performance and allows the hypervisor to make more intelligent decisions feature deficiencies as these protocols are not designed with respect to I/O caching and creates new opportuni- or optimized for virtualization. To address the needs of ties for hypervisor-based services like de-duplification. the virtualization paradigm, in this paper we are intro- ducing a new paravirtualized file system called VirtFS. In Section 2 of this paper, we explore more details about This new file system is currently under development and the motivating factors for paravirtualizing the file sys- is being built using QEMU, KVM, VirtIO technologies tem layer. In Section 3, we introduce the VirtFS design and 9P2000.L protocol. including an overview of the 9P protocol, which VirtFS is based on, along with a set of extensions introduced for greater Linux guest compatibility.
    [Show full text]
  • DMFS - a Data Migration File System for Netbsd
    DMFS - A Data Migration File System for NetBSD William Studenmund Veridian MRJ Technology Solutions NASAAmes Research Center" Abstract It was designed to support the mass storage systems de- ployed here at NAS under the NAStore 2 system. That system supported a total of twenty StorageTek NearLine ! have recently developed DMFS, a Data Migration File tape silos at two locations, each with up to four tape System, for NetBSD[I]. This file system provides ker- drives each. Each silo contained upwards of 5000 tapes, nel support for the data migration system being devel- and had robotic pass-throughs to adjoining silos. oped by my research group at NASA/Ames. The file system utilizes an underlying file store to provide the file The volman system is designed using a client-server backing, and coordinates user and system access to the model, and consists of three main components: the vol- files. It stores its internal metadata in a flat file, which man master, possibly multiple volman servers, and vol- resides on a separate file system. This paper will first man clients. The volman servers connect to each tape describe our data migration system to provide a context silo, mount and unmount tapes at the direction of the for DMFS, then it will describe DMFS. It also will de- volman master, and provide tape services to clients. The scribe the changes to NetBSD needed to make DMFS volman master maintains a database of known tapes and work. Then it will give an overview of the file archival locations, and directs the tape servers to move and mount and restoration procedures, and describe how some typi- tapes to service client requests.
    [Show full text]
  • Internetworking with TCP/IP
    Internetworking With TCP/IP Douglas Comer Computer Science Department Purdue University 250 N. University Street West Lafayette, IN 47907-2066 http://www.cs.purdue.edu/people/comer Copyright 2005. All rights reserved. This document may not be reproduced by any means without written consent of the author. PART I COURSE OVERVIEW AND INTRODUCTION Internetworking With TCP/IP vol 1 -- Part 1 1 2005 Topic And Scope Internetworking: an overview of concepts, terminology, and technology underlying the TCP/IP Internet protocol suite and the architecture of an internet. Internetworking With TCP/IP vol 1 -- Part 1 2 2005 You Will Learn Terminology (including acronyms) Concepts and principles ± The underlying model ± Encapsulation ± End-to-end paradigm Naming and addressing Functions of protocols including ARP, IP, TCP, UDP, SMTP, FTP, DHCP, and more Layering model Internetworking With TCP/IP vol 1 -- Part 1 3 2005 You Will Learn (continued) Internet architecture and routing Applications Internetworking With TCP/IP vol 1 -- Part 1 4 2005 What You Will NOT Learn A list of vendors, hardware products, software products, services, comparisons, or prices Alternative internetworking technologies (they have all disappeared!) Internetworking With TCP/IP vol 1 -- Part 1 5 2005 Schedule Of Topics Introduction Review of ± Network hardware ± Physical addressing Internet model and concept Internet (IP) addresses Higher-level protocols and the layering principle Examples of internet architecture Internetworking With TCP/IP vol 1 -- Part 1 6 2005 Schedule Of Topics
    [Show full text]
  • Rtkaller: State-Aware Task Generation for RTOS Fuzzing
    17 Rtkaller: State-aware Task Generation for RTOS Fuzzing YUHENG SHEN, HAO SUN, YU JIANG, HEYUAN SHI ∗, and YIXIAO YANG ∗, KLISS, BNRist, School of Software, Tsinghua University, China WANLI CHANG, Hunan University, China A real-time operating system (RTOS) is an operating system designed to meet certain real-time requirements. It is widely used in embedded applications, and its correctness is safety-critical. However, the validation of RTOS is challenging due to its complex real-time features and large code base. In this paper, we propose Rtkaller, a state-aware kernel fuzzer for the vulnerability detection in RTOS. First, Rtkaller implements an automatic task initialization to transform the syscall sequences into initial tasks with more real-time information. Then, a coverage-guided task mutation is designed to generate those tasks that explore more in-depth real-time related code for parallel execution. Moreover, Rtkaller realizes a task modification to correct those tasks that may hang during fuzzing. We evaluated it on recent versions of rt-Linux, which is one of the most widely used RTOS. Compared to the state-of-the-art kernel fuzzers Syzkaller and Moonshine, Rtkaller achieves the same code coverage at the speed of 1.7X and 1.6X , gains an increase of 26.1% and 22.0% branch coverage within 24 hours respectively. More importantly, Rtkaller has confirmed 28 previously unknown vulnerabilities that are missed by other fuzzers. CCS Concepts: • Security and privacy ! Virtualization and security; Domain-specific security and privacy architectures; Vulnerability scanners; • Computer systems organization ! Real-time operat- ing systems. Additional Key Words and Phrases: Fuzz Testing, RTOS, Vulnerability Detection, Task Generation ACM Reference Format: Yuheng Shen, Hao Sun, Yu Jiang, Heyuan Shi, Yixiao Yang, and Wanli Chang.
    [Show full text]
  • Review Der Linux Kernel Sourcen Von 4.9 Auf 4.10
    Review der Linux Kernel Sourcen von 4.9 auf 4.10 Reviewed by: Tested by: stecan stecan Period of Review: Period of Test: From: Thursday, 11 January 2018 07:26:18 o'clock +01: From: Thursday, 11 January 2018 07:26:18 o'clock +01: To: Thursday, 11 January 2018 07:44:27 o'clock +01: To: Thursday, 11 January 2018 07:44:27 o'clock +01: Report automatically generated with: LxrDifferenceTable, V0.9.2.548 Provided by: Certified by: Approved by: Account: stecan Name / Department: Date: Friday, 4 May 2018 13:43:07 o'clock CEST Signature: Review_4.10_0_to_1000.pdf Page 1 of 793 May 04, 2018 Review der Linux Kernel Sourcen von 4.9 auf 4.10 Line Link NR. Descriptions 1 .mailmap#0140 Repo: 9ebf73b275f0 Stephen Tue Jan 10 16:57:57 2017 -0800 Description: mailmap: add codeaurora.org names for nameless email commits ----------- Some codeaurora.org emails have crept in but the names don't exist for them. Add the names for the emails so git can match everyone up. Link: http://lkml.kernel.org/r/[email protected] 2 .mailmap#0154 3 .mailmap#0160 4 CREDITS#2481 Repo: 0c59d28121b9 Arnaldo Mon Feb 13 14:15:44 2017 -0300 Description: MAINTAINERS: Remove old e-mail address ----------- The ghostprotocols.net domain is not working, remove it from CREDITS and MAINTAINERS, and change the status to "Odd fixes", and since I haven't been maintaining those, remove my address from there. CREDITS: Remove outdated address information ----------- This address hasn't been accurate for several years now.
    [Show full text]
  • Mellanox Linux Switch †
    SOFTWARE PRODUCT BRIEF Mellanox Linux Switch † – Taking Open Ethernet to the next level, Mellanox Linux Switch provides users with the ability to deploy any standard Linux operating HIGHLIGHTS system on their switch devices – Mellanox Linux Switch enables users to natively install and use any standard Linux distribution as • 100% free open source software the switch operating system on the Open Ethernet Mellanox Spectrum® switch platforms. Mellanox Linux Switch is based on Switchdev, a Linux kernel driver model for Ethernet switches. Mellanox is • L2/L3 switch system as standard Linux the first switch vendor to embrace this model by implementing the switchdev driver for its Mellanox server Spectrum switches. This revolutionary concept breaks the dependency of using vendor-specific • Uniform Linux interfaces software development kits (SDK). Instead of proprietary APIs, fully standard Linux kernel interfaces are used to control the switch chip. This allows users to natively install and use any standard Linux • Fully supported by the Linux distribution as the switch operating system, while the switchdev driver ensures all network traffic is community seamlessly offloaded to the switch hardware. • Hardware independent abstraction layer Openness and Freedom • User choice of Linux operating The 100% free open-source Mellanox switchdev driver is developed and maintained as part of the systems and network applications Linux kernel and is promoted by the Linux community. There is no longer a need for closed code from switch vendors, no more binary blobs, and no need to sign a service level agreement (SLA). • Industry’s highest performance switch systems portfolio, including the high- Linux Switch provides users the flexibility to customize and optimize the switch to their exact needs density half-width Mellanox SN2100 without paying for expensive proprietary software that includes features they neither need nor will never use.
    [Show full text]
  • Ubuntu Server Guide Basic Installation Preparing to Install
    Ubuntu Server Guide Welcome to the Ubuntu Server Guide! This site includes information on using Ubuntu Server for the latest LTS release, Ubuntu 20.04 LTS (Focal Fossa). For an offline version as well as versions for previous releases see below. Improving the Documentation If you find any errors or have suggestions for improvements to pages, please use the link at thebottomof each topic titled: “Help improve this document in the forum.” This link will take you to the Server Discourse forum for the specific page you are viewing. There you can share your comments or let us know aboutbugs with any page. PDFs and Previous Releases Below are links to the previous Ubuntu Server release server guides as well as an offline copy of the current version of this site: Ubuntu 20.04 LTS (Focal Fossa): PDF Ubuntu 18.04 LTS (Bionic Beaver): Web and PDF Ubuntu 16.04 LTS (Xenial Xerus): Web and PDF Support There are a couple of different ways that the Ubuntu Server edition is supported: commercial support and community support. The main commercial support (and development funding) is available from Canonical, Ltd. They supply reasonably- priced support contracts on a per desktop or per-server basis. For more information see the Ubuntu Advantage page. Community support is also provided by dedicated individuals and companies that wish to make Ubuntu the best distribution possible. Support is provided through multiple mailing lists, IRC channels, forums, blogs, wikis, etc. The large amount of information available can be overwhelming, but a good search engine query can usually provide an answer to your questions.
    [Show full text]