VMMの高速化について学ぶ過程でKVMのコードを読んだので、 メモ代わりに内部構造の解説記事を書きました。 KVMはqemuと連携して動作するため、以前私が書いたQEMU internals( http://rkx1209.hatenablog.com/entry/2015/11/15/214404 ) も合わせてご参照ください。また本記事はある程度システムプログラムに慣れており、 VT-xや仮想化の基本アーキテクチャは知っている物として進めます。 1.qemu-kvm,kvmの初期化 では早速見て行きましょう。まずはKVMの初期化の入り口となるqemu-kvmサイドから見ていきます。(ちなみに現在qemu-kvmはqemu本家に統合されておりconfigを変えることでkvmを有効化する仕様になっています) qemuは/dev/kvmを通してKVMとやり取りを行います。全体的なアーキテクチ
![KVMのなかみ(KVM internals) - るくすの日記 ~ Out_Of_Range ~](https://cdn-ak-scissors.b.st-hatena.com/image/square/a269b518d04b8b0f7da7c0b9c7bfdb4b1a79a95f/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FR%2FRKX1209%2F20160101%2F20160101095130.png)