文章预览
阿里妹导读 文章主要讲述通过模拟时钟中断和调度事件来优化和测试虚拟机监控器(VMM)的方法, 包括流程设计、寄存器状态的保存与恢复、硬件中断处理规范等细节。 一、需求背景 云的一个很重要的技术是——虚拟化,可以把云想象成一块块很大的蛋糕,虚拟化就好比一把刀,目标是把这一块块的蛋糕切开分给不同的用户。 蛋糕就是 cpu、内存等资源,现在有了资源,那如何来创建、配置、管理这些 VM 呢,答案是使用 VMM(虚拟机监控器)目前主流的虚拟化方案是 qemu/kvm,其中 qemu 是用户态程序,kvm 是内核态模块,二者相互配合完成。 当 VM 内部执行特殊指令或者发生某些事件时,会从 guest 退出到 host 上的 VMM 进行处理,在退出时需要保存好 VM 相关的寄存器信息等,在处理完成后重新进入 guest 时加载这些信息,大部分的逻辑都是在内核态完成
………………………………