CN114546599B - 一种容器操作系统 - Google Patents

一种容器操作系统 Download PDF

Info

Publication number
CN114546599B
CN114546599B CN202210179839.0A CN202210179839A CN114546599B CN 114546599 B CN114546599 B CN 114546599B CN 202210179839 A CN202210179839 A CN 202210179839A CN 114546599 B CN114546599 B CN 114546599B
Authority
CN
China
Prior art keywords
container
shared
application
access
driver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210179839.0A
Other languages
English (en)
Other versions
CN114546599A (zh
Inventor
李燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kedong Guangzhou Software Technology Co Ltd
Original Assignee
Kedong Guangzhou Software Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kedong Guangzhou Software Technology Co Ltd filed Critical Kedong Guangzhou Software Technology Co Ltd
Priority to CN202210179839.0A priority Critical patent/CN114546599B/zh
Publication of CN114546599A publication Critical patent/CN114546599A/zh
Application granted granted Critical
Publication of CN114546599B publication Critical patent/CN114546599B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种容器操作系统,包括微内核和若干个容器,每个容器包括容器运行环境,所述容器运行环境用于为各自容器提供容器资源,所述容器资源包括微内核通过所述容器运行环境为每个容器提供的与硬件相关的专属第一资源,各所述容器的所述容器资源互相隔离;所述容器包括系统容器和应用容器,所述系统容器为各所述应用容器提供共享服务,所述共享服务至少包括下列中的一种:文件服务、驱动服务、网络服务。本发明的技术方案提升容器操作系统的隔离性、安全性和易用性,满足嵌入式操作系统的要求。

Description

一种容器操作系统
技术领域
本发明涉及操作系统领域,特别是涉及一种容器操作系统。
背景技术
容器是一种操作系统级的虚拟化,利用操作系统的功能实现尽可能实现多个相互隔离的操作系统运行环境,对硬件没有特殊需求,其性能与硬虚拟机相当,但其资源消耗小、启动快、性能高,目前在云平台中得到了大量的应用。
当前主流的容器实现方式,都是在操作系统内核增加了复杂的容器功能支撑,比如在Linux上主要通过NameSpace、Control Group、UFS实现容器支持,容器因此操作系统复杂性增加,同时容器间的隔离性没有虚拟机好、运行环境只能是与宿主操作系统相同的。所以容器在嵌入式的实时操作系统难以应用。
发明内容
有鉴于此,本发明的实施例提供了一种容器操作系统,在一种容器操作系统实施例一中,通过系统容器为应用容器提供管理服务、文件服务、网络服务和驱动服务,提高了容器操作系统的易用性,降低了各容器直接访问共享服务时相互之间的影响;通过微内核为每个容器独立的第一资源,其至少包括:CPU运行时间、内存空间、中断、专属设备,提升容器操作系统的实时性、隔离性和安全性,满足嵌入式操作系统的要求。
本发明实施例的第一方面提供了一种容器操作系统,其包括微内核和若干个容器,每个容器包括容器运行环境,所述容器运行环境用于为各自容器提供容器资源,所述容器资源包括微内核通过所述容器运行环境为每个容器提供的与硬件相关的专属第一资源,各所述容器的所述容器资源互相隔离;所述容器包括系统容器和应用容器,所述系统容器为各所述应用容器提供共享服务,所述共享服务至少包括下列中的一种:文件服务、驱动服务、网络服务。
由上,通过系统容器为应用容器提供管理服务、文件服务、网络服务和驱动服务,提供容器操作系统的易用性;通过微内核为每个容器独立的容器资源,提升容器操作系统的隔离性和安全性,满足嵌入式操作系统的要求。
在本发明第一方面的一种可能的实施方式中,所述第一资源至少包括:CPU运行时间、内存空间、中断、专属设备。
由上,通过微内核分别为每个容器提供独立的的CPU运行时间、内存空间、中断、专属设备,相对于传统的基于权限和配额的方法分配CPU运行时间、内存空间、中断、外部设备,从而提升容器操作系统的实时性、隔离性和安全性,满足嵌入式操作系统的要求。
在本发明第一方面的一种可能的实施方式中,所述容器运行环境还包括容器访问控制;所述系统容器通过其所述容器访问控制为所述应用容器提供所述共享服务;所述应用容器通过其所述容器访问控制获取所述系统容器的所述共享服务。
由上,通过容器的容器访问控制实现系统容器对应用容器获取共享服务的管理和认证审核,提高了访问的安全性。
在本发明第一方面的一种可能的实施方式中,所述微内核通过以容器为调度单位的CPU调度机制为每个容器提供独立的CPU运行时间,所述CPU调度机制至少包括以下一种:时间表调度、优先级调度。
由上,通过CPU调度机制为每个容器提供独立的CPU运行时间,提升了容器运行的实时性和隔离性。
在本发明第一方面的一种可能的实施方式中,所述微内核通过硬件的MMU机制为每个容器提供独立的内存空间。
由上,通过MMU机制为每个容器提供独立的内存空间,提升容器运行的实时性和隔离性。
在本发明第一方面的一种可能的实施方式中,所述微内核提供容器级别的中断支持。
由上,通过容器级别的中断支持,每个容器可以有自己的中断处理程序,为每个容器提供独立的中断处理,提升容器运行的实时性和隔离性。
在本发明第一方面的一种可能的实施方式中,所述微内核为每个容器分配专属设备。
由上,通过容器级别的专属设备,为每个容器访问外部设备实现隔离,提升容器对专属设备控制的实时性和隔离性。
在本发明第一方面的一种可能的实施方式中,所述容器资源还包括第二资源,各容器的所述第二资源互相独立;所述第二资源根据容器的应用至少包括下列之一:包括至少下列之一:文件系统、网络协议栈、设备驱动程序、环境变量、命名空间、套接字或线程与进程的控制量,所述控制量包括同步量、互斥量和通信量。
由上,通过容器运行环境分别为每个容器提供独立的容器资源中的第二资源,第二资源在容器之间隔离,进一步实现本发明的容器操作系统的各容器之间的隔离性和安全性。
在本发明第一方面的一种可能的实施方式中,所述容器运行环境还提供所述第一资源和/或所述第二资源的POSIX的访问接口。
由上,因为容器之间的POSIX命名空间为隔离且独立的,通过POSIX的访问接口实现对容器的第一资源和第二资源的安全访问。
在本发明第一方面的一种可能的实施方式中,所述应用容器的容器运行环境基于权限和/或配额获取所述系统容器的所述共享服务。
由上,基于权限和/或配额实现对系统容器的共享服务的访问的可认证性。
在本发明第一方面的一种可能的实施方式中,所述应用容器还包括应用,所述应用容器的容器运行环境根据所述应用确定。
由上,通过应用容器的应用确定应用容器的容器运行环境,从而实现容器运行环境按需配置,实现轻量级的容器操作系统。
在本发明第一方面的一种可能的实施方式中,所述容器运行环境还包括设备驱动程序,所述设备驱动程序包括本地驱动程序和/或共享驱动程序;所述容器的所述本地驱动程序用于访问该容器的所述专属设备;所述应用容器的所述共享驱动程序用于通过微内核访问共享设备,所述共享设备包括所述系统容器的所述专属设备;所述系统容器的所述共享服务利用所述系统容器的所述共享驱动程序,通过微内核反馈所述系统容器的专属设备的访问结果至相应的所述应用容器。
由上,通过共享驱动程序经微内核实现对容器操作系统的专共享设备的访问,实现系统容器共享服务的共享,不仅提高共享服务的易用性,还降低了各容器直接访问共享服务时相互之间的影响,进一步满足了嵌入式操作系统运行的实时性、隔离性和安全性。
在本发明第一方面的一种可能的实施方式中,所述专属设备包括存储设备;所述容器资源还包括文件系统,所述文件系统包括本地文件系统,所述容器通过其所述本地文件系统访问其所述存储设备;所述应用容器的所述文件系统还包括共享文件系统,所述应用容器在获取所述系统容器的文件服务时,所述应用容器通过其所述共享文件系统经过微内核访问所述系统容器的所述存储设备;以及所述系统容器的所述文件服务通过其所述文件系统经过微内核反馈其所述存储设备的访问结果至相应的所述容器服务器。
由上,通过共享文件系统实现对系统容器的存储设备的共享访问,降低了各容器直接访问共享存储设备的影响,不仅提高对共享存储设备访问的易用性,还进一步满足了嵌入式操作系统运行的实时性、隔离性和安全性。
在本发明第一方面的一种可能的实施方式中,所述虚拟文件系统至少挂载下列一种系统:FAT、Yaffs、NFS。
由上,虚拟文件系统支持多种文件系统挂载和访问。
在本发明第一方面的一种可能的实施方式中,所述存储设备至少包括一种介质:磁盘、Nandflash、NorFlash。
由上,文件系统支持访问各种介质的存储设备的访问。
在本发明第一方面的一种可能的实施方式中,所述专属设备包括网络设备;所述容器资源还包括网络协议栈,所述网络协议栈包括本地网络协议栈,所述容器由通过其所述本地网络协议栈访问其所述网络设备;所述应用容器的所述网络协议栈还包括共享网络协议栈,所述应用容器在获取所述系统容器的网络服务时,所述应用容器通过其所述共享网络协议栈经过微内核访问所述系统容器的所述网络设备;以及所述系统容器的所述网络服务通过微内核把其所述网络设备的访问结果反馈至相应的所述应用容器。
由上,通过共享网络协议栈实现对系统容器的网络设备的共享访问,降低了各容器直接访问共享存储设备的影响,不仅提高对共享网络设备访问的易用性,还进一步满足了嵌入式操作系统运行的实时性、隔离性和安全性。
在本发明第一方面的一种可能的实施方式中,所述专属设备包括其他外部设备;所述共享驱动程序包括其他共享设备驱动程序,所述应用容器在获取所述系统容器的驱动服务时,所述应用容器通过其所述其他共享设备驱动程序,经过微内核访问所述系统容器的所述其他外部设备;以及所述系统容器的所述驱动服务通过其所述其他共享设备驱动,经过微内核把所述系统容器的其他外部设备的访问结果反馈至相应的所述应用容器。
由上,通过其他共享设备驱动程序实现对系统容器的其他外部设备的共享访问,降低了各容器直接访问其他共享设备的影响,不仅提高对其他共享设备访问的易用性,还进一步满足了嵌入式操作系统运行的实时性、隔离性和安全性。
附图说明
图1为本发明的一种容器操作系统实施例一的结构示意图;
图2为本发明的一种容器操作系统实施例一的时间表调度的示意图;
图3为本发明的一种容器操作系统实施例一的容器运行环境的结构示意图;
图4为本发明的一种容器操作系统实施例二的容器运行环境的第一结构示意图;
图5为本发明的一种容器操作系统实施例二的容器运行环境的第二结构示意图;
图6A为本发明的一种容器操作系统实施例二用于文件访问的容器操作系统的结构示意图;
图6B为本发明的一种容器操作系统实施例二的应用容器访问本地存储设备的流程示意图;
图6C为本发明的一种容器操作系统实施例二的应用容器访问系统容器的系统存储设备的流程示意图;
图7A为本发明的一种容器操作系统实施例二用于网络访问的容器操作系统的结构示意图;
图7B为本发明的一种容器操作系统实施例二的应用容器访问本地网络设备的流程示意图;
图7C为本发明的一种容器操作系统实施例二的应用容器访问系统容器的系统网络设备的流程示意图;
图8A为本发明的一种容器操作系统实施例二用于驱动访问的容器操作系统的结构示意图;
图8B为本发明的一种容器操作系统实施例二的应用容器访问本地其他外部设备的流程示意图;
图8C为本发明的一种容器操作系统实施例二的应用容器访问系统容器的其他外部设备的流程示意图。
具体实施方式
在以下的介绍中,涉及到“一些实施例”,其介绍了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的介绍中,所涉及的术语“第一\第二\第三等”或模块A、模块B、模块C等,仅用于区别类似的对象,或用于区别不同的实施例,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里介绍的本发明实施例能够以除了在这里图示或介绍的以外的顺序实施。
在以下的介绍中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了介绍本发明实施例的目的,不是旨在限制本发明。
下面结合附图介绍本发明各实施例。
在一种容器操作系统实施例一中,每个容器包括容器运行环境,所述容器运行环境为相应的容器提供独立的容器资源;容器包括系统容器和应用容器,系统容器为各应用容器提供共享服务,该共享服务至少共享下列服务中的一种:文件服务、驱动服务、网络服务。提升容器操作系统的易用性、隔离性和安全性,满足了嵌入式实时操作系统的要求。
首先介绍一种容器操作系统实施例一的结构。
图1示出了一种容器操作系统实施例一的结构,包括:微内核、一个系统容器和若干个应用容器。
微内核运行在系统的硬件平台上,各容器运行在微内核上;每个容器包括容器运行环境、组件和应用,且容器本身不需要单独的操作系统环境。
其中,每个容器的应用完成对应的应用功能,不同的容器可以具有不同的应用,不同的容器运行环境根据容器的应用确定。在一些实施例中,组件是可选结构,复杂的应用通过组件实现应用的模块化。
示例地,图1中示出系统容器、应用容器1和应用容器m,实际场景可以包括任意个数的应用容器。
系统容器包括管理服务、文件服务、网络服务和驱动服务。实际场景中,系统容器可以包括管理服务、文件服务、网络服务和驱动服务中的任意组合。
其中,管理服务至少包括应用容器的加载与卸载、应用容器的应用的加载与卸载。文件服务、网络服务和驱动服务为系统容器为应用容器提供的共享服务。应用容器的容器运行环境基于权限和/或配额获取系统容器的共享服务。
示例地,每个应用容器包括应用1和应用n,每个容器可以包括任意个数的应用。
下面介绍一种容器操作系统实施例一的容器运行环境。
每个容器的容器运行环境为容器提供独立的容器资源,各容器的容器资源之间互相隔离。容器资源包括第一资源和第二资源。
微内核通过容器运行环境为每个容器提供专属的第一资源,在各容器之间实现第一资源的隔离,第一资源至少包括:CPU运行时间、内存空间、中断、专属设备,各第一资源通过容器运行环境提供给其上面运行的应用。
其中,微内核为每个容器提供独立的CPU运行空间,实现实时容器应用时间的隔离。
在一些实施例中,微内核提供以容器为调度单位的CPU调度机制,所述CPU调度机制至少包括以下一种:时间表调度、优先级调度。
图2示出了一种容器操作系统实施例一的时间表调度的示意图,时间调度表按照主帧时间进行配置,调度时反复执行相同的主帧,一个容器可以在主帧里有多个运行时间窗口。示例地,图2中的时间表调度对应3个容器,在一个主帧里有4个运行时间窗口和2个空闲窗口,容器1有两个运行时间窗口,容器2和容器3分别有一个运行时间窗口。
其中,微内核通过硬件的MMU机制为每个容器提供独立的内存空间实现每个容器内存空间的独立映射和隔离,防止相互之间的破坏。
其中,微内核为每个容器提供独立的中断资源,每个容器可以编写容器级的中断处理程序,容器级中断减少了对微内核的影响,提高了系统的健壮性;每个容器可以有独立的容器级中断,而不受其它容器的影响。
其中,微内核为每个容器提供容器级的独立的专属设备的访问功能,可防止其它容器的访问。专属设备至少包括下列外部设备之一:存储设备、网络设备或其他外部设备。
容器运行环境还为各自的容器提供独立的第二资源,并在各容器之间实现所述第二资源的隔离,所述第二资源包括至少下列之一:文件系统、网络协议栈、设备驱动程序、环境变量、命名空间、套接字或线程与进程的同步量、互斥量和通信量。第二资源根据容器的应用确定。
其中,文件系统用来访问容器本地的存储设备,应用容器的文件系统还用于获取系统容器的文件服务或其他共享的存储设备。
其中,网络协议栈用来访问容器本地的网络设备,应用容器的网络协议栈还用于获取系统容器的网络服务或其他共享的网络设备。
其中,设备驱动程序用来访问容器本地的专属设备,包括存储设备、网络设备和其他外部设备,应用容器的设备驱动程序还用于获取系统容器的其他外部设备的驱动服务,或其他共享的其他外部设备。
其中,每个容器独立的环境变量和命名空间使每个容器运行环境互不影响,命名空间包括POSIX的命名空间。示例地,环境变量中根目录、当前目录、运行时库目录、文件句柄、线程名字等都是在每个容器中独立存在的,名字或者值互不影响。
其中,每个容器有独立的线程与进程的同步量、互斥量和通信量,用于线程与进程的控制,提高每个容器的线程与进程的实时性与安全性
其中,容器运行环境还用于提供容器资源的POSIX的访问接口,通过独立且隔离的POSIX命名空间,实现对容器资源访问的隔离。
示例地,图3示出了一种容器操作系统实施例一的容器运行环境的结构,包括:文件系统、网络协议栈、设备驱动程序、消息队列、信号、时间、信号量、条件变量、互斥量、读写锁和线程与进程其他支持,其中,消息队列、信号和时间是线程与进程的通信量,信号量和条件变量是线程与进程的同步量。
综上,在一种容器操作系统实施例一中,通过系统容器为应用容器提供管理服务、文件服务、网络服务和驱动服务,提供容器操作系统的易用性;通过微内核为每个容器独立的第一资源,其至少包括:CPU运行时间、内存空间、中断、专属设备,提升容器操作系统的实时性、隔离性和安全性,满足了嵌入式实时操作系统的要求。
一种容器操作系统实施例二继承一种容器操作系统实施例一的结构,具有一种容器操作系统实施例一的优点;在一种容器操作系统实施例一的基础上,在设备驱动程序中设置共享设备驱动程序用于应用容器访问系统容器的专属设备,在文件系统、网络协议栈中分别设置共享文件系统和共享协议栈用于应用容器访问系统容器的存储设备和网络设备,降低应用容器之间影响,进一步提升容器系统的隔离性。同时在容器运行环境中增加访问控制,增强控制和审核容器对文件服务、网络服务、驱动服务等的获取,提升容器操作系统了的可认证性和安全性。
图4示出了一种容器操作系统实施例二的容器运行环境的第一结构,相对于一种容器操作系统实施例一的容器运行环境,增加了容器访问控制。
其中,系统容器通过其容器访问控制为应用容器提供共享服务,增强控制和审核应用容器对系统容器的文件服务、网络服务、驱动服务等的获取;应用容器通过其容器访问控制获取系统容器的共享服务,降低对其他应用容器的影响。
图5示出了一种容器操作系统实施例二的容器运行环境的第二结构。相对于一种容器操作系统实施例二的容器运行环境的第一结构,对文件系统、网络协议栈和设备驱动程序分别进行详细设置。下面分别详细介绍一种容器操作系统实施例二的文件系统、网络协议栈和设备驱动程序。
一种容器操作系统实施例二的设备驱动程序包括设备驱动访问程序、本地驱动程序和共享驱动程序,设备驱动访问程序封装了本地驱动程序和共享驱动程序的访问接口。本地驱动程序实现对容器内的专属设备访问,而共享驱动程序实现对共享设备的驱动访问,可以同时使用或者只使用其中之一
其中,专属设备至少包括下列外部设备中一种:存储设备、网络设备或其他外部设备,本地驱动程序至少包括下列程序中的一种:本地存储驱动程序、本地网络驱动程序或本地设备驱动程序,分别用于容器本地的存储设备、网络设备或其他外部设备的访问。
其中,共享驱动程序至少包括下列程序中的一种:共享文件驱动程序、共享网络驱动程序或其他共享设备驱动程序,分别用于通过微内核对访问共享存储设备、共享网络设备或其他共享外部设备。
一种容器操作系统实施例二的文件系统包括虚拟文件系统、本地文件系统和共享文件系统,虚拟文件系统提供对本地文件系统和共享文件系统的访问接口,应用容器可以同时使用本地文件系统和共享文件系统,或者只使用其中之一。
其中,各容器通过其本地文件系统利用本地存储驱动程序访问本地的存储设备。
其中,应用容器通过其共享文件系统,利用共享文件驱动程序,经过微内核访问共享存储设备;系统容器通过其虚拟文件系统,利用其共享文件驱动程序,经过微内核向相应的应用容器反馈系统容器的存储设备的访问结果。
其中,文件系统还为容器的应用提供标准的POSIX IO访问接口,包括打开设备(open)、关闭设备(close)、读数据(read)、写数据(write)、命令控制(ioctl)等,用于提供外部设备的驱动程序的安装和卸载、外部设备的安装和卸载,一个驱动程序可以应用于多个设备。
一种容器操作系统实施例二的网络协议栈包括本地网络协议栈和/享网络协议栈。应用容器采用本地网络协议栈和共享网络协议栈融合的方式,可以同时使用或者只使用其中之一
其中,容器通过本地网络协议栈利用本地网络驱动访问本地的网络设备。
其中,应用容器通过其共享网络协议栈,利用其共享网络驱动程序,经微内核访问共享网络设备;系统容器通过其虚拟文件系统,利用其共享网络驱动程序,经过微内核向相应的应用容器反馈系统容器的网络设备的访问结果。
需要强调的是:一种容器操作系统实施例二的虚拟文件系统不仅为本地文件系统和共享文件系统通过接口,还为设备驱动访问程序提供接口,在应用容器中用于用访问本地的其他外部存储设备和其他共享外部设备,在系统用容器中用于为应用容器提供网络服务。
下面结合图6A至图8C分别介绍一种容器操作系统实施例二用于文件访问、网络访问和驱动访问的容器操作系统的结构和工作流程。
图6A示出了一种容器操作系统实施例二用于文件访问的容器操作系统的结构,包括系统容器61、应用容器63和微内核65,系统容器61和应用容器63建立在微内核65上,微内核65建立在硬件平台67。
系统容器61的应用为文件服务611,该文件服务为共享的文件服务;系统容器61的容器运行环境包括:虚拟文件系统613、本地文件系统615、设备驱动访问程序621、本地存储驱动程序623、共享文件驱动程序625;系统容器61的存储设备为系统存储设备627,为微内核65为系统容器61分配的专属设备,系统容器61的存储设备的本地驱动程序为本地存储驱动程序623。
其中,虚拟文件系统613与本地文件系统615构成系统容器61的文件系统,且通过虚拟文件系统613可访问本地文件系统615;设备驱动访问程序621、本地存储驱动程序623、共享文件驱动程序625构成系统容器61的设备驱动程序,通过设备驱动访问程序621可访问本地存储驱动程序623和共享文件驱动程序625。
其中,系统容器61的文件系统可以至少挂载下列一种系统:FAT、Yaffs、NFS,系统存储设备627至少包括一种介质:磁盘、Nandflash、NorFlash。
应用容器63包括的应用为文件访问631;应用容器63的容器运行环境包括:虚拟文件系统633、本地文件系统635、共享文件系统637、设备驱动访问程序641、本地存储驱动程序643、共享文件驱动程序645;应用容器63的存储设备为本地存储设备647,为微内核65为应用容器63分配的专属设备,应用容器63的存储设备的本地驱动程序为本地存储驱动程序643。
其中,虚拟文件系统633、本地文件系统635和共享文件系统637构成应用容器63的文件系统,且通过虚拟文件系统633可访问本地文件系统635和共享文件系统637。设备驱动访问程序641、本地存储驱动程序643、共享文件驱动程序645构成应用容器63的设备驱动程序,通过设备驱动访问程序641可访问本地存储驱动程序643和共享文件驱动程序645。
其中,应用容器63的文件系统可以至少挂载下列一种系统:FAT、Yaffs、NFS,本地存储设备647至少包括一种介质:磁盘、Nandflash、NorFlash。
为了方便介绍,本容器操作系统结构以一个应用容器63为例进行说明,在实际应用时可以包括多个应用容器63。
下面结合图6B和图6C介绍一种容器操作系统实施例二的文件系统的工作过程,其至少包括下列两个流程之一:应用容器63访问的本地存储设备647、应用容器63访问系统容器61的系统存储设备627。
图6B示出了应用容器63访问本地存储设备647的流程,其包括步骤S6110至S6150。
S6110:文件访问631通过虚拟文件系统633向本地文件系统635发送访问本地存储设备647的请求。
S6120:本地文件系统635通过设备驱动访问程序641向本地存储驱动程序643发送访问本地存储设备647的请求。
S6130:本地存储驱动程序643访问本地存储设备647,并获得访问结果。
S6140:本地存储驱动程序643通过设备驱动访问程序641反馈访问结果至本地文件系统635。
S6150:本地文件系统635通过虚拟文件系统633反馈访问结果至文件访问631。
图6C示出了应用容器63访问系统容器61的系统存储设备627的流程,其包括步骤S6210至S6250。
S6210:应用容器63向微内核65发送访问系统存储设备627的请求。本步骤包括以下流程:
①文件访问631通过虚拟文件系统633向共享文件系统637发送访问系统存储设备627的请求;
②共享文件系统637通过设备驱动访问程序641向共享文件驱动程序645发送访问系统存储设备627的请求;
③共享文件驱动程序645向微内核65发出访问系统存储设备627的请求。
S6220:微内核65向系统容器61发出访问系统存储设备627的请求。本步骤包括以下流程:
①微内核65通过共享文件驱动程序625向设备驱动访问程序621发送访问系统存储设备627的请求;
②设备驱动访问程序621向虚拟文件系统613发送访问系统存储设备627的请求;
③虚拟文件系统613向系统容器61发送访问系统存储设备627的请求。
S6230:系统容器61访问系统存储设备627。本步骤包括以下流程:
①文件服务611通过虚拟文件系统613向本地文件系统615发送访问系统存储设备627的请求;
②本地文件系统615通过设备驱动访问程序621向本地存储驱动程序623发送访问系统存储设备627的请求;
③本地存储驱动程序623访问系统存储设备627,并获得访问结果;
④本地存储驱动程序623通过设备驱动访问程序621向本地文件系统615反馈访问结果;
⑤本地文件系统615通过虚拟文件系统613反馈访问结果至文件服务611。
S6240:系统容器61向微内核65反馈系统存储设备627的访问结果。本步骤包括以下流程:
①文件服务611向虚拟文件系统613反馈系统存储设备627的访问结果;
②虚拟文件系统613通过设备驱动访问程序621向共享文件驱动程序625反馈系统存储设备627的访问结果;
③共享文件驱动程序625向微内核65反馈系统存储设备627的访问结果。
S6250:微内核65向应用容器63反馈系统存储设备627的访问结果。本步骤包括以下流程:
①微内核65通过共享文件驱动程序645向设备驱动访问程序641反馈系统存储设备627的访问结果;
②设备驱动访问程序641通过共享文件系统637向虚拟文件系统633反馈系统存储设备627的访问结果;
③虚拟文件系统633向文件访问631反馈系统存储设备627的访问结果。
需要支持的是,步骤S6210至S6250示出的是应用容器63访问系统容器61的系统存储设备627的详细流程。在一些实施例中,该详细流程在用户界面可以封装为:通过应用容器63的文件访问631访问系统容器61的文件服务611,以访问系统存储设备627。在一些实施例中,对应用容器63的共享文件系统637以下部分涉及流程和系统容器61的本地文件系统615以下部分涉及流程进行封装,表现为共享文件系统637对本地文件系统615进行访问,以访问系统存储设备627。
图7A示出了一种容器操作系统实施例二用于网络访问的容器运行环境结构,包括系统容器71、应用容器73和微内核75,系统容器71和应用容器73建立在微内核75上,微内核75建立在硬件平台77。
系统容器71的应用为网络服务711,该网络服务为共享的网络服务;系统容器71的容器运行环境包括:虚拟文件系统713、vSocket 715、本地网络协议栈717、设备驱动访问程序721、本地网络驱动程序723、共享网络驱动程序725;系统容器71的网络设备为系统网络设备727,为微内核75为系统容器71分配的专属设备,系统容器71的网络设备的本地驱动程序为本地网络驱动程序723,系统容器71的套接字为vSocket 715。
其中,vSocket 715、本地网络协议栈717构成系统容器71的网络协议栈,通过vSocket 715可访问本地网络协议栈717;设备驱动访问程序721、本地网络驱动程序723、共享网络驱动程序725构成系统容器71的设备驱动程序,通过设备驱动访问程序721可访问本地网络驱动程序723和共享网络驱动程序725。
应用容器73包括的应用为网络访问731;应用容器73的容器运行环境包括:vSocket 735、本地网络协议栈737、共享网络协议栈739、设备驱动访问程序741、本地网络驱动程序743、共享网络驱动程序745;应用容器73的网络设备为本地网络设备747,为微内核75为应用容器73分配的专属设备,应用容器73的网络设备的本地驱动程序为本地网络驱动程序743,应用容器73的套接字为vSocket 735。
其中,vSocket 735、本地网络协议栈737和共享网络协议栈739构成应用容器73的网络协议栈,且通过vSocket 735可访问本地网络协议栈737和共享网络协议栈739。设备驱动访问程序741、本地网络驱动程序743、共享网络驱动程序745构成应用容器73的设备驱动程序,通过设备驱动访问程序741可访问本地网络驱动程序743和共享网络驱动程序745。
其中,网络协议栈支持ARP、IP、TCP、UDP等网络协议。
为了方便介绍,本容器操作系统结构以一个应用容器73为例进行说明,在实际应用时可以包括多个应用容器73。
下面结合图7B和图7C介绍一种容器操作系统实施例二的网络协议栈的工作过程,其至少包括下列两个流程之一:应用容器73访问的本地网络设备747、应用容器73访问系统容器71的系统网络设备727。
图7B示出了应用容器73访问的本地网络设备747的流程,其包括步骤S7110至S7150。
S7110:网络访问731通过vSocket 735,向本地网络协议栈737发送访问本地网络设备747的请求。
S7120:本地网络协议栈737通过设备驱动访问程序741向本地网络驱动程序743发送访问本地网络设备747的请求。
S7130:本地网络驱动程序743访问本地网络设备747,并获得访问结果。
S7140:本地网络驱动程序743通过设备驱动访问程序741反馈访问结果至本地网络协议栈737。
S7150:本地网络协议栈737通过vSocket 735反馈访问结果至网络访问731。
图7C示出了应用容器73访问系统容器71的系统网络设备727的流程包括S7210至S7250。
S7210:应用容器73向微内核75发送访问系统网络设备727的请求。本步骤包括以下流程:
①网络访问731通过vSocket 735向共享网络协议栈739发送访问系统网络设备727的请求;
②共享网络协议栈739通过设备驱动访问程序741向共享网络驱动程序745发送访问系统网络设备727的请求;
③共享网络驱动程序745向微内核75发出访问系统网络设备727的请求。
S7220:微内核75向系统容器71发出访问系统网络设备727的请求。本步骤包括以下流程:
①微内核75通过共享网络驱动程序725向设备驱动访问程序621发送访问系统网络设备727的请求;
②设备驱动访问程序721向虚拟文件系统713发送访问系统网络设备727的请求;
③虚拟文件系统713向系统容器71发送访问系统网络设备727的请求。
S7230:系统容器71访问系统网络设备727。本步骤包括以下流程:
①网络服务711通过vSocket 715向本地网络协议栈717发送访问系统网络设备727的请求;
②本地网络协议栈717通过设备驱动访问程序721向本地网络驱动程序723发送访问系统网络设备727的请求;
③本地网络驱动程序723访问系统本地网络设备727,并获得访问结果;
④本地网络驱动程序723通过设备驱动访问程序721向本地网络协议栈717反馈访问结果;
⑤本地网络协议栈717通过vSocket 715反馈访问结果至网络服务711。
S7240:系统容器71向微内核75反馈系统网络设备727的访问结果。本步骤包括以下流程:
①网络服务711向虚拟文件系统713反馈系统网络设备727的访问结果;
②虚拟文件系统713通过设备驱动访问程序721向共享网络驱动程序725反馈系统网络设备727的访问结果;
③共享网络驱动程序725向微内核75反馈系统网络设备727的访问结果。
S7250:微内核75向应用容器73反馈系统网络设备727的访问结果。本步骤包括以下流程:
①微内核75通过共享网络驱动程序745向设备驱动访问程序741,反馈系统网络设备727的访问结果;
②设备驱动访问程序741通过共享网络协议栈739向vSocket 735,反馈系统网络设备727的访问结果;
③vSocket 735向网络访问731反馈系统网络设备727的访问结果。
需要支持的是,步骤S7210至S7250示出的是应用容器73访问系统容器71的系统网络设备727的详细流程。在一些实施例中,该详细流程在用户界面可以封装为:通过应用容器73的网络访问731访问系统容器71的网络服务711,以访问系统网络设备727。在一些实施例中,对应用容器73的共享网络协议栈739以下部分涉及流程和系统容器71的本地网络协议栈717以下部分涉及流程进行封装,表现为共享网络协议栈739对本地网络协议栈717进行访问,以访问系统网络设备727。
图8A示出了一种容器操作系统实施例二的驱动访问的容器运行环境结构,包括系统容器81、应用容器83和微内核85,系统容器81和应用容器83建立在微内核85上,微内核85建立在硬件平台87。
系统容器81的应用为驱动服务811,该驱动服务为共享的驱动服务,实现基于安全权限控制的其他共享设备的访问;系统容器81的容器运行环境包括:虚拟文件系统813、设备驱动访问程序821、本地设备驱动程序823、其他共享设备驱动程序825;系统容器81的其他外部设备为系统其他外部设备827,为微内核85为系统容器71分配的专属设备,系统容器81的其他外部设备的本地驱动程序为本地设备驱动程序823。
其中,设备驱动访问程序821、本地设备驱动程序823、其他共享设备驱动程序825构成系统容器81的设备驱动程序,通过设备驱动访问程序821可访问本地设备驱动程序823和其他共享设备驱动程序825。
应用容器83包括的应用为驱动访问831;应用容器83的容器运行环境包括:虚拟文件系统833、设备驱动访问程序841、本地设备驱动程序843、其他共享设备驱动程序845;应用容器83的其他外部设备为本地其他外部设备847,为微内核85为应用容器83分配的专属设备,应用容器83的其他外部设备的本地驱动程序为本地设备驱动程序843。
其中,设备驱动访问程序841、本地设备驱动程序843、其他共享设备驱动程序845构成应用容器83的驱动设备程序,通过设备驱动访问程序841可访问本地设备驱动程序843和其他共享设备驱动程序845。
为了方便介绍,本容器操作系统结构以一个应用容器83为例进行说明,在实际应用时可以包括多个应用容器83。
下面结合图8B和图8C介绍一种容器操作系统实施例二的驱动访问的工作过程,其包括两个流程之一:应用容器83访问的本地其他外部设备847、应用容器83访问系统容器81的系统其他外部设备827。
图8B示出了应用容器83访问的本地其他外部设备847的流程,其包括步骤S8110至S8150。
S8110:驱动访问831向虚拟文件系统833发送访问本地其他外部设备847的请求。
S8120:虚拟文件系统833通过设备驱动访问程序841向本地设备驱动程序843发送访问本地其他外部设备847的请求。
S8130:本地设备驱动程序843访问本地其他外部设备847,并获得访问结果。
S8140:本地设备驱动程序843通过设备驱动访问程序841反馈访问结果至虚拟文件系统833。
S8150:虚拟文件系统833反馈访问结果至驱动访问831。
图8C示出了应用容器83访问系统容器81的系统其他外部设备827的流程,其包括S8210至S8250。
S8210:应用容器83向微内核85发送访问系统其他外部设备827的请求。本步骤包括以下流程:
①驱动访问831向虚拟文件系统833发送访问系统其他外部设备827的请求;
②虚拟文件系统833通过设备驱动访问程序841向其他共享设备驱动程序845发送访问系统其他外部设备827的请求;
③其他共享设备驱动程序845向微内核85发出访问系统其他外部设备827的请求。
S8220:微内核85向系统容器81发出访问系统其他外部设备827的请求。本步骤包括以下流程:
①微内核85通过其他共享设备驱动程序825向设备驱动访问程序821发送访问系统其他外部设备827的请求;
②设备驱动访问程序821向虚拟文件系统813发送访问系统其他外部设备827的请求;
③虚拟文件系统813向系统容器81发送访问系统其他外部设备827的请求。
S8230:系统容器81访问系统其他外部设备827。本步骤包括以下流程:
①驱动服务811向虚拟文件系统813发送访问系统其他外部设备827的请求;
②虚拟文件系统813通过设备驱动访问程序821向本地设备驱动程序823发送访问系统其他外部设备827的请求;
③本地设备驱动程序823访问系统其他外部设备827,并获得访问结果;
④本地设备驱动程序823通过设备驱动访问程序821向虚拟文件系统813反馈访问结果;
⑤虚拟文件系统813反馈访问结果至驱动服务811。
S8240:系统容器81向微内核85反馈系统其他外部设备827的访问结果。本步骤包括以下流程:
①驱动服务811向虚拟文件系统813反馈系统其他外部设备827的访问结果;
②虚拟文件系统813通过设备驱动访问程序821向其他共享设备驱动程序825反馈系统其他外部设备827的访问结果;
③其他共享设备驱动程序825向微内核85反馈系统其他外部设备827的访问结果。
S8250:微内核85向应用容器83反馈系统其他外部设备827的访问结果。本步骤包括以下流程:
①微内核85通过其他共享设备驱动程序845向设备驱动访问程序841反馈系统其他外部设备827的访问结果;
②其他设备驱动访问程序841向虚拟文件系统833反馈系统其他外部设备827的访问结果;
③虚拟文件系统833向驱动访问831反馈系统其他外部设备827的访问结果。
需要支持的是,步骤S8210至S8250示出的是应用容器83访问系统容器81的系统外部设备827的详细流程。在一些实施例中,该详细流程在用户界面可以封装为:通过应用容器83的驱动访问831访问系统容器81的驱动服务811,以访问系统外部设备827。
综上,在一种容器操作系统实施例二中,在设备驱动程序中设置共享设备驱动程序用于应用容器访问系统容器的专属设备,在文件系统、网络协议栈中分别设置共享文件系统和共享协议栈用于应用容器访问系统容器的存储设备和网络设备,降低应用容器之间影响,进一步提升容器系统的隔离性。同时在容器运行环境中增加访问控制,增强控制和审核容器对文件服务、网络服务、驱动服务等的获取,提升容器操作系统了的可认证性和安全性。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,均属于本发明保护范畴。

Claims (8)

1.一种容器操作系统,其特征在于,包括微内核和若干个容器;
每个容器包括容器运行环境,所述容器运行环境用于为各自容器提供容器资源,所述容器资源包括微内核通过所述容器运行环境为每个容器提供的与硬件相关的专属第一资源,各所述容器的所述容器资源互相隔离,其中,所述第一资源至少包括:CPU运行时间、内存空间、中断、专属设备;
所述容器包括系统容器和应用容器,所述系统容器为各所述应用容器提供共享服务,所述共享服务至少包括下列中的一种:文件服务、驱动服务、网络服务,其中,所述应用容器在获取所述系统容器的所述共享服务时,通过微内核访问所述系统容器的所述专属设备,所述系统容器的所述共享服务通过微内核把所述系统容器的所述专属设备的访问结果反馈至相应的所述应用容器。
2.根据权利要求1所述容器操作系统,其特征在于,
所述系统容器还为各所述应用容器提供容器管理服务;
所述容器管理服务至少包括所述应用容器的加载与卸载、所述应用容器的应用的加载与卸载。
3.根据权利要求1所述容器操作系统,其特征在于,所述容器运行环境还包括容器访问控制;
所述系统容器通过其所述容器访问控制为所述应用容器提供所述共享服务;
所述应用容器通过其所述容器访问控制获取所述系统容器的所述共享服务。
4.根据权利要求1所述容器操作系统,其特征在于,所述容器运行环境还包括设备驱动程序,所述设备驱动程序包括本地驱动程序和/或共享驱动程序;
所述容器的所述本地驱动程序用于访问该容器的所述专属设备;
所述应用容器利用其所述共享驱动程序通过微内核访问所述系统容器的所述专属设备;
所述系统容器的所述共享服务利用所述系统容器的所述共享驱动程序,通过微内核反馈所述系统容器的专属设备的访问结果至相应的所述应用容器。
5.根据权利要求1所述容器操作系统,其特征在于,所述专属设备包括存储设备;
所述容器资源还包括文件系统,所述文件系统包括本地文件系统,所述容器通过其所述本地文件系统访问其所述存储设备;
所述应用容器的所述文件系统还包括共享文件系统,所述应用容器在获取所述系统容器的文件服务时,所述应用容器通过其所述共享文件系统经过微内核访问所述系统容器的所述存储设备;以及
所述系统容器的所述文件服务通过其所述文件系统经过微内核反馈其所述存储设备的访问结果至相应的所述应用容器。
6.根据权利要求1所述容器操作系统,其特征在于,所述专属设备包括网络设备;
所述容器资源还包括网络协议栈,所述网络协议栈包括本地网络协议栈,所述容器由通过其所述本地网络协议栈访问其所述网络设备;
所述应用容器的所述网络协议栈还包括共享网络协议栈,所述应用容器在获取所述系统容器的网络服务时,所述应用容器通过其所述共享网络协议栈经过微内核访问所述系统容器的所述网络设备;以及
所述系统容器的所述网络服务通过微内核把其所述网络设备的访问结果反馈至相应的所述应用容器。
7.根据权利要求1所述容器操作系统,其特征在于,
所述微内核通过以容器为调度单位的CPU调度机制为每个容器提供独立的CPU运行时间,所述CPU调度机制至少包括以下一种:时间表调度、优先级调度;和/或
所述微内核通过硬件的MMU机制为每个容器提供独立的内存空间。
8.根据权利要求1所述容器操作系统,其特征在于,所述容器资源还包括第二资源;
所述第二资源根据容器的应用至少包括下列之一:文件系统、网络协议栈、设备驱动程序、环境变量、命名空间、套接字、线程与进程的控制量,所述控制量包括同步量、互斥量和通信量。
CN202210179839.0A 2022-02-25 2022-02-25 一种容器操作系统 Active CN114546599B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210179839.0A CN114546599B (zh) 2022-02-25 2022-02-25 一种容器操作系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210179839.0A CN114546599B (zh) 2022-02-25 2022-02-25 一种容器操作系统

Publications (2)

Publication Number Publication Date
CN114546599A CN114546599A (zh) 2022-05-27
CN114546599B true CN114546599B (zh) 2023-01-06

Family

ID=81679027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210179839.0A Active CN114546599B (zh) 2022-02-25 2022-02-25 一种容器操作系统

Country Status (1)

Country Link
CN (1) CN114546599B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377745A (zh) * 2007-08-28 2009-03-04 张玉昆 在各个域间实现数据共享的虚拟化计算机系统和方法
CN108875381A (zh) * 2017-05-15 2018-11-23 南京大学 一种支持内核模块隔离的消息服务模块的设计方案
CN112236752A (zh) * 2018-04-11 2021-01-15 康奈尔大学 用于改进软件容器性能和隔离的方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EA201301283A1 (ru) * 2013-11-26 2015-05-29 Общество С Ограниченной Ответственностью "Параллелз" Способ целевой виртуализации ресурсов в контейнере
CN104331659A (zh) * 2014-10-30 2015-02-04 浪潮电子信息产业股份有限公司 一种关键应用主机系统资源应用隔离的设计方法
CN110059453B (zh) * 2019-03-13 2021-02-05 中国科学院计算技术研究所 一种容器虚拟化安全加固装置及方法
CN111857951A (zh) * 2020-07-07 2020-10-30 海尔优家智能科技(北京)有限公司 容器化部署平台及部署方法
CN112379870A (zh) * 2020-11-16 2021-02-19 广东电网有限责任公司电力调度控制中心 一种智能终端软件架构及其控制方法
CN113778612A (zh) * 2021-07-14 2021-12-10 中移物联网有限公司 基于微内核机制的嵌入式虚拟化系统实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377745A (zh) * 2007-08-28 2009-03-04 张玉昆 在各个域间实现数据共享的虚拟化计算机系统和方法
CN108875381A (zh) * 2017-05-15 2018-11-23 南京大学 一种支持内核模块隔离的消息服务模块的设计方案
CN112236752A (zh) * 2018-04-11 2021-01-15 康奈尔大学 用于改进软件容器性能和隔离的方法和系统

Also Published As

Publication number Publication date
CN114546599A (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
US11137924B2 (en) Distributed file storage system supporting accesses from multiple container hosts
US7047337B2 (en) Concurrent access of shared resources utilizing tracking of request reception and completion order
US7689800B2 (en) Partition bus
US7415709B2 (en) Virtual resource ID mapping
US7124255B2 (en) Message based inter-process for high volume data
EP2485146B1 (en) System and method for providing hardware virtualization in a virtual machine environment
US9304824B1 (en) Method and apparatus for providing isolated virtual space
US6629153B1 (en) Method and apparatus for providing peer ownership of shared objects
US6917963B1 (en) Snapshot image for the application state of unshareable and shareable data
US8301717B2 (en) Extended virtual memory system and method in a computer cluster
US20040230972A1 (en) Management of locks in a virtual machine environment
US6601110B2 (en) System and method for translating file-level operations in a non-door-based operating system to door invocations on a door server
EP0889400A1 (en) System and method for transparent, global access to physical devices on a computer system
CN110532106B (zh) 进程间的通讯方法、装置、设备和存储介质
CN114138422B (zh) 可扩展性的NVMe存储虚拟化方法和系统
US20140325163A1 (en) Cross-Partition Shared Memory Attach for Data Processing Environment
US7130982B2 (en) Logical memory tags for redirected DMA operations
US20120089804A1 (en) Volume allocating method for virtual computers and computer system using the method
CN114546599B (zh) 一种容器操作系统
GB2496245A (en) Granting permissions for data access in a heterogeneous computing environment
US20060059323A1 (en) Physical memory control using memory classes
CN118210591A (zh) 一种轻量级容器系统及其管理方法
LFr'rr AD-A270 612
MXPA05009210A (es) Bus de division

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant