HVM的虚拟处理器资源管理

概述

在处理器资源的管理中,HVM支持如下的机制:

  • 细粒度的系统时钟
  • 搁置处理器执行的能力
  • 创建新处虚拟处理器的能力

如何访问HVM的时钟
HVM支持细粒度的时钟,我们可通过虚拟指令vmgettime以及vmsettime来进行访问:

  • Vmgettime指令返回一个代表当前时间的64位值
  • Vmsettime指令重置64位值的时钟

标注:HVM的实现可以随意定义时钟对应的是CPU时间还是时钟计时单元。举例来说,如果虚拟设备监测器定制一个虚拟CPU,如果虚拟CPU不再执行指令,那么时钟有可能不会继续增值。

如何搁置处理器

HVM上的访客模式程序可通过两种方式搁置虚拟处理器的执行:

  • 虚拟指令vmwait
  • 虚拟指令vmyield

Vmwait搁置执行将挂起一个中断事件。当下一个事件处理后,终结事件服务的虚拟指令vmrte将在vmwait指令后导致一个指令重新开始。

Vmyield可暂时搁置执行,独立于任何虚拟处理器事件。它导致VMM在同等或更高的优先级上安排其他虚拟处理器,不需要优先权。

标注:在试图去取得一个spinlock时,推荐使用访客操作系统的yield指令。这保证那些拥有spinlock的虚拟处理器能够有机会执行。

如何创建一个虚拟处理器
访客模式程序能够通过虚拟指令vmstart来创建一个新的虚拟处理器实例。新创建的实例可与已有的处理器实例并行运行。

新的虚拟处理器实例在访客模式下执行࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值