KVM和qemu的關係

KVM是嵌入Linux操作系統標準內核中的一個虛擬化模塊,它能夠將一個Linux標準內核轉化成爲一個VMM,嵌有KVM模塊的Linux可以支持通過KVM tools來進行加載GuestOS。在這樣KVM通過在HostOS內核中加載KVM Kernel Module來將HostOS轉換成爲一個VMM。所以此時VMM可以看作是HostOS。

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

每個由KVM創建的GuestOS都是HostOS(或VMM)上的一個單個進程,而在GuestOS上的User-space中運行的Application可以理解爲就是進程的線程。

注:HostOS是宿主機,GuestOS是客戶機

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章