![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
虚拟化
jianghuliu
这个作者很懒,什么都没留下…
展开
-
CPU虚拟化流程——源码分析
CPU虚拟化的整个流程是怎样?qemu通过ioctl与kvm通信。kvm与qemu的配合流程如下:qemu运行流程伪代码如下:vcpu创建流程vcpu整体创建流程如下: kvm_vm_ioctl()-->kvm_ioctl_create_vcpu()-->kvm_arch_vcpu_create(kvm, id)--> kvm_x86_ops->vcpu_create(kvm, id) == vmx_create_vcpu() (intel)原创 2020-07-13 11:09:27 · 1718 阅读 · 0 评论 -
虚拟化学习笔记四——硬件辅助CPU虚拟化技术VT-x
VT-x基础知识Intel VT中的VT-x(Intel Virtualization technology for x86)技术扩展了传统的IA32处理器架构,为IA32架构的处理器虚拟化提供了硬件支持。VMX操作模式VT-x引入了两种操作模式,统称为VMX操作模式。1. 根操作模式:VMM运行所处的模式。2. 非根操作模式:客户机运行所处的模式。这两种操作模式和IA32特权级0 ~ 特权级3是正交的,即每种操作模式下都有相应的特权级0 ~ 特权级3。所以在VT-x使用的情况下,描述程序运行原创 2020-07-12 20:01:24 · 3479 阅读 · 4 评论 -
虚拟化学习笔记三——原理概述
虚拟化的三个主要任务虚拟机监控器VMM对物理资源的虚拟可以归结为三个主要任务:处理器虚拟化、内存虚拟化、I/O虚拟化。处理器虚拟化是VMM中最核心的部分,内存虚拟化和I/O虚拟化都依赖于处理器虚拟化的正确实现。特权指令与敏感指令特权指令特权指令:系统中一些操作和管理关键资源的指令,这些指令只有在最高特权级上才能正确执行。如果在非最高特权级上运行,特权指令会引发一个异常(其实不一定,也可能被直接忽略),处理器会陷入到最高特权级,交由系统软件来处理。敏感指令敏感指令:操作特权资源的指令,包括修改虚原创 2020-07-12 19:52:05 · 615 阅读 · 0 评论 -
虚拟化学习笔记一——虚拟化概述
为什么需要虚拟化虚拟化的三个主要任务虚拟机监控器VMM对物理资源的虚拟可以归结为三个主要任务:处理器虚拟化、内存虚拟化、I/O虚拟化。处理器虚拟化是VMM中最核心的部分,内存虚拟化和I/O虚拟化都依赖于处理器虚拟化的正确实现。特权指令与敏感指令特权指令特权指令:系统中一些操作和管理关键资源的指令,这些指令只有在最高特权级上才能正确执行。如果在非最高特权级上运行,特权指令会引发一个异常(其实不一定,也可能被直接忽略),处理器会陷入到最高特权级,交由系统软件来处理。敏感指令敏感指令:操作特权资源原创 2020-07-12 15:57:47 · 546 阅读 · 0 评论 -
虚拟化学习笔记二——认识kvm、qemu、libvirt
kvm qemu libvirt的区别和联系kvm是内核模块,负责CPU、内存的虚拟化。qemu是运行在用户空间的软件,可以独立模拟出整台计算机,包括CPU,内存,IO设备。其中CPU、内存部分既可以独立实现(软件,性能较差),也可以利用KVM实现(硬件辅助,性能较高)。qemu通过ioctl调用/dev/kvm这个接口与KVM交互,这样KVM在内核空间模拟虚拟机CPU,qemu-kvm负责模拟虚拟机I/O设备。libvirt是目前使用最为广泛的对KVM虚拟机进行管理的工具和应用程序接口(API),原创 2020-07-06 17:23:13 · 2482 阅读 · 0 评论