计算机科学 ›› 2018, Vol. 45 ›› Issue (11): 37-44.doi: 10.11896/j.issn.1002-137X.2018.11.004
舒红梅1, 谭良1,2
SHU Hong-mei1, TAN Liang1,2
摘要: 最早的库操作系统(Library OS,LibOS)基于外内核架构,目的是验证在用户空间管理系统资源的可行性和高性能性。但是,由于外内核还停留在研究上,实际应用中仍以宏内核和混合内核为主,因此LibOS一开始并没有引起学术界和产业界的过多关注。伴随云计算的快速发展和物联网的兴起,为了构建安全高效的Unikernel云服务和物联网微服务,LibOS成为了新的研究热点。首先总结了LibOS的基本定义和基本特点;然后提出了LibOS分类模型;接着总结了LibOS的系统架构,并详细阐述了LibOS的关键技术,包括LibOS内核基中的线程管理、CPU调度和虚拟内存管理以及LibOS功能系中的网络服务功能、文件I/O功能和设备访问功能等;最后结合已有的研究成果,探讨了LibOS面临的问题和挑战。
中图分类号:
[1]STALLINGS W.Operating Systems:Internals and Design Principles,Global Edition[J].Bbc Video Library,2014,18(2):235-244. [2]MCBREWSTER J,MILLER F P,VANDOME A F.Kernel- computing:Monolithic kernel,Microkernel,Hybrid kernel,Exokernel,History of operating systems,Time-sharing,Unix,History of Mac OS,AmigaOS,History of Microsoft Windows[J].Pesquisa AgropecuáriaBrasileira,2012,47(3):336-343. [3]MIAO H.Analysis of Practicality and Performance Evaluation for Monolithic Kernel and Micro-Kernel Operating Systems[J].International Journal of Engineering,2011,5(4):277-291. [4]VALÈRIO C H.Microkernel Development for Embedded Sys- tems[J].Journal of Software Engineering & Applications,2013,6(1):20-28. [5]KLEIN G,ANDRONICK J,ELPHINSTONE K,et al.Comprehensive Formal Verification of an OS Microkernel[J].Acm Transactions on Computer Systems,2014,32(1):136-156. [6]QIAN Z J,LIU Y J,YAO Y F,et al.Research on Method of Formal Design and Verification of Memory Management Based on Microkernel Architecture [J].Acta Electronic Journal,2017,45(1):251-256.(in Chinese) 钱振江,刘永俊,姚宇峰,等.微内核架构内存管理的形式化设计和验证方法研究[J].电子学报,2017,45(1):251-256. [7]LI Z Z.A study of File System Based on Exokernel Operating System [D].Lanzhou:Lanzhou University,2016.(in Chinese) 李肇中.基于外内核操作系统的文件系统研究[D].兰州:兰州大学,2016. [8]ENGLER D R,KAASHOEK M F,O’TOOLE J.Exokernel:an operating system architecture for application-level resource ma-nagement[J].Acm Sigops Operating Systems Review,1995,29(5):251-266. [9]PULIDO B M H.Decentralizing UNIX abstractions in the Exokernel architecture[D].Cambridge:Massachusetts Institute of Technology,1997. [10]GANGER G R,ENGLER D R,KAASHOEK M F,et al.Fast and flexible application-level networking on exokernel systems[J].Acm Transactions on Computer Systems,2002,20(1):49-83. [11]LESLIE I M,MCAULEY D,BLACK R,et al.The design and implementation of an operating system to support distributed multimedia applications[J].IEEE Journal on Selected Areas in Communications,1996,14(7):1280-1297. [12]HU J.Preliminary Research on Time Subsytem in Exokernel [D].Lanzhou:Lanzhou University,2014.(in Chinese) 胡俊.外内核时间子系统的初步研究[D].兰州:兰州大学,2014. [13]DONG W,CHEN C,LIU X,et al.SenSpire OS:A Predictable,Flexible,and Efficient Operating System for Wireless Sensor Networks[J].IEEE Transactions on Computers,2011,60(12):1788-1801. [14]DENG L,ZENG Q K.Method to Efficiently Protect Applica- tions from Untrusted OS Kernel [J].Journal of Software,2016,27(5):1309-1324.(in Chinese) 邓良,曾庆凯.一种在不可信操作系统内核中高效保护应用程序的方法[J].软件学报,2016,27(5):1309-1324. [15]CRISWELL J,DAUTENHAHN N,ADVE V.KCoFI:Complete Control-Flow Integrity for Commodity Operating System Kernels[C]∥Security and Privacy.IEEE,2014:292-307. [16]REUTHER A,MICHALEAS P,PROUT A,et al.HPC-VMs:Virtual machines in high performance computing systems[C]∥High PERFORMANCE Extreme Computing.IEEE,2013:1-6. [17]AMMONS G,APPAVOO J,BUTRICO M,et al.Libra:a library operating system for a jvm in a virtualized execution environment[C]∥International Conference on Virtual Execution Environments(VEE 2007).San Diego,California,USA,DBLP,2007:44-54. [18]BAUMANN A,LEE D,FONSECA P,et al.Composing OS extensions safely and efficiently with Bascule[C]∥Proceedings of the 8th ACM European Conference on Computer Systems.2013:239-252. [19]HERDER J N.Towards a True Microkernel Operating System.A revision of MINIX that brings quality enhancements and strongly reduces the kernel in size by moving device drivers to user-space[D].Amsterdam:Vrije Universiteit Amsterdan,2005. [20]WU Z X.Advances on virtualization technology of cloud computing[J].Computer Application,2017,37(4):915-923.(in Chinese) 武志学.云计算虚拟化技术的发展与趋势[J].计算机应用,2017,37(4):915-923. [21]HE W,YAN G,XU L D.Developing Vehicular Data Cloud Services in the IoT Environment[J].IEEE Transactions on Industrial Informatics,2015,10(2):1587-1595. [22]KUMARA M A A,JAIDHAR C D.Hypervisor and virtual machine dependent Intrusion Detection and Prevention System for virtualized cloud environment[C]∥International Conference on Telematics and Future Generation Networks.IEEE,2015:28-33. [23]BARHAM P,DRAGOVIC B,FRASER K,et al.Xen and the art of virtualization[C]∥Nineteenth ACM Symposium on Opera-ting Systems Principles.ACM,2003:164-177. [24]BALALAIE A,HEYDARNOORI A,JAMSHIDI P.Microser- vices Architecture Enables DevOps:Migration to a Cloud-Native Architecture[J].IEEE Software,2016,33(3):42-52. [25]BRATTERUD A,WALLA A A,HAUGERUD H,et al.In- cludeOS:A Minimal,Resource Efficient Unikernel for Cloud Services[C]∥International Conference on Cloud Computing Technology and Science.IEEE,2015:250-257. [26]MADHAVAPEDDY A,MORTIER R,ROTSOS C,et al.Unikernels:library operating systems for the cloud[C]∥Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems.ACM,2013:461-472. [27]MADHAVAPEDDY A,MORTIER R,ROTSOS C,et al.Unikernels[J].Acm Sigplan Notices,2013,48(4):461. [28]MADHAVAPEDDY A,SCOTT D J.Unikernels:Rise of the Virtual Library Operating System[J].Queue,2013,11(11):30. [29]Unikernels-Rethinking Cloud Infrastructure[EB/OL].[2017- 09-08].http://unikernel.org/. [30]Wikipedia.Unikernel[EB/OL].(2017-08-12) [2017-09-08].https://en.wikipedia.org/wiki/Unikernel. [31]DUNCAN B,HAPPE A,BRATTERUD A.Enterprise IoT Security and Scalability:How Unikernels can Improve the Status Quo[C]∥Sd3c 16 at the IEEE/ACM,International Conference on Utility and Cloud Computing.ACM,2016. [32]MADHAVAPEDDY A,LEONARD T,SKJEGSTAD M,et al.Jitsu:Just-In-Time Summoning of Unikernels[J].Intelligent Decision Technologies,2015,4(1):39-50. [33]PORTER D E,BOYD-WICKIZER S,HOWELL J,et al.Rethinking the library OS from the top down[C]∥Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems.ACM,2011:291-304. [34]Microsoft Research.Drawbridge [EB/OL].(2011-09-19) [2017-09-08].https://www.microsoft.com/en-us/research/project/drawbridge/. [35]hioa-cs/IncludeOS:A minimal,resource efficient unikernel for cloud services[EB/OL].[2017-09-08].https://github.com/hioa-cs/IncludeOS. [36]MirageOS [EB/OL].[2017-09-08].https://mirage.io. [37]Galois Inc.The Haskell Lightweight Virtual Machine (HaLVM) source archive [EB/OL].[2017-09-08].http://galois.com/project/HaLVM/. [38]TSAI C C,ARORA K S,BANDI N,et al.Cooperation and security isolation of library OSes for multi-process applications[C]∥Eurosys’14 Proceedings of the Ninth European Conference on Computer Systems.ACM,2014:1-14. [39]Github.Graphene [EB/OL].[2017-09-08].https://github.com/oscarlab/graphene/wiki. [40]MARTINS J,AHMED M,RAICIU C,et al.ClickOS and the art of network function virtualization[C]∥Usenix Conference on Networked Systems Design and Implementation.USENIX Association,2014:459-473. [41]BALLESTEROS F J.TD Lsub[EB/OL].[2017-09-08].http://www.lsub.org/export/clivesys.pdf. [42]Erlang on Xen:at the heart of super-elastic clouds [EB/OL].[2017-09-08].http://erlangonxen.org/. [43]LANKES S,PICKARTZ S,BREITBART J.HermitCore:A Unikernel for Extreme Scale Computing[C]∥International Workshop on Runtime and Operating Systems for Supercompu-ters.2016:4. [44]LANKES S,PICKARTZ S,KREBS D,et al.HermitCore [EB/OL].[2017-09-08].http://www.hermitcore.org/. [45]runtime.js - JavaScript library operating system for the cloud [EB/OL].[2017-09-08].http://runtimejs.org/. [46]KIVITY A,LAOR D,COSTA G,et al.Osv—optimizing the ope- rating system for virtual machines[C]∥Usenix Conference on Usenix Technical Conference.USENIX Association.2014:61-72. [47]OSv-the operating system designed for the cloud [EB/OL]. [2017-09-08].http://osv.io/. [48]GitHub.rumpkernel/rumprun [EB/OL].[2017-09-08].https://github.com/rumpkernel/rumprun. [49]KANTEE A.Flexible Operating System Internals:The Design and Implementation of the Anykernel and Rump Kernels[D].Finland:Aalto University,2012. [50]KANTEE A.puffs-Pass-to-Userspace Framework File System [C]∥Asiabsdcon.Tokyo:AsiaBSDCom Press,2007:29-42. |
[1] | 高诗尧, 陈燕俐, 许玉岚. 云环境下基于属性的多关键字可搜索加密方案 Expressive Attribute-based Searchable Encryption Scheme in Cloud Computing 计算机科学, 2022, 49(3): 313-321. https://doi.org/10.11896/jsjkx.201100214 |
[2] | 王政, 姜春茂. 一种基于三支决策的云任务调度优化算法 Cloud Task Scheduling Algorithm Based on Three-way Decisions 计算机科学, 2021, 48(6A): 420-426. https://doi.org/10.11896/jsjkx.201000023 |
[3] | 潘瑞杰, 王高才, 黄珩逸. 云计算下基于动态用户信任度的属性访问控制 Attribute Access Control Based on Dynamic User Trust in Cloud Computing 计算机科学, 2021, 48(5): 313-319. https://doi.org/10.11896/jsjkx.200400013 |
[4] | 陈玉平, 刘波, 林伟伟, 程慧雯. 云边协同综述 Survey of Cloud-edge Collaboration 计算机科学, 2021, 48(3): 259-268. https://doi.org/10.11896/jsjkx.201000109 |
[5] | 王文娟, 杜学绘, 任志宇, 单棣斌. 基于因果知识和时空关联的云平台攻击场景重构 Reconstruction of Cloud Platform Attack Scenario Based on Causal Knowledge and Temporal- Spatial Correlation 计算机科学, 2021, 48(2): 317-323. https://doi.org/10.11896/jsjkx.191200172 |
[6] | 蒋慧敏, 蒋哲远. 企业云服务体系结构的参考模型与开发方法 Reference Model and Development Methodology for Enterprise Cloud Service Architecture 计算机科学, 2021, 48(2): 13-22. https://doi.org/10.11896/jsjkx.200300044 |
[7] | 陆懿帆, 曹芮浩, 王俊丽, 闫春钢. 一种基于微服务的检察业务服务封装方法 Method of Encapsulating Procuratorate Affair Services Based on Microservices 计算机科学, 2021, 48(2): 33-40. https://doi.org/10.11896/jsjkx.191100152 |
[8] | 王焘, 张树东, 李安, 邵亚茹, 张文博. 一种面向异常传播的微服务故障诊断方法 Anomaly Propagation Based Fault Diagnosis for Microservices 计算机科学, 2021, 48(12): 8-16. https://doi.org/10.11896/jsjkx.210100149 |
[9] | 江郑, 王俊丽, 曹芮浩, 闫春钢. 一种基于微服务架构的服务划分方法 Method of Service Decomposition Based on Microservice Architecture 计算机科学, 2021, 48(12): 17-23. https://doi.org/10.11896/jsjkx.210500078 |
[10] | 毛瀚宇, 聂铁铮, 申德荣, 于戈, 徐石成, 何光宇. 区块链即服务平台关键技术及发展综述 Survey on Key Techniques and Development of Blockchain as a Service Platform 计算机科学, 2021, 48(11): 4-11. https://doi.org/10.11896/jsjkx.210500159 |
[11] | 王勤, 魏立斐, 刘纪海, 张蕾. 基于云服务器辅助的多方隐私交集计算协议 Private Set Intersection Protocols Among Multi-party with Cloud Server Aided 计算机科学, 2021, 48(10): 301-307. https://doi.org/10.11896/jsjkx.210300308 |
[12] | 朱汉卿, 马武彬, 周浩浩, 吴亚辉, 黄宏斌. 基于改进多目标进化算法的微服务用户请求分配策略 Microservices User Requests Allocation Strategy Based on Improved Multi-objective Evolutionary Algorithms 计算机科学, 2021, 48(10): 343-350. https://doi.org/10.11896/jsjkx.201100009 |
[13] | 雷阳, 姜瑛. 云计算环境下关联节点的异常判断 Anomaly Judgment of Directly Associated Nodes Under Cloud Computing Environment 计算机科学, 2021, 48(1): 295-300. https://doi.org/10.11896/jsjkx.191200186 |
[14] | 徐蕴琪, 黄荷, 金钟. 容器技术在科学计算中的应用研究 Application Research on Container Technology in Scientific Computing 计算机科学, 2021, 48(1): 319-325. https://doi.org/10.11896/jsjkx.191100111 |
[15] | 何志鹏, 李瑞琳, 牛北方. 高可用弹性宏基因组学计算平台 Highly Available Elastic Computing Platform for Metagenomics 计算机科学, 2021, 48(1): 326-332. https://doi.org/10.11896/jsjkx.191200030 |
|