原始出處 、作者資訊和本宣告。否則將追究法律責任。
qemu
qemu
是乙個模擬器,它向
guest os
模擬cpu
和其他硬體,
guest os
認為自己和硬體直接打交道,其實是同
qemu
模擬出來的硬體打交道,
qemu
將這些指令轉譯給真正的硬體。
由於所有的指令都要從
qemu
裡面過一手,因而效能較差
是linux核心的模組,它需要cpu的支援,採用硬體輔助虛擬化技術
intel-vt
,amd-v
,記憶體的相關如intel的ept和amd的rvi技術,
guest os
的cpu
指令不用再經過
qemu
轉譯,直接執行,大大提高了速度,
kvm通過
/dev/kvm
暴露介面,使用者態程式可以通過
ioctl
函式來訪問這個介面。見如下偽**:
12
3
4
5
6
7
8
9
10
open(
"/dev/kvm"
)
ioctl(kvm_create_vm)
ioctl(kvm_create_vcpu)
for
(;;)
}
kvm核心模組本身只能提供cpu和記憶體的虛擬化,所以它必須結合qemu才能構成乙個完成的虛擬化技術,這就是下面要說的qemu-kvm。
qemu-kvm
qemu
將kvm
整合進來,通過
ioctl
呼叫/dev/kvm
介面,將有關
cpu指令的部分交由核心模組來做。
kvm負責
cpu虛擬化
+記憶體虛擬化,實現了
cpu和記憶體的虛擬化,但
kvm不能模擬其他裝置。
qemu
模擬io
裝置(網絡卡,磁碟等),
kvm加上
qemu
之後就能實現真正意義上伺服器虛擬化。因為用到了上面兩個東西,所以稱之為
qemu-kvm。
qemu
模擬其他的硬體,如
network, disk
,同樣會影響這些裝置的效能,於是又產生了
pass through
半虛擬化裝置
virtio_blk, virtio_net
,提高裝置效能。
是目前使用最為廣泛的對
kvm虛擬機器進行管理的工具和
api。
libvirtd
是乙個daemon
程序,可以被本地的
virsh
呼叫,也可以被遠端的
virsh
呼叫,libvirtd
呼叫qemu-kvm
操作虛擬機器。
本文出自 「幹楠有」 部落格,請務必保留此出處
KVM Qemu Libvirt三者之間的關係
在所謂的kvm技術中,應用到的其實有2個東西 qemu kvm kvm負責cpu虛擬化 記憶體虛擬化,實現了cpu和記憶體的虛擬化,但kvm不能模擬其他裝置 qemu是模擬io裝置 網絡卡,磁碟 kvm加上qemu之後就能實現真正意義上伺服器虛擬化。因為用到了上面兩個東西,所以一般都稱之為qemu ...
KVM Qemu Libvirt三者之間的關係
qemu qemu 是乙個模擬器,它向 guest os 模擬cpu 和其他硬體,guest os 認為自己和硬體直接打交道,其實是同 qemu 模擬出來的硬體打交道,qemu 將這些指令轉譯給真正的硬體。由於所有的指令都要從 qemu 裡面過一手,因而效能較差 kvm是linux核心的模組,它需要...
三消遊戲(三)
後面一些更改就是實現下落下標更改的方法。這個方法要在一開始檢測三色的時候呼叫 with3arr this.filterdelsame with3arr,return with3arrupdatecellfalldownnum function cell 還要刪除陣列裡的相同元素 filterdels...