走近虚拟机 ——McAfee研究员孙冰谈虚拟机技术和虚拟机安全

 

一、关于虚拟机技术的背景知识

1、Emulator和Virtualizer的区别

现在很多杀毒软件里面有所谓的智能脱壳功能,其实它就是用一个Emulator模拟器来解释执行机器指令,比如说x86的机器语言是一条一条来被翻译执行 的。而Virtualizer并不是由软件来模拟执行,而是使这个代码尽可能自然地在当前的处理器上运行,而虚拟机监控器只需要在某些特定时候进行干预, 比如说来处理一些特权指令操作。

Emulator中比较有名的一个是BOCHS,可能有一些朋友用它来进行过一些操作系统级的调试。这是一个开源的软件,在网上可以下载到。

Virtualizer比较有代表性的是VMware、VPC这些软件。

VMM是虚拟机管理器,也叫做虚拟机监控器,其实它就是一个软件层。这个软件层是在被虚拟执行的操作系统和真实的硬件环境间由软件构架的一套中间层,由它来负责对下面的硬件,比如CPU处理器、硬件等进行虚拟。我们后面还会看到对VMM的结构和工作原理的介绍。

2、Host OS和Guest OS

Host OS和Guest OS非常好理解,在虚拟机里运行的系统,我们称之为客操作系统。对于二型VMM架构它的主操作系统,我们叫做Host OS。

3、VMM的类型

下面我们介绍一下VMM的类型,有两种:一种是在裸机上的架构,第二种是混合型,就是有主操作系统的VMM,典型代表有:

  1. Type I VMM(Bare Metal):VMware ESX, Xen, MS Hyper-V
  2. Type II VMM(Hosted/Hybrid):VMware Workstation, MS VPC

图1描述的是I型VMM的结构。我们可以看到虚拟机监控器VMM是装在裸机上的,在这个上面我们会有多个并发运行的客操作系统Guest OS。


图1  I型VMM结构图

对 于有Host OS的II型VMM是图2这样的,虚拟机软件本身是Host OS的一部分,通过虚拟机软件,使VMM和Guest OS运行在同一个线性地址空间里来虚拟Guest OS的执行。另外VMM还有一个功能,从主操作系统的上下文空间向客操作系统的上下文空间进行切换,由它进行控制。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值