1 运行在用户态的Qemu-kvm通过ioctl系统调用操作/dev/kvm字符设备,创建VM和VCPU
2 内核KVM模块负责相关数据结构的创建即初始化,然后返回用户态
3 Qemu-kvm通过ioctl调用运行VCPU,即调度相应的VM运行
4 内核进行相关处理后,执行VMLAUNCH指令,通过VM-Entry进入Guest OS运行,Guest OS运行于非根模式下
5 Guest OS执行相应的虚拟机代码,非敏感指令可直接在物理CPU上运行
6 当Guest OS中执行到敏感指令、发生外部中断、或Guest OS发生内部异常时,将产生VM-Exit,并将相关信息记录到VMCS结构中
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。