虚拟化ABC - VCPU

VT-x有个概念是VCPU,VCPU其实是一个保存在内存中的结构体,包含标识、虚拟寄存器、状态等信息。在创建虚拟CPU的的时候会先创建并初始化对应的VCPU。VCPU的执行依据一定的调度算法。VT-x尽量减少上下文切换(例如浮点寄存器),并做了指令优化(例如避免陷入)

VCPU可以分为两部分:

1)VMCS,由硬件使用和更新,主要是虚拟寄存器;

2)VMCS以外的部分,由VMM使用和更新。

 

虚拟寄存器:保存在内存中,当Guest OS访问一些关键资源时会陷入到VMM进行指令模拟。

上下文:引入VMM后,GuestOS没有管理物理处理器的权利,GuestOS需要负责虚拟处理器上下文切换;虚拟处理器上下文比物理处理器上下文切换包含更多的寄存器(敏感指令访问的一些资源)

虚拟处理器:从VMM的角度来说,虚拟处理器可以由物理处理器和VMM共同完成,对于非敏感指令,物理处理器直接解码处理其请求,并将相关的效果直接反应到物理寄存器上:而对于敏感指令,VMM负责陷入再模拟,从程序的角度也就是一组数据结构与相关代码的集合。数据结构用于存储虚拟寄存器的内容,而相关的代码负责按照物理处理器的行为将效果反映到虚拟寄存器上。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值