Kernel-based Virtual Machine
また、Android 2.2、GNU/Hurd(Debian K16)、Minix 3.1.2a、Solaris 10 U3、Darwin 8.0.1などのOSや上記OSの新しいバージョンでは、何らかの制限の元で動作することが知られている。
さらに、KVMでVirtIO APIを利用することで、Linux、OpenBSD、FreeBSD、NetBSD、Plan 9、WindowsのゲストOSに対して、準仮想化の機能も提供する。準仮想化対象には、準仮想イーサネットカード、ディスクI/Oコントローラー、ゲストOSの仮想記憶管理の動作を変更するバルーンデバイス (balloon device)、SPICE(英語版)またはVMwareを使用したVGAグラフィックインタフェースも含まれる。
KVM自体はエミュレーションは全く実行しない。そのかわりに、/dev/kvmインタフェースを公開することによって、ユーザースペースのホストが以下の機能を利用できるようにする。
ゲストVMのアドレス空間のセットアップ。ホストは、ゲストがメインOS内にブートストラップするために利用するファームウェアイメージ(通常、PCをエミュレートする時のカスタムBIOSである)も提供する必要がある。
ゲストのシミュレートされたI/Oをフィード。
ゲストのビデオディスプレイをシステムホストにマッピング。
Linuxでは、QEMUのバージョン0.10.1以降がユーザー空間のホストの1例である。QEMUは、ゲストをネイティブに近い速度で仮想化できる場合にはKVMを使うが、そうでない場合には、ソフトウェアのみのエミュレーションにフォールバックする。
内部では、KVMは、16ビットx86BIOSのオープンソース実装としてSeaBIOS(英語版)を利用している。