一种嵌入式操作系统虚拟机及其实现方法技术方案

技术编号:7607609 阅读:234 留言:0更新日期:2012-07-22 15:22
本发明专利技术公开了一种嵌入式操作系统虚拟机(简称HopenVM)及该虚拟机核心技术的实现方法。该产品支持在单个硬件微处理器上建立两个不同的嵌入式操作系统,从而把一个嵌入式系统的物理处理器芯片转化为多个逻辑的芯片系统,并且在两个操作系统之间,建立类似与硬件通信机制的虚拟化的通信机制。本文中说明的实现方法,可以在逻辑上隔离两个不同特性的软件系统。

【技术实现步骤摘要】

本专利技术涉及一种嵌入式操作系统虚拟机及其核心技术的实现方法,支持在单个硬件微处理器上建立两个不同的嵌入式操作系统及其通信机制,应用在逻辑上隔离的两个不同特性的软件系统,属于计算机

技术介绍
目前在PC产品上已经有多种虚拟机产品,在这些产品之上软件的运行类似于在一台物理计算机上运行,包含自己的虚拟CPU(即基于软件实现的CPU)、虚拟RAM硬盘和虚拟网络接口卡(NIC)等。这些虚拟机产品用不同的技术手段实现,其满足的需求也不完全相同。本专利技术主要针对支持蜂窝网通信的各种各样的移动终端设备。在此类设备的设计中,通常包括两种主要类型的微处理器芯片,一个是以应用微处理器(AP)为中心的硬件系统,运行用户操作系统和相应的应用,另一个是以通信微处理器(CP)为中心的硬件系统,运行相应的通信协议栈(基带系统)。由此,此类移动终端设备的设计也通常包括两种类型,一种是采用应用微处理器和通信微处理器分离的硬件设计,应用系统与通信系统之间的通信通过两个微处理器之间的特殊硬件通道进行。另一种是把应用微处理器和通信微处理器合二为一,即在一个微处理器上实现应用系统与通信系统,此时应用系统与通信系统从逻辑上是不独立的。应用系统与通信系统是两个具有不同特点的系统,应用系统完成应用性功能及相应的用户交互,着重用户体验;通信系统完成相应的通信协议功能,要求硬实时特性。所以, 微处理器分离的方案可以较好地满足应用系统与通信系统本身的要求,但会带来功耗、硬件复杂度及性价比较差等方面的缺点,微处理器和通信微处理器合二为一的方案则会带来应用软件设计相对复杂,可扩展性差等方面的缺点。针对两类系统设计的缺点,本专利技术通过在单一微处理器设计虚拟机(以下简称 HopenVM)的方法,在虚拟机在支持应用系统与通信系统所需要的各自的操作系统,最后分别运行应用系统与通信系统,使得整个架构同时满足两个系统的要求,又克服了各自的缺点ο
技术实现思路
操作系统虚拟机是一种软件产品,在特定的软件平台上,通过软件手段把具有完整硬件系统功能的物理硬件机器,转化成多个逻辑上隔离的完整计算机系统。虚拟机提供了一种隔离的软件容器,在它之上可以运行自己的操作系统和应用程序,就好像一台物理计算机一样。本专利技术的虚拟机产品应用于支持嵌入式操作系统,为了满足如下的需求(1)满足不同实时性需求的系统。如应用系统和专用系统可以有强实时和软实时之分, 可以根据需要使用不同的调度算法。(2)逻辑上两个系统相互独立,以提高整个系统的可靠性,提高整个系统的抗崩溃的能力,有利于建立更可靠的内核安全机制。(3)便于系统的移植,不同的系统独立开发和调试。本专利技术需要支持硬实时的系统,并且尽可能减少性能上的开销,所以需要满足逻辑上分隔,硬实时系统绝对优先(包括中断响应、任务的运行),不引入任何不必要的功能和机制,不降低性能,不影响并发性能,不做指令的仿真,也不考虑驱动程序的问题。Hopen VM提供必要的虚拟设备,包括虚拟中断器、虚拟定时器、虚拟终端和虚拟管道。1、虚拟化寄存器的方法类似于硬件实现时寄存器地址的映射可以采用IO地址映射和MEMORY地址映射思想, 我们用内存地址单元直接仿真寄存器单元,以实现虚拟化的寄存器集合。相应地,提供对这些虚拟化的寄存器存取的函数读函数和写函数。2、虚拟化虚拟中断控制器的方法基于以上虚拟化寄存器的方法,提供一组虚拟的虚拟中断控制器。基于虚拟中断控制器,HopenVM为每个虚拟机提供若干个虚拟中断和若干个伪中断。在虚拟机操作系统中,只能操作虚拟中断控制器。真实的硬件通过映射的方式和虚拟中断建立对应关系,真实中断不能共享,只能被某一个虚拟机所运行的操作系统使用,通过“虚拟中断映射表”事先将系统真实中断预分配,或者通过HopenVM中断注册的方法改变该中断在映射表的属性。中断控制器硬件完全由HopenVM控制,虚拟机中的操作系统不能直接操作中断控制器硬件,只能操作虚拟中断控制器。HopenVM为每一个虚拟机都提供一个有若干个虚拟中断和若干个伪中断的虚拟中断控制器。有的虚拟中断有对应的硬件中断,有的则没有对应的硬件中断。操作系统可以通过调用虚拟中断控制器操作程序允许和禁止指定的虚拟中断。如果该虚拟中断对应了硬件中断,则Hopen VM会根据要求操作对应的硬件中断控制器。大部分虚拟中断会直接对应某个真实中断。直接对应虚拟中断的真实中断使用标准的真实中断处理程序。该处理程序如下运行(1)根据中断的类型操作真实的中断控制器。(2)向虚拟机发送对应的虚拟中断。由于真实中断的优先级并不按照中断号排列,因此如果要使真实中断的优先级能同时反映在虚拟中断上,那么真实中断号就必须按照中断的优先级对应的虚拟中断号。这样对应的虚拟中断号就可能与真实中断号不是同一个号。3、构造虚拟设备系统的方法Hopen VM在硬件之上构建中断虚拟设备,建立起虚中断和伪中断为主的中断虚拟系统,再以虚拟机和中断虚拟系统为基础,虚拟出定时器、控制台、管道等若干虚拟设备, Hopen VM架构下的虚拟设备具有丰富的扩展功能。虚拟设备和硬件设备的寄存器组类似, 虚拟中断及伪中断的处理流程和真实中断相一致,因此虚拟设备完全具备了真实硬件设备的操作方法和流程。 其中,虚拟管道是基于Hopen VM和伪中断设计的一个虚拟设备,硬件上没有对应的真实设备,其主要功能是建立两个操作系统之间的数据通信通道,使得两个建立在HopenVM上的逻辑上相互隔离的客户操作系统之间可以进行数据通信,类似与在两个独立的微处理器之间用独立的硬件通道,比如串行口或者并行口进行通信。Hopen VM提供可配置个数的连接两个虚拟机的双向虚拟管道。每一个虚拟管道都可以分别指定各个方向的缓存的大小。所有虚拟管道共享一个虚拟管道中断,伪中断,使用中断状态位来快速判断哪一个虚拟管道有中断。本专利技术的目的是支持基带系统和应用系统分离的软件架构,进行底层软件架构的优化,设计Hopen VM虚拟硬件系统,提出虚拟微处理器的概念,其结果是从基带系统和应用系统看,硬件系统依然是基带处理器和应用处理器两个微处理器,这样的设计实现很大程度上节省了手机硬件设计成本,减小了系统功耗,使有限的硬件资源适合于复杂软件架构。附图说明下面结合附图和具体实施方式对本专利技术作进一步的说明。图1为本专利技术所述的虚拟管道结构图。图2为本专利技术所述的虚拟机及客户操作系统结构图。具体实施例方式操作系统虚拟机是一种软件产品,在特定的软件平台上,通过软件手段把具有完整硬件系统功能的物理硬件机器,转化成多个逻辑上隔离的完整计算机系统。虚拟机提供了一种隔离的软件容器,在它之上可以运行自己的操作系统和应用程序,就好像一台物理计算机一样。本专利技术的虚拟机软件产品应用于支持嵌入式操作系统,两个客户操作系统有各自有其独立的任务调度、内存管理和中断处理等。Hopen VM虚拟机负责对真实硬件进行管理, 向两个操作系统抽象出两个不同的虚拟中断处理单元,协调两个操作系统之间的运行,并提供一系列在两个操作系统之间进行通信的机制。通常,基带系统可以看成一个实时系统, 其调度特性上要求进程具有可抢占性和确定的响应时间,具有较高优先执行的特点。应用系统负责运行功能性程序,处理用户交互。虚拟机虚拟出两个虚拟CPU,但同一时刻只能有本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:顾玉良王新社奉旭辉
申请(专利权)人:北京凯思昊鹏软件工程技术有限公司
类型:发明
国别省市:

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

1
相关领域技术