vcpu and vpsci support [六]

本篇将进入 CPU 虚拟化的学习,回想一下在 Linux 中从一个任务切换到另一个任务通过 context_switch 进行切换,其中包括 mm 切换,cpu 的切换等,简言之就是 Linux 操作系统内核实现了物理 CPU 对进程的时分复用。

在 CPU 虚拟化中,首先明确一个概念就是 Guest VM 依然还是运行在实际的物理 CPU 上,那么这里谈到的 VCPU 是一个什么概念呢?VCPU 的运行与进程的上下文切换是类似的,当 Guest VM 需要切换到 VCPU 运行时,Hypervisor 就将 VCPU 对应的 Guest VM 的上下文恢复到对应的物理 CPU 中,当 Guest OS 由于执行一些敏感指令,访问没有映射的内存等情况时,运行的 CPU 会陷入 Hypervisor,然后 Hypervior 负责将物理 CPU 的状态保存到 VCPU 上下文中,所以我们这里就可以理解 VCPU 就是对物理 CPU 资源的抽象, Hypervior 实现了物理 CPU 对 Guest VM 的时分复用。

在 Hypervisor 中可以控制所有的系统资源,包括我们之前讲到的物理内存、IO 设备、中断、指令等。Hypervisor 可以配置 Guest VM 在执行到敏感指令时触发异常,该异常会被路由到 EL2 的 Hypervisor 的中,然后可以对这些敏感指令进行模拟。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小虾米的Daddy

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值