第9章 ハードウェアのドライバーとデバイス

9.1. 仮想ハードウェア

Red Hat Virtualization は、3 つの異なるタイプのシステムデバイスを仮想化ゲストに提示します。これらのハードウェアデバイスはすべて、仮想化ゲストに物理的に接続されたハードウェアデバイスのように表示されますが、デバイスドライバーの機能の仕方が異なります。
エミュレーションデバイス
エミュレーションデバイスは、仮想デバイス とも呼ばれ、完全にソフトウェア内に存在します。エミュレーションデバイスドライバー とは、ホスト上で実行しているオペレーティングシステム (ソースデバイスを管理) とゲストで実行しているオペレーティングシステム間の変換層です。デバイスレベルにおけるエミュレーションデバイスとの指示のやりとりは、ハイパーバイザーによってインターセプトされて、変換されます。Linux カーネルで認識される、同じタイプのエミュレーションデバイスはいずれも、エミュレーションドライバーのバッキングソースデバイスとして使用可能です。
準仮想化デバイス
準仮想化デバイスには、ゲストオペレーティングシステムにデバイスドライバーをインストールして、ホストマシン上のハイパーバイザーと通信するためのインターフェースを提供する必要があります。このインターフェースを使用すると、ディスク I/O などの従来集中的なタスクを仮想化環境外で実行することができます。このような方法による仮想化固有のオーバーヘッド低減は、ゲストオペレーティングシステムのパフォーマンスを物理ハードウェア上で直接実行している場合のパフォーマンスに近づけることを目的としています。
物理共有デバイス
一部のハードウェアプラットフォームでは、仮想ゲストが直接ハードウェアデバイスやコンポーネントにアクセスすることができます。仮想化においてこのプロセスは、パススルー または デバイス割り当て として知られています。パススルーにより、デバイスはゲストオペレーティングシステムに物理的にアタッチされているように表示され、動作します。