访问主板附加设备的方法、虚拟机管理器及计算机.pdf

上传人:a2 文档编号:1033117 上传时间:2018-03-27 格式:PDF 页数:11 大小:382.37KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910243227.8

申请日:

2009.12.29

公开号:

CN102110008A

公开日:

2011.06.29

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 9/455申请日:20091229|||公开

IPC分类号:

G06F9/455; G06F9/50

主分类号:

G06F9/455

申请人:

联想(北京)有限公司

发明人:

汤良

地址:

100085 北京市海淀区上地信息产业基地创业路6号

优先权:

专利代理机构:

北京银龙知识产权代理有限公司 11243

代理人:

许静

PDF下载: PDF下载
内容摘要

本发明提供一种访问主板附加设备的方法、虚拟机管理器及计算机,其中,方法包括:获取客户操作系统对所述客户操作系统需要的主板附加设备的访问;将所述访问定向到一硬件设备,由所述硬件设备完成所述访问;其中,所述主板附加设备是所述硬件设备通过虚拟机管理器模拟的主板附加设备。本发明的方案避免了Guest OS非正常退出的情况。

权利要求书

1: 一种访问主板附加设备的方法, 其特征在于, 包括 : 获取客户操作系统对所述客户操作系统需要的主板附加设备的访问 ; 将所述访问定向到一硬件设备, 由所述硬件设备完成所述访问 ; 其中, 所述主板附加设 备是所述硬件设备通过虚拟机管理器模拟的主板附加设备。
2: 根据权利要求 1 所述的方法, 其特征在于, 所述通过虚拟机管理器模拟主板附加设 备的过程包括 : 通过虚拟机管理器为所述主板附加设备分配物理内存 ; 通过虚拟机管理器建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映 射; 所述硬件设备完成所述访问的步骤具体为 : 所述硬件设备根据所述内存映射完成所述访问。
3: 根据权利要求 2 所述的方法, 其特征在于, 所述通过虚拟机管理器为所述主板附加 设备分配物理内存的步骤具体为 : 根据所述客户操作系统被创建时需要的主板附加设备的数量, 通过虚拟机管理器为所 述主板附加设备分配物理内存。
4: 根据权利要求 2 或 3 所述的方法, 其特征在于, 所述通过虚拟机管理器建立所述物理 内存与所述客户操作系统的虚拟内存之间的内存映射的步骤包括 : 获取所述虚拟机管理器为所述主板附加设备分配的物理内存的大小及所述物理内存 在整个内存中的位置 ; 根据所述物理内存的大小及所述位置, 建立所述物理内存与所述客户操作系统的虚拟 内存之间的内存映射。
5: 根据权利要求 1 所述的方法, 其特征在于, 所述主板附加设备包括 : 高级可编程中断 控制器 APIC 和高精度时钟 HPET。
6: 一种虚拟机管理器, 其特征在于, 包括 : 获取模块, 用于获取客户操作系统对所述客户操作系统需要的主板附加设备的访问 ; 定向模块, 用于将所述访问定向到一硬件设备, 由所述硬件设备完成所述访问 ; 其中, 所述主板附加设备是所述硬件设备模拟的主板附加设备 ; 内存处理模块, 用于完成所述硬件设备模拟所述主板附加设备时的内存处理。
7: 根据权利要求 6 所述的虚拟机管理器, 其特征在于, 所述内存处理模块包括 : 分配模块, 用于为所述主板附加设备分配物理内存 ; 映射模块, 用于建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射 ; 所述硬件设备根据所述内存映射完成所述访问。
8: 根据权利要求 7 所述的虚拟机管理器, 其特征在于, 所述映射模块包括 : 获取子模块, 用于获取为所述主板附加设备分配的物理内存的大小以及所述物理内存 在整个物理内存中的位置 ; 映射子模块, 用于根据所述物理内存的大小及所述位置, 建立所述物理内存与所述客 户操作系统的虚拟内存之间的内存映射。
9: 一种硬件设备, 包括 : 插槽, 用于与所述主板上的插槽对应插接 ; 其特征在于, 还包 括: 2 模拟模块, 用于通过虚拟机管理器模拟客户操作系统需要的主板附加设备 ; 处理模块, 用于完成所述虚拟机管理器重定向的所述客户操作系统对所述主板附加设 备的访问。
10: 根据权利要求 8 所述的硬件设备, 其特征在于, 所述模拟模块包括 : 申请模块, 用于向所述虚拟机管理器申请所述主板附加设备需要的物理内存 ; 创建模块, 用于创建所述主板附加设备, 并将所述物理内存分配给创建的所述主板附 加设备。
11: 根据权利要求 10 所述的硬件设备, 其特征在于, 所述处理模块具体用于根据所述 主板附加设备被分配的物理内存与所述客户操作系统的虚拟内存之间的映射, 完成所述虚 拟机管理器重定向的所述客户操作系统对所述主板附加设备的访问。
12: 一种计算机, 包括 : 硬件平台, 具有主板 ; 虚拟机管理器, 运行在所述硬件平台上 ; 主操作系统和至少一个客户操作系统, 运行在所述虚拟机管理器上 ; 其特征在于, 还包括 : 硬件设备, 与所述主板上的插槽对应插接, 用于模拟客户操作系统需要的主板附加设 备; 所述虚拟机管理器具体用于获取所述客户操作系统对所述客户操作系统需要的主板 附加设备的访问, 并将所述访问定向到所述硬件设备, 由所述硬件设备完成所述访问。

说明书


访问主板附加设备的方法、 虚拟机管理器及计算机

    【技术领域】
     本发明涉及计算机领域, 特别是指一种虚拟机环境下的访问主板附加设备的方 法、 虚拟机管理器及计算机。背景技术
     现有的虚拟化平台, 如图 1 所示, 包括硬件平台、 运行在硬件平台上的虚拟机管理 器 VMM(Virtual Machine Manager) 以及运行在虚拟机管理器 VMM 上的主操作系统 (HOST OS) 及至少一个客户操作系统 (Guest OS) ; 其中, 硬件平台包括有主板以及主板上设备, 其 中主板上设备如 CPU、 内存等各种支持操作系统运行的计算机硬件 ; 在 Guest OS 运行过程 中, 会频繁访问中断控制器和时钟这样的主板附加设备, Guest OS 对中断控制器和时钟的 访问均会被虚拟机管理器 VMM 拦截, 由虚拟机管理器实现 Guest OS 对中断控制器和时钟的 访问。 在这种机制下, Guest OS 频繁地访问中断控制器和时钟, 会造成 Guest OS 的不正 常退出, 即 VMEXIT, 从 NO-HOST 模式切换到 HOST 模式 ; 模式切换需要耗费很多 CPU 时间, 造 成虚拟机系统的整体性能下降。
     发明人在实现本发明的过程, 发现现有技术中存在如下问题 :
     现有技术中, 由虚拟机管理器实现 Guest OS 对中断控制器和时钟的频繁访问过程 中, 容易出现 Guest OS 非正常退出, 造成虚拟机系统的整体性能下降。
     发明内容 本发明要解决的技术问题是提供一种避免 Guest OS 非正常退出的访问主板附加 设备的方法、 虚拟机管理器及计算机。
     为解决上述技术问题, 本发明的实施例提供一种访问主板附加设备的方法, 包 括:
     获取客户操作系统对所述客户操作系统需要的主板附加设备的访问 ;
     将所述访问定向到一硬件设备, 由所述硬件设备完成所述访问 ; 其中, 所述主板附 加设备是所述硬件设备通过虚拟机管理器模拟的主板附加设备。
     优选的, 所述通过虚拟机管理器模拟主板附加设备的过程包括 :
     通过虚拟机管理器为所述主板附加设备分配物理内存 ;
     通过虚拟机管理器建立所述物理内存与所述客户操作系统的虚拟内存之间的内 存映射 ;
     所述硬件设备完成所述访问的步骤具体为 :
     所述硬件设备根据所述内存映射完成所述访问。
     优选的, 所述通过虚拟机管理器为所述主板附加设备分配物理内存的步骤具体 为:
     根据所述客户操作系统被创建时需要的主板附加设备的数量, 通过虚拟机管理器
     为所述主板附加设备分配物理内存。
     优选的, 所述通过虚拟机管理器建立所述物理内存与所述客户操作系统的虚拟内 存之间的内存映射的步骤包括 :
     获取所述虚拟机管理器为所述主板附加设备分配的物理内存的大小及所述物理 内存在整个内存中的位置 ;
     根据所述物理内存的大小及所述位置, 建立所述物理内存与所述客户操作系统的 虚拟内存之间的内存映射。
     优选的, 所述主板附加设备包括 : 高级可编程中断控制器 APIC 和高精度时钟 HPET。
     本发明的实施例还提供一种虚拟机管理器, 包括 :
     获取模块, 用于获取客户操作系统对所述客户操作系统需要的主板附加设备的访 问;
     定向模块, 用于将所述访问定向到一硬件设备, 由所述硬件设备完成所述访问 ; 其 中, 所述主板附加设备是所述硬件设备模拟的主板附加设备 ;
     内存处理模块, 用于完成所述硬件设备模拟所述主板附加设备时的内存处理。
     优选的, 所述内存处理模块包括 :
     分配模块, 用于为所述主板附加设备分配物理内存 ;
     映射模块, 用于建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映 射;
     所述硬件设备根据所述内存映射完成所述访问。
     优选的, 所述映射模块包括 :
     获取子模块, 用于获取为所述主板附加设备分配的物理内存的大小以及所述物理 内存在整个物理内存中的位置 ;
     映射子模块, 用于根据所述物理内存的大小及所述位置, 建立所述物理内存与所 述客户操作系统的虚拟内存之间的内存映射。
     本发明的实施例还提供一种硬件设备, 包括 : 插槽, 用于与所述主板上的插槽对应 插接 ; 还包括 :
     模拟模块, 用于通过虚拟机管理器模拟客户操作系统需要的主板附加设备 ;
     处理模块, 用于完成所述虚拟机管理器重定向的所述客户操作系统对所述主板附 加设备的访问。
     优选的, 所述模拟模块包括 :
     申请模块, 用于向所述虚拟机管理器申请所述主板附加设备需要的物理内存 ;
     创建模块, 用于创建所述主板附加设备, 并将所述物理内存分配给创建的所述主 板附加设备。
     优选的, 所述处理模块具体用于根据所述主板附加设备被分配的物理内存与所述 客户操作系统的虚拟内存之间的映射, 完成所述虚拟机管理器重定向的所述客户操作系统 对所述主板附加设备的访问。
     本发明的实施例还提供一种计算机, 包括 : 硬件平台, 具有主板 ; 虚拟机管理器, 运行在所述硬件平台上 ; 主操作系统和至少一个客户操作系统, 运行在所述虚拟机管理器上; 还包括 :
     硬件设备, 与所述主板上的插槽对应插接, 用于模拟客户操作系统需要的主板附 加设备 ;
     所述虚拟机管理器具体用于获取所述客户操作系统对所述客户操作系统需要的 主板附加设备的访问, 并将所述访问定向到所述硬件设备, 由所述硬件设备完成所述访问。
     本发明的上述技术方案的有益效果如下 :
     上述方案中, 通过硬件设备模拟主板附加设备, 如中断控制器和时钟, 通过该硬件 设备完成 Guest OS 对该中断控制器和时钟的访问, 由于硬件设备可以直接访问该中断控制 器和时钟被分配的物理内存, 不再需要虚拟机管理器 VMM 动态访问, 可以满足 Guest OS 对 中断控制器和时钟的频繁访问的需求, 不会再出现 Guest OS 非正常退出的情况。 附图说明
     图 1 为虚拟机系统架构示意图 ;
     图 2 为本发明的实施例访问主板附加设备的方法流程图 ;
     图 3 为图 2 所示方法在计算机中的具体实现过程图 ;
     图 4 本发明的实施例虚拟机管理器的具体结构图。具体实施方式
     为使本发明要解决的技术问题、 技术方案和优点更加清楚, 下面将结合附图及具 体实施例进行详细描述。
     本发明针对现有技术中, 通过虚拟机管理器处理客户操作系统对中断控制器和时 钟的频率访问, 容易出现 Guest OS 非正常退出的问题, 提供一种可以避免 Guest OS 非正常 退出的访问主板附加设备的方法、 虚拟机管理器及计算机。
     如图 2 所示, 本发明的实施例提供一种访问主板附加设备的方法, 包括 :
     步骤 21, 获取客户操作系统对所述客户操作系统需要的主板附加设备的访问 ;
     步骤 22, 将所述访问定向到一硬件设备, 由所述硬件设备完成所述访问 ; 其中, 所 述主板附加设备是所述硬件设备通过虚拟机管理器模拟的主板附加设备。
     其中, 该主板附加设备如可以是 : 客户操作系统频繁访问的中断控制器和时钟, 特 别是指 : 高级可编程中断控制器 APIC(Advanced ProgrammableInterrupt Controller) 和 高精度时钟 HPET(High Performace Event Timers)。
     本发明的上述实施例通过硬件设备模拟主板附加设备, 如中断控制器和时钟, 通 过该硬件设备完成 Guest OS 对该中断控制器和时钟的访问, 由于硬件设备可以直接访问 该中断控制器和时钟被分配的物理内存, 不再需要虚拟机管理器 VMM 动态访问, 可以满足 Guest OS 对中断控制器和时钟的频繁访问的需求, 不会再出现 Guest OS 非正常退出的情 况。
     其中, 上述步骤 22 中, 通过虚拟机管理器模拟主板附加设备的过程包括 :
     步骤 221, 通过虚拟机管理器为所述主板附加设备分配物理内存 ;
     步骤 222, 通过虚拟机管理器建立所述物理内存与所述客户操作系统的虚拟内存 之间的内存映射 ;相应的, 上述步骤 22 中, 所述硬件设备完成所述访问的步骤具体为 :
     所述硬件设备根据所述内存映射完成对所述主板附加设备的访问。
     进一步的, 步骤 221 可以具体为 : 根据所述客户操作系统被创建时, 需要的主板附 加设备的数量, 通过虚拟机管理器为所述主板附加设备分配物理内存。
     步骤 222 可具体包括 :
     获取虚拟机管理器为所述主板附加设备分配的物理内存的大小及所述物理内存 在整个内存中的位置 ;
     根据所述物理内存的大小及所述位置, 建立所述物理内存与所述客户操作系统的 虚拟内存之间的内存映射。
     如图 3 所示, 下面再结合具体的附图说明上述方法的实现过程 :
     硬件设备向虚拟机管理器申请内存空间, 作为模拟高级可编程中断控制器 APIC 和高精度时钟 HPET 的空间 ;
     虚拟机管理器为该硬件设备系统分配相关内存空间 ;
     虚拟机管理器 VMM 在每个 VM(Guest OS) 创建的时候, 申请需要模拟的 APIC 和 HPET 的数目 ;
     硬件设备创建相应的 APIC 和 HPET ; 通过 IO 内存汇报 APIC 和 HPET 所占用内存的位置。 虚拟机管理器 VMM 建立 Guest OS 的物理内存和硬件设备模拟的 IO 内存的内存映射; 硬件设备根据所述内存映射完成客户操作系统对 APIC 和 HPET 的访问。
     本发明的上述实施例通过硬件设备模拟中断控制器和时钟, 虚拟机管理器 VMM 将 中断控制器和时钟内存重新映射, 这样 Guest OS 访问中断控制器和时钟的时候, 就不会产 生非正常退出的情况, 提高系统性能的同时, 还提供时间的准确性。
     如图 4 所示, 本发明的实施例还提供一种虚拟机管理器 40(VMM), 包括 :
     获取模块 41, 用于获取客户操作系统对所述客户操作系统需要的主板附加设备的 访问 ;
     定向模块 42, 用于将所述访问定向到一硬件设备, 由所述硬件设备完成所述访问 ; 其中, 所述主板附加设备是所述硬件设备模拟的主板附加设备 ;
     内存处理模块 43, 用于完成所述硬件设备模拟所述主板附加设备时的内存处理。
     其中, 内存处理模块 43 可具体包括 :
     分配模块 431, 用于为所述主板附加设备分配物理内存 ;
     映射模块 432, 用于建立所述物理内存与所述客户操作系统的虚拟内存之间的内 存映射 ;
     所述硬件设备根据所述内存映射完成所述访问。
     所述映射模块 432 包括 :
     获取子模块, 用于获取为所述主板附加设备分配的物理内存的大小以及所述物理 内存在整个物理内存中的位置 ;
     映射子模块, 用于根据所述物理内存的大小及所述位置, 建立所述物理内存与所 述客户操作系统的虚拟内存之间的内存映射。
     该虚拟机管理器为硬件设备提供内存分配和分存映射, 使硬件设备可以模拟客户 操作系统频率访问的中断控制器和时钟, 使客户操作系统对中断控制器和时钟的频繁访问 可以通过硬件实现, 不再需要虚拟机管理器 VMM 动态访问, 可以满足 Guest OS 对中断控制 器和时钟的频繁访问的需求, 不会再出现 Guest OS 非正常退出的情况, 在提高系统性能的 同时, 提高时间准确性。
     另外, 本发明的实施例还提供一种硬件设备, 包括 : 插槽, 用于与所述主板上的插 槽对应插接 ; 该硬件设备还包括 :
     模拟模块, 用于通过虚拟机管理器模拟客户操作系统需要的主板附加设备 ;
     处理模块, 用于完成所述虚拟机管理器重定向的所述客户操作系统对所述主板附 加设备的访问。
     其中, 所述模拟模块包括 :
     申请模块, 用于向所述虚拟机管理器申请所述主板附加设备需要的物理内存 ;
     创建模块, 用于创建所述主板附加设备, 并将所述物理内存分配给创建的所述主 板附加设备。
     相应的, 所述处理模块具体用于根据所述主板附加设备被分配的物理内存与所述 客户操作系统的虚拟内存之间的映射, 完成所述虚拟机管理器重定向的所述客户操作系统 对所述主板附加设备的访问。 该硬件设备通过模拟客户操作系统需要的中断控制器和时钟, 使客户操作系统对 中断控制器和时钟的频繁访问, 通过硬件实现, 不再需要虚拟机管理器 VMM 动态访问, 可以 满足 Guest OS 对中断控制器和时钟的频繁访问的需求, 不会再出现 Guest OS 非正常退出 的情况。
     本发明的实施例还提供一种计算机, 包括 : 硬件平台, 具有主板 ; 虚拟机管理器, 运行在所述硬件平台上 ; 主操作系统和至少一个客户操作系统, 运行在所述虚拟机管理器 上; 该计算机还包括 :
     硬件设备, 与所述主板上的插槽对应插接, 用于模拟客户操作系统需要的主板附 加设备 ;
     所述虚拟机管理器具体用于获取所述客户操作系统对所述客户操作系统需要的 主板附加设备的访问, 并将所述访问定向到所述硬件设备, 由所述硬件设备完成所述访问。
     其中, 该虚拟机管理器具体可通过上述图 4 所示的实施例实现, 该硬件设备具体 可包括 :
     模拟模块, 用于通过虚拟机管理器模拟客户操作系统需要的主板附加设备 ;
     处理模块, 用于完成所述虚拟机管理器重定向的所述客户操作系统对所述主板附 加设备的访问。
     其中, 所述模拟模块包括 :
     申请模块, 用于向所述虚拟机管理器申请所述主板附加设备需要的物理内存 ;
     创建模块, 用于创建所述主板附加设备, 并将所述物理内存分配给创建的所述主 板附加设备。
     相应的, 所述处理模块具体用于根据所述主板附加设备被分配的物理内存与所述 客户操作系统的虚拟内存之间的映射, 完成所述虚拟机管理器重定向的所述客户操作系统
     对所述主板附加设备的访问。
     该硬件设备通过模块客户操作系统需要的中断控制器和时钟, 使客户操作系统对 中断控制器和时钟的频繁访问, 通过硬件实现, 不再需要虚拟机管理器 VMM 动态访问, 可以 满足 Guest OS 对中断控制器和时钟的频繁访问的需求, 不会再出现 Guest OS 非正常退出 的情况, 在提高整个计算机性能的同时, 还提供时间准确性。
     以上所述是本发明的优选实施方式, 应当指出, 对于本技术领域的普通技术人员 来说, 在不脱离本发明所述原理的前提下, 还可以作出若干改进和润饰, 这些改进和润饰也 应视为本发明的保护范围。

访问主板附加设备的方法、虚拟机管理器及计算机.pdf_第1页
第1页 / 共11页
访问主板附加设备的方法、虚拟机管理器及计算机.pdf_第2页
第2页 / 共11页
访问主板附加设备的方法、虚拟机管理器及计算机.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《访问主板附加设备的方法、虚拟机管理器及计算机.pdf》由会员分享,可在线阅读,更多相关《访问主板附加设备的方法、虚拟机管理器及计算机.pdf(11页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102110008A43申请公布日20110629CN102110008ACN102110008A21申请号200910243227822申请日20091229G06F9/455200601G06F9/5020060171申请人联想(北京)有限公司地址100085北京市海淀区上地信息产业基地创业路6号72发明人汤良74专利代理机构北京银龙知识产权代理有限公司11243代理人许静54发明名称访问主板附加设备的方法、虚拟机管理器及计算机57摘要本发明提供一种访问主板附加设备的方法、虚拟机管理器及计算机,其中,方法包括获取客户操作系统对所述客户操作系统需要的主板附加设备的访问;将所。

2、述访问定向到一硬件设备,由所述硬件设备完成所述访问;其中,所述主板附加设备是所述硬件设备通过虚拟机管理器模拟的主板附加设备。本发明的方案避免了GUESTOS非正常退出的情况。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图2页CN102110011A1/2页21一种访问主板附加设备的方法,其特征在于,包括获取客户操作系统对所述客户操作系统需要的主板附加设备的访问;将所述访问定向到一硬件设备,由所述硬件设备完成所述访问;其中,所述主板附加设备是所述硬件设备通过虚拟机管理器模拟的主板附加设备。2根据权利要求1所述的方法,其特征在于,所述通过虚拟机管理器模拟。

3、主板附加设备的过程包括通过虚拟机管理器为所述主板附加设备分配物理内存;通过虚拟机管理器建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射;所述硬件设备完成所述访问的步骤具体为所述硬件设备根据所述内存映射完成所述访问。3根据权利要求2所述的方法,其特征在于,所述通过虚拟机管理器为所述主板附加设备分配物理内存的步骤具体为根据所述客户操作系统被创建时需要的主板附加设备的数量,通过虚拟机管理器为所述主板附加设备分配物理内存。4根据权利要求2或3所述的方法,其特征在于,所述通过虚拟机管理器建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射的步骤包括获取所述虚拟机管理器为所述主板附加设备分。

4、配的物理内存的大小及所述物理内存在整个内存中的位置;根据所述物理内存的大小及所述位置,建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射。5根据权利要求1所述的方法,其特征在于,所述主板附加设备包括高级可编程中断控制器APIC和高精度时钟HPET。6一种虚拟机管理器,其特征在于,包括获取模块,用于获取客户操作系统对所述客户操作系统需要的主板附加设备的访问;定向模块,用于将所述访问定向到一硬件设备,由所述硬件设备完成所述访问;其中,所述主板附加设备是所述硬件设备模拟的主板附加设备;内存处理模块,用于完成所述硬件设备模拟所述主板附加设备时的内存处理。7根据权利要求6所述的虚拟机管理器,其特。

5、征在于,所述内存处理模块包括分配模块,用于为所述主板附加设备分配物理内存;映射模块,用于建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射;所述硬件设备根据所述内存映射完成所述访问。8根据权利要求7所述的虚拟机管理器,其特征在于,所述映射模块包括获取子模块,用于获取为所述主板附加设备分配的物理内存的大小以及所述物理内存在整个物理内存中的位置;映射子模块,用于根据所述物理内存的大小及所述位置,建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射。9一种硬件设备,包括插槽,用于与所述主板上的插槽对应插接;其特征在于,还包括权利要求书CN102110008ACN102110011A2/。

6、2页3模拟模块,用于通过虚拟机管理器模拟客户操作系统需要的主板附加设备;处理模块,用于完成所述虚拟机管理器重定向的所述客户操作系统对所述主板附加设备的访问。10根据权利要求8所述的硬件设备,其特征在于,所述模拟模块包括申请模块,用于向所述虚拟机管理器申请所述主板附加设备需要的物理内存;创建模块,用于创建所述主板附加设备,并将所述物理内存分配给创建的所述主板附加设备。11根据权利要求10所述的硬件设备,其特征在于,所述处理模块具体用于根据所述主板附加设备被分配的物理内存与所述客户操作系统的虚拟内存之间的映射,完成所述虚拟机管理器重定向的所述客户操作系统对所述主板附加设备的访问。12一种计算机,包。

7、括硬件平台,具有主板;虚拟机管理器,运行在所述硬件平台上;主操作系统和至少一个客户操作系统,运行在所述虚拟机管理器上;其特征在于,还包括硬件设备,与所述主板上的插槽对应插接,用于模拟客户操作系统需要的主板附加设备;所述虚拟机管理器具体用于获取所述客户操作系统对所述客户操作系统需要的主板附加设备的访问,并将所述访问定向到所述硬件设备,由所述硬件设备完成所述访问。权利要求书CN102110008ACN102110011A1/6页4访问主板附加设备的方法、虚拟机管理器及计算机技术领域0001本发明涉及计算机领域,特别是指一种虚拟机环境下的访问主板附加设备的方法、虚拟机管理器及计算机。背景技术0002。

8、现有的虚拟化平台,如图1所示,包括硬件平台、运行在硬件平台上的虚拟机管理器VMMVIRTUALMACHINEMANAGER以及运行在虚拟机管理器VMM上的主操作系统HOSTOS及至少一个客户操作系统GUESTOS;其中,硬件平台包括有主板以及主板上设备,其中主板上设备如CPU、内存等各种支持操作系统运行的计算机硬件;在GUESTOS运行过程中,会频繁访问中断控制器和时钟这样的主板附加设备,GUESTOS对中断控制器和时钟的访问均会被虚拟机管理器VMM拦截,由虚拟机管理器实现GUESTOS对中断控制器和时钟的访问。0003在这种机制下,GUESTOS频繁地访问中断控制器和时钟,会造成GUESTO。

9、S的不正常退出,即VMEXIT,从NOHOST模式切换到HOST模式;模式切换需要耗费很多CPU时间,造成虚拟机系统的整体性能下降。0004发明人在实现本发明的过程,发现现有技术中存在如下问题0005现有技术中,由虚拟机管理器实现GUESTOS对中断控制器和时钟的频繁访问过程中,容易出现GUESTOS非正常退出,造成虚拟机系统的整体性能下降。发明内容0006本发明要解决的技术问题是提供一种避免GUESTOS非正常退出的访问主板附加设备的方法、虚拟机管理器及计算机。0007为解决上述技术问题,本发明的实施例提供一种访问主板附加设备的方法,包括0008获取客户操作系统对所述客户操作系统需要的主板附。

10、加设备的访问;0009将所述访问定向到一硬件设备,由所述硬件设备完成所述访问;其中,所述主板附加设备是所述硬件设备通过虚拟机管理器模拟的主板附加设备。0010优选的,所述通过虚拟机管理器模拟主板附加设备的过程包括0011通过虚拟机管理器为所述主板附加设备分配物理内存;0012通过虚拟机管理器建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射;0013所述硬件设备完成所述访问的步骤具体为0014所述硬件设备根据所述内存映射完成所述访问。0015优选的,所述通过虚拟机管理器为所述主板附加设备分配物理内存的步骤具体为0016根据所述客户操作系统被创建时需要的主板附加设备的数量,通过虚拟机管理。

11、器说明书CN102110008ACN102110011A2/6页5为所述主板附加设备分配物理内存。0017优选的,所述通过虚拟机管理器建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射的步骤包括0018获取所述虚拟机管理器为所述主板附加设备分配的物理内存的大小及所述物理内存在整个内存中的位置;0019根据所述物理内存的大小及所述位置,建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射。0020优选的,所述主板附加设备包括高级可编程中断控制器APIC和高精度时钟HPET。0021本发明的实施例还提供一种虚拟机管理器,包括0022获取模块,用于获取客户操作系统对所述客户操作系统需要。

12、的主板附加设备的访问;0023定向模块,用于将所述访问定向到一硬件设备,由所述硬件设备完成所述访问;其中,所述主板附加设备是所述硬件设备模拟的主板附加设备;0024内存处理模块,用于完成所述硬件设备模拟所述主板附加设备时的内存处理。0025优选的,所述内存处理模块包括0026分配模块,用于为所述主板附加设备分配物理内存;0027映射模块,用于建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射;0028所述硬件设备根据所述内存映射完成所述访问。0029优选的,所述映射模块包括0030获取子模块,用于获取为所述主板附加设备分配的物理内存的大小以及所述物理内存在整个物理内存中的位置;0031。

13、映射子模块,用于根据所述物理内存的大小及所述位置,建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射。0032本发明的实施例还提供一种硬件设备,包括插槽,用于与所述主板上的插槽对应插接;还包括0033模拟模块,用于通过虚拟机管理器模拟客户操作系统需要的主板附加设备;0034处理模块,用于完成所述虚拟机管理器重定向的所述客户操作系统对所述主板附加设备的访问。0035优选的,所述模拟模块包括0036申请模块,用于向所述虚拟机管理器申请所述主板附加设备需要的物理内存;0037创建模块,用于创建所述主板附加设备,并将所述物理内存分配给创建的所述主板附加设备。0038优选的,所述处理模块具体用于。

14、根据所述主板附加设备被分配的物理内存与所述客户操作系统的虚拟内存之间的映射,完成所述虚拟机管理器重定向的所述客户操作系统对所述主板附加设备的访问。0039本发明的实施例还提供一种计算机,包括硬件平台,具有主板;虚拟机管理器,运行在所述硬件平台上;主操作系统和至少一个客户操作系统,运行在所述虚拟机管理器说明书CN102110008ACN102110011A3/6页6上;还包括0040硬件设备,与所述主板上的插槽对应插接,用于模拟客户操作系统需要的主板附加设备;0041所述虚拟机管理器具体用于获取所述客户操作系统对所述客户操作系统需要的主板附加设备的访问,并将所述访问定向到所述硬件设备,由所述硬件。

15、设备完成所述访问。0042本发明的上述技术方案的有益效果如下0043上述方案中,通过硬件设备模拟主板附加设备,如中断控制器和时钟,通过该硬件设备完成GUESTOS对该中断控制器和时钟的访问,由于硬件设备可以直接访问该中断控制器和时钟被分配的物理内存,不再需要虚拟机管理器VMM动态访问,可以满足GUESTOS对中断控制器和时钟的频繁访问的需求,不会再出现GUESTOS非正常退出的情况。附图说明0044图1为虚拟机系统架构示意图;0045图2为本发明的实施例访问主板附加设备的方法流程图;0046图3为图2所示方法在计算机中的具体实现过程图;0047图4本发明的实施例虚拟机管理器的具体结构图。具体实。

16、施方式0048为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。0049本发明针对现有技术中,通过虚拟机管理器处理客户操作系统对中断控制器和时钟的频率访问,容易出现GUESTOS非正常退出的问题,提供一种可以避免GUESTOS非正常退出的访问主板附加设备的方法、虚拟机管理器及计算机。0050如图2所示,本发明的实施例提供一种访问主板附加设备的方法,包括0051步骤21,获取客户操作系统对所述客户操作系统需要的主板附加设备的访问;0052步骤22,将所述访问定向到一硬件设备,由所述硬件设备完成所述访问;其中,所述主板附加设备是所述硬件设备通过虚拟机管理器。

17、模拟的主板附加设备。0053其中,该主板附加设备如可以是客户操作系统频繁访问的中断控制器和时钟,特别是指高级可编程中断控制器APICADVANCEDPROGRAMMABLEINTERRUPTCONTROLLER和高精度时钟HPETHIGHPERFORMACEEVENTTIMERS。0054本发明的上述实施例通过硬件设备模拟主板附加设备,如中断控制器和时钟,通过该硬件设备完成GUESTOS对该中断控制器和时钟的访问,由于硬件设备可以直接访问该中断控制器和时钟被分配的物理内存,不再需要虚拟机管理器VMM动态访问,可以满足GUESTOS对中断控制器和时钟的频繁访问的需求,不会再出现GUESTOS非正。

18、常退出的情况。0055其中,上述步骤22中,通过虚拟机管理器模拟主板附加设备的过程包括0056步骤221,通过虚拟机管理器为所述主板附加设备分配物理内存;0057步骤222,通过虚拟机管理器建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射;说明书CN102110008ACN102110011A4/6页70058相应的,上述步骤22中,所述硬件设备完成所述访问的步骤具体为0059所述硬件设备根据所述内存映射完成对所述主板附加设备的访问。0060进一步的,步骤221可以具体为根据所述客户操作系统被创建时,需要的主板附加设备的数量,通过虚拟机管理器为所述主板附加设备分配物理内存。0061步。

19、骤222可具体包括0062获取虚拟机管理器为所述主板附加设备分配的物理内存的大小及所述物理内存在整个内存中的位置;0063根据所述物理内存的大小及所述位置,建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射。0064如图3所示,下面再结合具体的附图说明上述方法的实现过程0065硬件设备向虚拟机管理器申请内存空间,作为模拟高级可编程中断控制器APIC和高精度时钟HPET的空间;0066虚拟机管理器为该硬件设备系统分配相关内存空间;0067虚拟机管理器VMM在每个VMGUESTOS创建的时候,申请需要模拟的APIC和HPET的数目;0068硬件设备创建相应的APIC和HPET;0069通过。

20、IO内存汇报APIC和HPET所占用内存的位置。0070虚拟机管理器VMM建立GUESTOS的物理内存和硬件设备模拟的IO内存的内存映射;0071硬件设备根据所述内存映射完成客户操作系统对APIC和HPET的访问。0072本发明的上述实施例通过硬件设备模拟中断控制器和时钟,虚拟机管理器VMM将中断控制器和时钟内存重新映射,这样GUESTOS访问中断控制器和时钟的时候,就不会产生非正常退出的情况,提高系统性能的同时,还提供时间的准确性。0073如图4所示,本发明的实施例还提供一种虚拟机管理器40VMM,包括0074获取模块41,用于获取客户操作系统对所述客户操作系统需要的主板附加设备的访问;00。

21、75定向模块42,用于将所述访问定向到一硬件设备,由所述硬件设备完成所述访问;其中,所述主板附加设备是所述硬件设备模拟的主板附加设备;0076内存处理模块43,用于完成所述硬件设备模拟所述主板附加设备时的内存处理。0077其中,内存处理模块43可具体包括0078分配模块431,用于为所述主板附加设备分配物理内存;0079映射模块432,用于建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射;0080所述硬件设备根据所述内存映射完成所述访问。0081所述映射模块432包括0082获取子模块,用于获取为所述主板附加设备分配的物理内存的大小以及所述物理内存在整个物理内存中的位置;0083映射。

22、子模块,用于根据所述物理内存的大小及所述位置,建立所述物理内存与所述客户操作系统的虚拟内存之间的内存映射。说明书CN102110008ACN102110011A5/6页80084该虚拟机管理器为硬件设备提供内存分配和分存映射,使硬件设备可以模拟客户操作系统频率访问的中断控制器和时钟,使客户操作系统对中断控制器和时钟的频繁访问可以通过硬件实现,不再需要虚拟机管理器VMM动态访问,可以满足GUESTOS对中断控制器和时钟的频繁访问的需求,不会再出现GUESTOS非正常退出的情况,在提高系统性能的同时,提高时间准确性。0085另外,本发明的实施例还提供一种硬件设备,包括插槽,用于与所述主板上的插槽对。

23、应插接;该硬件设备还包括0086模拟模块,用于通过虚拟机管理器模拟客户操作系统需要的主板附加设备;0087处理模块,用于完成所述虚拟机管理器重定向的所述客户操作系统对所述主板附加设备的访问。0088其中,所述模拟模块包括0089申请模块,用于向所述虚拟机管理器申请所述主板附加设备需要的物理内存;0090创建模块,用于创建所述主板附加设备,并将所述物理内存分配给创建的所述主板附加设备。0091相应的,所述处理模块具体用于根据所述主板附加设备被分配的物理内存与所述客户操作系统的虚拟内存之间的映射,完成所述虚拟机管理器重定向的所述客户操作系统对所述主板附加设备的访问。0092该硬件设备通过模拟客户操。

24、作系统需要的中断控制器和时钟,使客户操作系统对中断控制器和时钟的频繁访问,通过硬件实现,不再需要虚拟机管理器VMM动态访问,可以满足GUESTOS对中断控制器和时钟的频繁访问的需求,不会再出现GUESTOS非正常退出的情况。0093本发明的实施例还提供一种计算机,包括硬件平台,具有主板;虚拟机管理器,运行在所述硬件平台上;主操作系统和至少一个客户操作系统,运行在所述虚拟机管理器上;该计算机还包括0094硬件设备,与所述主板上的插槽对应插接,用于模拟客户操作系统需要的主板附加设备;0095所述虚拟机管理器具体用于获取所述客户操作系统对所述客户操作系统需要的主板附加设备的访问,并将所述访问定向到所。

25、述硬件设备,由所述硬件设备完成所述访问。0096其中,该虚拟机管理器具体可通过上述图4所示的实施例实现,该硬件设备具体可包括0097模拟模块,用于通过虚拟机管理器模拟客户操作系统需要的主板附加设备;0098处理模块,用于完成所述虚拟机管理器重定向的所述客户操作系统对所述主板附加设备的访问。0099其中,所述模拟模块包括0100申请模块,用于向所述虚拟机管理器申请所述主板附加设备需要的物理内存;0101创建模块,用于创建所述主板附加设备,并将所述物理内存分配给创建的所述主板附加设备。0102相应的,所述处理模块具体用于根据所述主板附加设备被分配的物理内存与所述客户操作系统的虚拟内存之间的映射,完。

26、成所述虚拟机管理器重定向的所述客户操作系统说明书CN102110008ACN102110011A6/6页9对所述主板附加设备的访问。0103该硬件设备通过模块客户操作系统需要的中断控制器和时钟,使客户操作系统对中断控制器和时钟的频繁访问,通过硬件实现,不再需要虚拟机管理器VMM动态访问,可以满足GUESTOS对中断控制器和时钟的频繁访问的需求,不会再出现GUESTOS非正常退出的情况,在提高整个计算机性能的同时,还提供时间准确性。0104以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。说明书CN102110008ACN102110011A1/2页10图1图2图3说明书附图CN102110008ACN102110011A2/2页11图4说明书附图CN102110008A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1