计算机科学 ›› 2018, Vol. 45 ›› Issue (11): 37-44.doi: 10.11896/j.issn.1002-137X.2018.11.004

• 综述 • 上一篇    下一篇

库操作系统的研究及其进展

舒红梅1, 谭良1,2   

  1. (四川师范大学计算机科学学院 成都610101)1
    (中国科学院计算技术研究所 北京100190)2
  • 收稿日期:2017-09-10 发布日期:2019-02-25
  • 作者简介:舒红梅(1992-),女,硕士生,主要研究方向为信息安全,E-mail:shm.1992@foxmail.com;谭 良(1972-),男,博士,教授,CCF高级会员,主要研究方向为可信计算、网络安全、云计算和大数据处理,E-mail:tanliang2008cn@126.com(通信作者)。
  • 基金资助:
    本文受国家自然科学基金(61373162),四川省科技支撑项目(2014GZ0007)资助。

Research and Development of Library Operating System

SHU Hong-mei1, TAN Liang1,2   

  1. (College of Computer Science,Sichuan Normal University,Chengdu 610101,China)1
    (Institute of Computing Technology,Chinese Academy of Sciences,Beijing 100190,China)2
  • Received:2017-09-10 Published:2019-02-25

摘要: 最早的库操作系统(Library OS,LibOS)基于外内核架构,目的是验证在用户空间管理系统资源的可行性和高性能性。但是,由于外内核还停留在研究上,实际应用中仍以宏内核和混合内核为主,因此LibOS一开始并没有引起学术界和产业界的过多关注。伴随云计算的快速发展和物联网的兴起,为了构建安全高效的Unikernel云服务和物联网微服务,LibOS成为了新的研究热点。首先总结了LibOS的基本定义和基本特点;然后提出了LibOS分类模型;接着总结了LibOS的系统架构,并详细阐述了LibOS的关键技术,包括LibOS内核基中的线程管理、CPU调度和虚拟内存管理以及LibOS功能系中的网络服务功能、文件I/O功能和设备访问功能等;最后结合已有的研究成果,探讨了LibOS面临的问题和挑战。

关键词: Unikernel, 库操作系统, 微服务, 云计算

Abstract: The earliest library operating system (LibOS) is based on exokernel,and its purpose is to verify feasibility and high performance for management system resources in user space.However,exokernel is still in the study.Macro kernel and Hybrid kernel are the main operating system architectures in actual application.So LibOS didn’t attract much attention from academia and industry at the beginning.As the rapid development of cloud computing and the rise of the Internet of Things,in order to build secure and high-performance Unikernel which is a kind of special micro-ser-vice,LibOS has become a new research hotspot.Firstly,the basic definition and features of LibOS were introduced,and the classification model of LibOS was put forward.Secondly,the architecture of LibOS was proposed and the key technologies of LibOS were described in detail,including thread management,virtual CPU scheduling,virtual memory ma-nagement in LibOS kernel base,and network service,the disk file I/O and devices access in LibOS functions,etc.Finally,based on the existing research results,this paper discussed the problems and challenges of LibOS.

Key words: Cloud computing, Library operating system(LibOS), Micro services, Unikernel

中图分类号: 

  • TP316
[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
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!