虚拟计算机系统的制作方法

文档序号:8501118阅读:400来源:国知局
虚拟计算机系统的制作方法
【技术领域】
[0001 ] 本发明涉及虚拟计算机系统。
【背景技术】
[0002]在现有的l/0(lnput/0utput)设备的虚拟化方式中,通过完全虚拟化和准虚拟化的方法,进行虚拟化(例如专利文献1、专利文献2)。
[0003]通过对I/O设备进行虚拟化,能够获得如下优点:当更新硬件(H/W)时,能够在不变更客户机OS (Operating System)侧的环境的情况下更新系统。
[0004]完全虚拟化是指这样的方式:由主机OS对实际存在的物理I/O设备完全地进行仿真,客户机OS利用所仿真的I/O设备。
[0005]在客户机OS中,由设置在客户机OS上的标准设备驱动器对所仿真的I/O设备进行控制,所仿真的I/o设备利用设置在主机OS上的标准设备驱动器,对物理I/O设备进行控制。
[0006]准虚拟化是指,在客户机OS和主机OS双方中嵌入作为与虚拟化软件(虚拟机监视器)的接口的设备驱动器的方式。
[0007]将该客户机OS侧的设备驱动器称为前端驱动器(front end driver),将主机OS侧的设备驱动器称为后端驱动器(back end driver) ο
[0008]在客户机OS对物理I/O设备的控制方法中,首先,由前端驱动器利用虚拟化软件的内部通信机构和共享存储器,将设备的控制数据交给后端驱动器。
[0009]后端驱动器将从前端驱动器收到的设备的控制数据转换成可由设置在主机OS上的标准设备驱动器利用的数据结构,使用转换后的控制数据,借助主机OS上的标准设备驱动器来对物理I/o设备进行控制。
[0010]现有技术文献
[0011]专利文献
[0012]专利文献1:日本特开2010-205124号公报
[0013]专利文献2:日本特开2009-134601号公报

【发明内容】

[0014]发明要解决的课题
[0015]在现有的基于完全虚拟化及准虚拟化的I/O设备的虚拟化中,存在如下问题:需要按作为虚拟化对象的每个物理I/o设备进行与虚拟化软件的内部构造相应的开发。
[0016]在现有的完全虚拟化中,需要开发对物理I/O设备完全地进行仿真的功能,但是,这需要进行在掌握了虚拟化软件的内部构造和对象的物理I/o设备的细节的基础上的开发。
[0017]因此,存在需要按作为虚拟化对象的每个物理I/O设备开发复杂的仿真功能这样的问题。
[0018]另外,在现有的准虚拟化中,需要按作为虚拟化对象的每个物理I/O设备开发前端驱动器和后端驱动器的组合。
[0019]这是因为,需要由后端驱动器将从前端驱动器通过虚拟化软件的内部通信机构交给后端驱动器的控制数据转换成可由标准设备驱动器利用的数据结构。
[0020]因此,需要开发专用于对象I/O设备的前端驱动器和后端驱动器的组合。
[0021]也就是说,与完全虚拟化同样,存在如下问题:需要按作为虚拟化对象的每个物理I/O设备,在掌握了虚拟化软件的内部构造的细节的基础上,开发前端驱动器和后端驱动器。
[0022]本发明以解决如上所述的问题为主要目的,主要目的在于实现一种结构,该结构不需要按每个物理I/o设备开发后端驱动器,当更新硬件时,能够在不实施客户机OS侧的环境变更的情况下更新系统。
[0023]用于解决问题的手段
[0024]本发明的虚拟计算机系统,其特征在于,具有:硬件,其包含物理处理器、物理存储器和多个物理l/0(lnput/0utput)设备;在所述硬件上进行工作的主机OS (OperatingSystem)及虚拟机监视器;以及在所述虚拟机监视器上进行工作的客户机OS,所述虚拟机监视器在所述客户机OS与所述主机OS之间进行数据的中继,所述客户机OS具有:多个前端驱动器,它们各自对应于所述多个物理I/O设备中的某个物理I/O设备,输入用于控制所对应的物理I/O设备的控制数据;以及客户机OS侧管理部,其从各前端驱动器输入控制数据,向所述虚拟机监视器输出所输入的控制数据,所述主机OS具有:多个标准设备驱动器,它们各自对应于所述多个物理I/O设备中的某个物理I/O设备,输入来自共享所对应的物理I/O设备的、存在对应关系的前端驱动器的控制数据,根据所输入的控制数据,控制所对应的物理I/o设备;以及主机OS侧管理部,其从所述虚拟机监视器输入从所述客户机OS侧管理部输出的控制数据,向与作为所输入的控制数据的输出源的前端驱动器存在对应关系的标准设备驱动器输出所输入的控制数据。
[0025]发明效果
[0026]在本发明中,客户机OS侧管理部被输入来自多个前端驱动器的控制数据,向虚拟机监视器输出来自多个前端驱动器的控制数据,主机OS侧管理部从虚拟机监视器输入来自多个前端驱动器的控制数据,向对应的设备驱动器输出各控制数据。
[0027]因此,根据本发明,不需要按每个物理I/O设备开发后端驱动器,另外,当更新硬件时,能够在不实施客户机OS侧的环境变更的情况下更新系统。
【附图说明】
[0028]图1是示出实施方式I的虚拟计算机系统的结构例的图。
[0029]图2是说明控制数据的交接时产生的问题的图。
[0030]图3是说明实施方式I的控制数据的交接方法的图。
[0031]图4是示出实施方式I的应用处理的流程图。
[0032]图5是示出实施方式I的前端驱动器处理的流程图。
[0033]图6是示出实施方式I的标准驱动器调用机构(I)的映射处理(I)的流程图。
[0034]图7是示出实施方式I的标准驱动器调用机构(2)的映射处理(2)的流程图。
[0035]图8是示出实施方式I的标准驱动器调用机构(I)的处理的流程图。
[0036]图9是示出实施方式I的标准驱动器调用机构(2)的处理的流程图。
[0037]图10是示出实施方式I的虚拟计算机系统的硬件结构例的图。
【具体实施方式】
[0038]实施方式1.
[0039]在本实施方式中,说明如下的能够直接获得虚拟化优点的结构:不需要进行掌握了各个物理I/o设备的虚拟化软件的内部构造的开发,当更新硬件时,能够在不实施客户机OS侧的环境变更的情况下更新系统。
[0040]图1示出本实施方式的虚拟计算机系统100的结构例。
[0041]虚拟计算机系统100具备硬件40,主机0S30以及虚拟化软件20使用硬件40进行工作。
[0042]而且,客户机OSlO使用虚拟化软件20进行工作。
[0043]虚拟化软件20也称为虚拟机监视器。
[0044]虚拟化软件20在客户机OSlO与主机0S30之间进行数据的中继。
[0045]此外,虚拟化软件20包括如下类型:在主机0S30上虚拟化软件20作为应用程序进行工作的主机OS型;以及虚拟化软件20本身作为主机0S30进行工作的虚拟机监管程序(hypervisor)型。
[0046]在硬件40 中包含 I/O 设备 A401、I/0 设备 B402、CPU(Central Processing Unit:中央处理单元)403以及RAM (Random Access Memory:随机存取存储器)404。
[0047]I/O设备A401、I/O设备B402例如为磁盘装置等二次存储装置、通信板等。
[0048]此外,在图1中仅仅图示了 I/O设备A401、I/O设备B402这2个I/O设备,但是,I/o设备的个数不限于2个。
[0049]另外,在虚拟计算机系统100的硬件40中可以包含图1所示的以外的设备。
[0050]在客户机OSlO中包含前端驱动器A121、前端驱动器B122作为虚拟化软件20专用的设备驱动器。
[0051]前端驱动器A121对应于I/O设备A401,前端驱动器B122对应于I/O设备B402。
[0052]此外,在客户机OSlO中包含由进行虚拟化的
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1