基于微内核机制的嵌入式虚拟化系统实现方法技术方案

技术编号:31308408 阅读:15 留言:0更新日期:2021-12-12 21:32
本发明专利技术公开了一种基于微内核机制的嵌入式虚拟化系统实现方法,对嵌入式设备的虚拟化资源进行分区,每个资源分区包括若干CPU,每个资源分区组作为一个独立的执行环境去执行一个客户机操作系统内核,在进行客户机引导时,将各个客户机操作系统内核映像加载至对应的客户机资源分区,并通过基于微内核的权限访问控制对虚拟系统资源进行分区访问控制,令虚拟机管理程序和所要引导的客户机根据所配置权限对客户机资源分区内的资源进行协作控制,然后在客户机运行过程中基于rpmsg实现客户机跨核通信。本发明专利技术采用非对称处理器架构和微内核权限访问控制机制,保障各操作系统的隔离性与安全性,并在多个客户机之间以rpmsg框架实现了跨核通信。了跨核通信。了跨核通信。

【技术实现步骤摘要】
基于微内核机制的嵌入式虚拟化系统实现方法


[0001]本专利技术属于ARM架构虚拟化
,更为具体地讲,涉及一种基于微内核机制的嵌入式虚拟化系统实现方法。

技术介绍

[0002]在嵌入式软硬件高速发展的当下,嵌入式系统产品深入我们生活中的方方面面,在手机、车载电子、工业控制等等领域都应用了嵌入式系统及设备。一方面,伴随着嵌入式硬件架构的不断升级,嵌入式系统在今天要求具备有高性能、实时性、采取微内核架构等等特性。另一方面,随着需求不断的深入,复杂的使用场景出现的越来越频繁,往往运行于通用操作系统和运行于实时操作系统的应用间还存在着协同工作。这类的情况的产生,让虚拟化技术从上世纪六十年代诞生至今一直都是行业的重要研究方向之一。
[0003]嵌入式虚拟化技术对硬件资源利用率问题更加关注,也对系统性能的要求也要比普通PC更高,特别是实时性、可靠性、安全性这些方面。这些特性表明了在嵌入式设备上不能运行过于复杂的虚拟机软件,例如在windows上广泛运用的VMware就并不适用于嵌入式系统。虚拟化技术在云计算、服务器虚拟化等领域广泛应用且越来越成熟的同时,传统的虚拟化技术却并不适用于嵌入式。
[0004]在软件架构层面,考虑到使用性能,半虚拟化的解决方案最先有所突破,在功能丰富的主体操作系统上运行需要更改系统内核,通过这种方式得以实现嵌入式虚拟化。但是半虚拟化的方案中客户操作系统集成了虚拟化方面的代码,导致难以适用于多变的嵌入式环境,业内也在对其软件架构进行不断的优化。在嵌入式软件架构不断革新的同时,嵌入式硬件体系架构的升级也对嵌入式虚拟化技术的发展提供了助力。得益于ARM等CPU厂商对虚拟化的支持越来越丰富,并且伴随着需求的驱动,全虚拟化有了逐步取代半虚拟化的趋势。
[0005]在上述背景下,如何在底层嵌入式硬件上创建独立、隔离的分区,运行多个操作系统内核,这一课题有着巨大的研究价值。在研究该课题的同时,保证内核的精简和高效,提升安全性和可移植性,也成为了嵌入式系统研究者的迫切问题之一。
[0006]现有的嵌入式虚拟化解决方案中,比较主流的架构有两类,一种方法如KVM架构,其深耕于Linux生态环境中,本质上就是托管在Linux系统内核中的一个功能组件。这类虚拟化极大程度的利用Linux的各种服务,包括任务调度、内存资源分配等核心功能。与Linux内核共同向上提供虚拟机需要的运行环境。另一种方法的典型架构如Xen,虽然其本身无需宿主机支持的,但其在客户机中必须存在特权域,而其他客户机所需的大部分操作系统功能需求由特权域Dom0的内核(大多为Linux)来提供,它能够访问所有硬件资源并以此为其他客户机提供完善的功能服务。这两种方法共同的局限和缺陷相似,都过多地依赖Linux丰富的组件生态环境,一旦脱离Linux则无法支持虚拟化系统中客户机的正常运行。在普通客户机内核在引导上也都需要Linux组件的支持,都具有很大的局限性。并且在嵌入式领域,支撑软件的大小也会造成一定的限制,在某些应用领域中Linux内核并不能够满足其精简、高效、安全性和可移植性的需求。

技术实现思路

[0007]本专利技术的目的在于克服现有技术的不足,提供一种基于微内核机制的嵌入式虚拟化系统实现方法,采用非对称处理器架构和微内核权限访问控制机制,保障各操作系统的隔离性与安全性,解决处理器资源的隔离访问,并在多个客户机之间以rpmsg框架实现了跨核通信。
[0008]为实现上述专利技术目的,本专利技术基于微内核机制的嵌入式虚拟化系统实现方法包括以下步骤:
[0009]S1:根据实际情况从嵌入式设备的处理器资源中划分出虚拟系统资源,然后对虚拟系统资源进行分区,得到若干客户机资源分区和共享资源分区,每个资源分区包括若干CPU,每个客户机资源分区将作为一个独立的执行环境去执行一个客户机操作系统内核,共享资源分区由各客户机共享使用;
[0010]S2:将预设的基于微内核的虚拟机管理程序、客户机操作系统内核以及各个客户机的引导工具的映像烧写至嵌入式设备的存储器中;
[0011]S3:嵌入式设备开机,加载虚拟机管理程序映像到内部SRAM中,并完成内存初始化;
[0012]S4:虚拟机管理程序为用户选择的客户机选择一个客户机资源分区并对该资源分区进行初始化,然后将该客户机的引导工具映像加载至DRAM中并执行该引导工具;
[0013]S5:虚拟机管理程序开启虚拟系统资源的分区访问控制,虚拟机管理程序由用户进行权限配置,然后根据当前加载的客户机引导工具对所要引导的客户机进行权限配置,虚拟机管理程序和所要引导的客户机根据所配置权限对客户机资源分区内的资源进行协作控制;
[0014]S6:在开启分区访问控制的同时,步骤S4中所加载的引导工具将客户机操作系统内核对应的映像加载至对应的客户机资源分区;
[0015]S7:在客户机运行过程中基于rpmsg框架实现客户机跨核通信,具体方法为:在每个客户机中配置一个rpmsg前端,在虚拟机管理程序中配置rpmsg后端,客户机中的rpmsg前端通过虚拟机管理程序中的rpmsg后端与其他可用的客户机进行通信,并通过分区访问控制中的权限配置来限制不同客户机通信权限。
[0016]本专利技术基于微内核机制的嵌入式虚拟化系统实现方法,对嵌入式设备的虚拟化资源进行分区,每个资源分区包括若干CPU,每个资源分区组作为一个独立的执行环境去执行一个客户机操作系统内核,在进行客户机引导时,将各个客户机操作系统内核映像加载至对应的客户机资源分区,并通过基于微内核的权限访问控制对虚拟系统资源进行分区访问控制,令虚拟机管理程序和所要引导的客户机根据所配置权限对客户机资源分区内的资源进行协作控制,然后在客户机运行过程中基于rpmsg实现客户机跨核通信。
[0017]本专利技术具有以下效果:
[0018]1)本专利技术对嵌入式设备的虚拟化资源进行了分区,实现了非对称多处理器架构,在脱离了Linux生态支持的同时,实现虚拟化系统中处理器资源的分区隔离,使得嵌入式虚拟化系统的灵活性大大增加,并且客户机直接运行在其分区CPU资源之上,能够进一步提升客户机性能与效率;
[0019]2)本专利技术将微内核基于权能的访问控制机制与虚拟化系统客户机的访问控制相
结合,该方法实现相对简单,执行权限检查时速度快,有效的实现了客户机将之间权限检查,提升了整体系统的安全性;
[0020]3)本专利技术基于rpmsg框架实现客户机跨核通信,使得客户机之间的协同通信更加高效。
附图说明
[0021]图1是本专利技术基于微内核机制的嵌入式虚拟化系统实现方法的具体实施方式流程图;
[0022]图2是嵌入式设备的处理器资源分区示例图;
[0023]图3是本专利技术客户机跨核通信示意图;
[0024]图4是本实施例中rpmsg通信的工作流程图。
具体实施方式
[0025]下面结合附图对本专利技术的具体实施方式进行描述,以便本领域的技术人员更好地理解本专利技术。需要特别提醒注意本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于微内核机制的嵌入式虚拟化系统实现方法,其特征在于,包括以下步骤:S1:根据实际情况从嵌入式设备的处理器资源中划分出虚拟系统资源,然后对虚拟系统资源进行分区,得到若干客户机资源分区和共享资源分区,每个资源分区包括若干CPU,每个客户机资源分区将作为一个独立的执行环境去执行一个客户机操作系统内核,共享资源分区由各客户机共享使用;S2:将预设的基于微内核的虚拟机管理程序、客户机操作系统内核以及各个客户机的引导工具的映像烧写至嵌入式设备的存储器中;S3:嵌入式设备开机,加载虚拟机管理程序映像到内部SRAM中,并完成内存初始化;S4:虚拟机管理程序为用户选择的客户机选择一个客户机资源分区并对该资源分区进行初始化,然后将该客户机的引导工具映像加载至DRAM中并执行该引导工具;S5:虚拟机管理程序开启虚拟系统资源的分区访问控制,虚拟机管理程序由用户进行权限配置,然后根据当前加载的客户机引导工具对所要引导的客户机进行权限配置,虚拟机管理程序和所要引导的客户机根据所配置权限对客户机资源分区内的资源进行协作控制;S6:在开启分区访问控制的同时,步骤S4中所加载的引导工具将客户机操作系统内核...

【专利技术属性】
技术研发人员:李蒙张英辉许睿赵登肖堃郭子伦陈丽蓉罗蕾
申请(专利权)人:电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1