[发明专利]检测硬件环境是否为虚拟机环境的方法及装置在审
申请号: | 201310227592.6 | 申请日: | 2013-06-08 |
公开(公告)号: | CN104239003A | 公开(公告)日: | 2014-12-24 |
发明(设计)人: | 高剑林 | 申请(专利权)人: | 深圳市腾讯计算机系统有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/455 |
代理公司: | 上海波拓知识产权代理有限公司 31264 | 代理人: | 吕静 |
地址: | 518057 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 硬件 环境 是否 虚拟机 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种检测硬件环境是否为虚拟机环境的方法及装置。
背景技术
虚拟化技术的本质是通过软件模拟出具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。随着虚拟化技术的发展,针对X86系列CPU(Central Processing Unit,中央处理器)的虚拟化技术已经得到广泛应用,并已逐渐被发展运用到数据存储领域。由于虚拟化技术可以在同一台物理机(physical machine)中虚拟出多个系统,从而提高物理机的使用效率,因此有些不良的服务器供应商为降低成本就会在一台物理机上虚拟出多个虚拟机(virtual machine),然后冒充多个物理机租用给多个客户。但在同一台物理机上同时运行多个虚拟机,由于每个虚拟机都需要占用物理机的资源,这样就会导致物理机整体性能的下降,进而影响物理机上每个虚拟机的性能,使得租客们的利益受损。然而租客们由于技术限制,很难判断出自己租用的到底是真实的物理机器,还是虚拟化之后的虚拟机。
现有技术中一般可通过查看设备信息中是否包含特定的字样(比如:VMware Virtual),来判断硬件环境是否为虚拟机环境,但设备信息是可修改的,上述方法无法检测出设备信息未被修改的虚拟机。因此如何有效检测出硬件环境是否为虚拟机环境是当前的一大难题。
发明内容
有鉴于此,本发明提供一种检测硬件环境是否为虚拟机环境的方法及装置,可更有效地检测出硬件环境是否为虚拟机环境。
一种检测硬件环境是否为虚拟机环境的方法,包括:获取所述硬件环境的系统第一时间;向CPU发送执行指令,所述执行指令用于指示所述CPU执行特权指令;当检测到所述特权指令执行完毕时,获取所述硬件环境的系统第二时间;以及计算所述系统第一时间和所述系统第二时间的差值,若所述差值超过预设值,则判定所述硬件环境为虚拟机环境。
一种检测硬件环境是否为虚拟机环境的装置,包括:系统第一时间获取模块,用于获取所述硬件环境的系统第一时间;执行指令发送模块,用于向CPU发送执行指令,所述执行指令用于指示所述CPU执行特权指令;系统第二时间获取模块,用于当检测到所述特权指令执行完毕时,获取所述硬件环境的系统第二时间;以及第一判定模块,用于计算所述系统第一时间和所述系统第二时间的差值,若所述差值超过预设值,则判定所述硬件环境为虚拟机环境。
本发明实施例提供的检测硬件环境是否为虚拟机环境的方法及装置,通过计算在测试设备中执行特权指令的前后时间的差值,然后将计算出的差值与物理机处理该特权指令所需时钟周期进行比较,可有效检测出硬件环境是否为虚拟机环境。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为本发明第一实施例提供的检测硬件环境是否为虚拟机环境的方法的流程图。
图2为本发明第二实施例提供的检测硬件环境是否为虚拟机环境的方法的流程图。
图3为本发明第三实施例提供的检测硬件环境是否为虚拟机环境的装置的结构示意图。
图4为本发明第四实施例提供的检测硬件环境是否为虚拟机环境的装置的结构示意图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
本发明实施例所提供的检测硬件环境是否为虚拟机环境的方法可应用于计算机等测试设备中实现对计算机硬件环境是否为虚拟机环境的检测。
第一实施例
图1为本发明第一实施例提供的检测硬件环境是否为虚拟机环境的方法的流程图。如图1所示,本实施例的检测硬件环境是否为虚拟机环境的方法包括以下步骤:
步骤S11,获取所述硬件环境的系统第一时间。
系统指的是所述硬件环境运行的操作系统。所述获取的硬件环境的系统第一时间的最小时间单位可以为微秒(microsecond,μs)。
步骤S12,向CPU发送执行指令,所述执行指令用于指示所述CPU执行特权指令。
在多道程序设计环境中,为了保证系统安全,将计算机的指令系统分为特权指令和非特权指令两部分。特权指令是指CPU特权级才能执行的指令,例如:I/O指令、设置时钟指令,控制中断屏蔽的某些指令,清内存指令,建立存储保护指令等。
步骤S13,当检测到所述特权指令执行完毕时,获取所述硬件环境的系统第二时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市腾讯计算机系统有限公司,未经深圳市腾讯计算机系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310227592.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:图形对齐方法及装置
- 下一篇:行事历事件提示系统及方法