读《系统虚拟化-原理与实现》-第三章

虚拟化概述

概念:

  • 在虚拟环境里,虚拟机监控器(VMM)抢占了操作系统的位置,编程的物理机的管理者,同时向上层的软件呈现出虚拟的硬件平台,欺骗着上层的操作系统

  • 虚拟机可以看做是物理机的一种高效隔离的复制。

  • 敏感指令: 操作特权资源的指令,特权指令往往是敏感指令,但特权指令并不仅仅包含特权指令

  • 虚拟化漏洞: 如果一个体系存在敏感指令不是特权指令,那么就称其存在虚拟化漏洞

虚拟化漏洞是可以采用一些手段来弥补或避免的如:

  • 虚拟机所有指令都采用模拟方式实现
  • 修改guest 的操作系统,避免非特权的敏感指令
  • 二进制扫描修补替换掉非特权的敏感指令

处理器虚拟化

guest对虚拟处理器的期望:

  1. 指令集合与执行效果
  2. 可用的寄存器集合
  3. 运行模式
  4. 地址翻译
  5. 保护机制
  6. 中断、异常机制

指令的模拟

VMM运行在最高特权级,而guest运行在非最高特权级(但guest OS认为自己运行在最高特权级),当guest访问特权资源时,会触发异常,跳转到VMM设置好的处理函数中去(陷入VMM),通过软件方式模拟这条敏感指令。

  • VMM 会通过各种手段来保证敏感指令能触发异常(不被物理CPU所直接执行),从而陷入到VMM中进行模拟

  • 例如:

  1. guest访问CRO寄存器
  2. 处理器发现特权级别不符,抛出异常
  3. VMM截获这个异常,模拟这条指令

几种陷入方式:

  1. 基于处理器保护机制触发异常
  2. 虚拟机主动触发异常
  3. 异步中断
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值