KVM和QEMU簡介

KVM/QEMU簡介linux

     KVM虛擬機是基於linux內核虛擬化,自linux2.6.20以後就集成在linux的各個主要發行版本中。它使用linux自身的調度器進行管理,因此相對於xen,其核心源碼不多。KVM的虛擬化須要硬件的支持(如intel VT技術或者AMD V技術),是基於硬件的徹底虛擬化。而xen早期則是基於軟件模擬的para-virtualization,新版本是基於硬件支持的徹底虛擬化。架構

     qemu是一種模擬處理器,如今運用最多的就是將KVM和QEMU結合起來。工具

     準確來講,KVM是Linux kernel的一個模塊,能夠用命令modprobe去加載KVM模塊。加載了該模塊後,才能進一步經過工具建立虛擬機。可是僅有KVM模塊是不夠的。由於用戶沒法直接控制內核去作事情,還必須有一個運行在用戶空間的工具才行。這個用戶空間的工具,kvm開發者選擇了已經成型的開源虛擬化軟件QEMU。提及來QEMU也是一個虛擬化軟件。它的特色是可虛擬不一樣的CPU。好比說在x86的CPU上可虛擬一個power的CPU,並可利用它編譯出可運行在power上的CPU,並可利用它編譯出可運行在power上的程序。KVM使用了QEMU的一部分,並稍加改造,就成了可控制KVM的用戶空間工具了。因此你會看到,官方提供的KVM下載有兩大部分(qemu和kvm)三個文件(KVM模塊、QEMU工具以及兩者的合集)。也就是說,你能夠只升級KVM模塊,也能夠只升級QEMU工具。這就是KVM和QEMU 的關係。spa

      以下圖:操作系統

       

      Linux Kernel-based Virtual Machine (KVM) 是一款 Linux 開放源碼虛擬化軟件,基於硬件虛擬化擴展(Intel VT-   X 和 AMD-V)和 QEMU 的修改版。KVM 的實現模塊又兩個,分別是: kvm.ko是提供核心虛擬化的基礎架構;特定於處理器的模塊 kvm-intel.ko 和 kvm-amd.ko 。其設計目標是在須要引導多個未改動的 PC 操做系統時支持完整的硬件模擬。.net

       一個普通的linux進程有兩種運行模式:內核和用戶。而KVM增長了第三種模式:客戶模式(有本身的內核和用戶模式)。在kvm模型中,每個虛擬機都是由linux調度程序管理的標準進程。設計

       kvm由兩個部分組成:一個是管理虛擬硬件的設備驅動,該驅動使用字符設備/dev/kvm做爲管理接口;另外一個是模擬PC硬件的用戶空間組件,這是一個稍做修改的qemu進程。blog

 

轉自:http://blog.csdn.net/chenglinhust/article/details/7557791接口

相關文章
相關標籤/搜索