电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

KVM虚拟化源代码详解

KVM虚拟化源代码详解_第1页
1/10
KVM虚拟化源代码详解_第2页
2/10
KVM虚拟化源代码详解_第3页
3/10
精品文档---下载后可任意编辑1, KVM 结构及工作原理1.1 KVM 结构KVM 基本结构有两部分组成。一个是 KVM Driver ,已经成为 Linux 内核的一个模块。负责虚拟机的创建,虚拟内存的分配,虚拟 CPU 寄存器的读写以及虚拟 CPU 的运行等。另外一个是略微修改过的 Qemu,用于模拟 PC 硬件的用户空间组件,提供 I/O 设备模型以及访问外设的途径。图 1 KVM 基本结构KVM 基本结构如图 1 所示。其中 KVM 加入到标准的 Linux 内核中,被组织成 Linux 中标准的字符设备(/dev/kvm)。Qemu 通 KVM 提供的 LibKvm 应用程序接口,通过 ioctl 系统调用创建和运行虚拟机。KVM Driver 使得整个 Linux 成为一个虚拟机监控器。并且在原有的 Linux 两种执行模式(内核模式和用户模式)的基础上,新增加了客户模式,客户模式拥有自己的内核模式和用户模式。在虚拟机运行下,三种模式的分工如下:客户模式:执行非 I/O 的客户代码。虚拟机运行在客户模式下。内核模式:实现到客户模式的切换。处理因为 I/O 或者其它指令引起的从客户模式的退出。KVM Driver 工作在这种模式下。用户模式:代表客户执行 I/O 指令 Qemu 运行在这种模式下。在 KVM 模型中,每一个 Guest OS 都作为一个标准的 Linux 进程,可以使用 Linux 的进程管理指令管理。在图 1 中./dev/kvm 在内核中创建的标准字符设备,通过 ioctl 系统调用来访问内核虚拟机,进行虚拟机的创建和初始化;kvm_vm fd 是创建的指向特定虚拟机实例的文件描述符,通过这个文件描述符对特定虚拟机进行访问控制;kvm_vcpu fd 指向为虚拟机创建的虚拟处理器的文件描述符,通过该描述符使用 ioctl 系统调用设置和调度虚拟处理器的运行。1.2 KVM 工作原理KVM 的基本工作原理:用户模式的 Qemu 利用接口 libkvm 通过 ioctl 系统调用进入内核模式。KVM Driver为虚拟机创建虚拟内存和虚拟 CPU 后执行 VMLAUCH 指令进入客户模式。装载 Guest OS 执行。假如 Guest OS发生外部中断或者影子页表缺页之类的事件,暂停 Guest OS 的执行,退出客户模式进行一些必要的处理。然后重新进入客户模式,执行客户代码。假如发生 I/O 事件或者信号队列中有信号到达,就会进入用户模式处理。KVM 采纳全虚拟化技术。客户机不用修改就可以运行。图 2 KVM 工作基本原理精品文档---下载后可任意编辑2,相关技术-处理器管理和硬件辅助虚拟化技术Intel ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

KVM虚拟化源代码详解

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部