虚拟机监视器、虚拟机系统及真实物理设备访问方法技术方案

技术编号:2819841 阅读:288 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种虚拟机监视器、虚拟机系统及真实物理设备访问方法,该虚拟机监视器包括第二接口模块、设备内部处理模拟模块和通信模块,其中:第二接口模块与真实物理设备驱动模块连接,用于实现设备内部处理模拟模块与真实物理设备驱动模块之间的数据交互;设备内部处理模拟模块,用于通过第二接口模块从真实物理设备驱动模块接收输入数据,并通过通信模块从模拟物理设备驱动模块接收输出数据后,对输入数据和输出数据进行设备的内部逻辑处理;通信模块与模拟物理设备驱动模块连接,用于实现设备内部处理模拟模块与模拟物理设备驱动模块之间的数据交互。本发明专利技术有效地减少了客户操作系统对真实物理设备进行访问的处理时间,提高了系统系能。

【技术实现步骤摘要】

本专利技术涉及虚拟技术,特别是一种虚拟机监视器、虚拟机系统及虚拟机监视器、虚拟机系统及真实物理i殳备访问方法。
技术介绍
现有的虚拟化系统中,真实物理设备的使用方式主要是VM直接访问、半 虚拟化方式和^t拟方式三种。同时,以模拟方式来使用真实物理设备又分为VMM (Virtual Machine Monitor,虚拟机监视器)模拟方式、基于Host OS (宿主操作系统)的VMM 模拟方式和IO (输入输出)虚拟机的模拟方式。其中,VMM模拟方式需要在虚拟机监视器中包含物理设备驱动,然而由 于真实物理设备千差万别的,因此VMM需要支持多种硬件平台,维护工作量 太大。而基于Host OS的VMM模拟方式由于VMM运行于宿主操作系统之上, 无需包含物理设备驱动,所以维护工作量减小了,但性能较差。为了解决上述出现的问题,出现了 IO虛拟机的模拟方式。图1为现有技术中利用IO虚拟机的模拟方式的虚拟机系统的结构示意 图。该虚拟机系统包括虚拟才几监纟见器(VMM);服务操作系统(SOS);至少一个GOS (图1中仅示出1个GOS)。其中SOS启动时,扫描PCI总线,发现真实物理设备,通过真实物理设 备驱动模块对真实物理设备进行访问。同时,SOS包含与GOS对应的设备模型(DM),为GOS提供一个模拟 物理设备。GOS启动时,执行扫描操作,其扫描操作被VMM拦截,通过通信模块 转发给对应的DM, DM给该GOS注册模拟物理设备。此后,GOS与真实物理设备的数据交互都通过模拟物理设备驱动、VMM、 DM和真实物理设备驱动模块进行。其中,该设备模型具体包括虚拟机监视器读写接口 ,用于与虚拟机监视器中的通信模块进行数据交互;物理设备读写接口 ,用于与真实物理设备驱动模块进行数据交互; 设备内部处理模拟模块,与虚拟机监视器读写接口和物理设备读写接口连 接,用于交互数据的内部处理。上述的设置于VMM中的通信模块具体包括设备模型读写接口 ,用于与虚拟机监视器读写接口连接进行数据交互; 客户操作系统读写接口,用于处理物理设备内部逻辑,并与客户操作系统的模拟物理设备驱动模块连接进行数据交互。上述的虚拟机操作系统中,设备模型在获知真实物理设备驱动模块有数据需要传送到客户操作系统时,需要等待被SOS调度才能从真实物理设备驱动模块获取数据;同时在设备内部处理模拟模块处理完内部逻辑后,需要给虚拟机监视器注 射中断,而虚拟机监视器处理中断,从设备模型获取数据,需要再一次等待该 设备模型被SOS调度才能获取数据。从上述的描述可以发现,虽然IO虚拟机的模拟方式相对于基于Host OS 的VMM模拟方式性能有所提高,但仍然需要在设备模型和VMM之间进行多 次交互,同时等待DM被调度,处理时间仍然非常长,无法满足用户需求。
技术实现思路
本专利技术的目的是提供一种虚拟机监视器、虚拟机系统及真实物理设备访问 方法,有效地减少客户操作系统访问真实物理设备的时间,提高系统性能。为了实现上述目的,本专利技术提供了一种虚拟机监视器,包括第二接口模块、 设备内部处理模拟模块和通信模块,其中所述第二接口才莫块,与真实物理设备驱动模块连接,用于实现设备内部处理模拟模块与真实物理设备驱动模块之间的数据交互;设备内部处理模拟模块,用于通过第二接口模块从真实物理设备驱动模块 接收输入数据,并通过通信模块从模拟物理设备驱动模块接收输出数据后,对 输入数据和输出数据进行设备的内部逻辑处理;通信模块,与模拟物理设备驱动模块连接,用于实现设备内部处理模拟模 块与模拟物理设备驱动模块之间的数据交互。上述的虚拟机监视器,其中,所述第二接口模块与设置于真实物理设备驱 动模块的第 一接口模块连接,实现设备内部处理模拟模块与真实物理设备驱动 模块之间的数据交互。上述的虚拟机监视器,其中,所述设备内部处理模拟模块设置有数据緩存 区,用于緩存所述输入数据和输出数据。为了更好的实现上述目的,本专利技术还提供了一种虛拟机系统,包括真实物 理设备、服务操作系统、虚拟机监视器和客户操作系统,所述虚拟机监视器包 括第二接口模块、设备内部处理模拟模块和通信模块,其中所述第二接口模块,与真实物理设备驱动模块连接,用于实现设备内部处理模拟模块与真实物理设备驱动模块之间的数据交互;-设备内部处理模拟模块,用于通过第二接口模块从真实物理设备驱动模块 接收输入数据,并通过通信模块从模拟物理设备驱动模块接收输出数据后,对输入数据和输出数据进行设备的内部逻辑处理;通信模块,与模拟物理设备驱动模块连接,用于实现设备内部处理模拟模 块与模拟物理设备驱动模块之间的数据交互。上述的虚拟机系统,其中,所述第二接口模块与设置于真实物理设备驱动模块的第 一接口模块连接,实现设备内部处理模拟模块与真实物理设备驱动模块之间的数据交互。上述的虚拟机系统,其中,所述设备内部处理模拟模块设置有数据緩存区,用于緩存所述输入数据和输出数据。为了更好的实现上述目的,本专利技术还提供了一种虚拟机系统的真实物理设备访问方法,包4舌数据输入步骤,设置于虚拟机监视器的设备内部处理模拟模块通过设置于 虚拟机监视器的第二接口模块从真实物理设备驱动模块接收输入数据,对输入 数据进行设备的内部逻辑处理,并将输入数据通过设置于虛拟机监视器的通信模块传输到模拟物理设备驱动模块;和数据输出步骤,设置于虚拟机监视器的设备内部处理模拟模块通过设置于 虛拟机监视器的通信模块从模拟物理设备驱动模块接收输出数据后,对输出数 据进行设备的内部逻辑处理,并将输出数据通过设置于虚拟机监视器的第二接 口模块传输到真实物理设备驱动模块。上述的方法,其中,设置于虛拟机监视器的设备内部处理模拟模块接收到 的数据緩存于数据緩存区。上述的方法,其中,所述第二接口模块与设置于真实物理设备驱动模块的 第 一接口模块连接,实现设备内部处理模拟模块与真实物理设备驱动模块之间 的数据交互。上述的方法,其中,所述数据输入步骤具体包括真实物理设备驱动模块从真实物理设备获取输入数据后,通过第 一接口将输入数据发送给虛拟一几监一见器;设备内部处理模拟模块通过第二接口模块接收输入数据后,对输入数据进行内部逻辑处理;通信模块向客户操作系统注射中断;客户操作系统进行中断处理,并发送读数据指令到通信模块; 通信模块调用设备内部处理模拟模块获取输入数据后,返回输入数据给模拟设备驱动模块。上述的方法,其中,所述数据输出步骤具体包括模拟设备驱动模块接收客户操作系统的输出数据后,将输出数据发送给虚 拟机监视器;设备内部处理模拟模块通过通信模块接收输出数据后,对输出数据进行内 部逻辑处理;设备内部处理模拟模块将输出数据通过第二接口模块发送给真实物理设 备驱动模块;真实物理设备驱动模块通过第 一接口模块接收输出数据后,发送给真实物 理设备。本专利技术的,通过在虚 拟机监视器中设置一设备内部处理模拟模块,其分别通过第二接口模块和通信模块直接与SOS中的真实物理设备驱动模块和模拟设备驱动模块连接,相对 于现有技术中的真实物理设备访问方法具有以下优点1、 调度时间的节省现有技术中的设备模型需要被操作系统调度到才会进行数据处理,而整个 处理流程中,需要被多次调度,由于真实物理设备驱动模块获取数据后直接通 过第二接口模块发送给设备内部处理模拟模块,相比本文档来自技高网
...

【技术保护点】
一种虚拟机监视器,其特征在于,包括第二接口模块、设备内部处理模拟模块和通信模块,其中: 所述第二接口模块,与真实物理设备驱动模块连接,用于实现设备内部处理模拟模块与真实物理设备驱动模块之间的数据交互; 设备内部处理模拟模块,用于通过第二接口模块从真实物理设备驱动模块接收输入数据,并通过通信模块从模拟物理设备驱动模块接收输出数据后,对输入数据和输出数据进行设备的内部逻辑处理; 通信模块,与模拟物理设备驱动模块连接,用于实现设备内部处理模拟模块与模拟物理设备驱动模块之间的数据交互。

【技术特征摘要】

【专利技术属性】
技术研发人员:王碧波陈军
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:11[中国|北京]

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

1
相关领域技术
  • 暂无相关专利