KVM虚拟化源代码详解.docxVIP

  • 114
  • 0
  • 约1.48万字
  • 约 21页
  • 2017-02-17 发布于重庆
  • 举报
KVM虚拟化源代码详解

KVM虚拟机源代码分析KVM结构及工作原理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系统调用来

文档评论(0)

1亿VIP精品文档

相关文档