PR

 仮想マシン上にインストールしたゲストOSから物理マシンのPCI機器に直接アクセスできるようにした仕組み。Linuxカーネル2.6.28以降に含まれるKVMなどで利用できる。

 KVMなどの仮想化ソフトでは通常,ゲストOSからホストPCの各種デバイスに直接アクセスできない。仮想化機能がエミュレートしたデバイスを利用する格好になるため,処理速度が低下する。

 このエミュレータを使う方法の場合,該当デバイスのネイティブのデバイス・ドライバをそのまま利用できる。もし,ネイティブ・ドライバを使わなくてよいのなら,エミュレーションを用いずに処理速度を高めることは可能である。virtioという仕組みと「準仮想化ドライバ」という特殊なデバイス・ドライバを用いればよい。ただしこの場合,ネイティブ・ドライバでないため,細かなデバイス制御ができない。

 これを解決するのがPCIパススルーである。ネイティブ・ドライバを使えるためデバイスの細かな制御が可能で,かつ,エミュレーションが不要のため高速。米Intel社のQ35/Q45/X38/X48/X58など「IOMMU」という機構を備えるチップセットを用いれば,PCIパススルー機能を有効にできる。

 欠点は,サポートする機器が限られ,実用的に利用できるのがEthernetデバイス程度しかないことである。従って,ゲストOSでサーバーを稼働する場合などに主に用いられる。