「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

PCIパススルー

pointこの用語のポイント

point仮想マシンの話で出てくるよ

pointゲストOSから物理的な部品(PCIデバイス)へ直接アクセスするための仕組みだよ

スポンサーリンク

簡単に書くよ

PCIパススルー(読:ピーシーアイパススルー 英:PCI passthrough)とは

コンピュータの中に作られた なんちゃってコンピュータから、本来のコンピュータにくっついている機器や部品を直接扱うための仕組み。
もう少し小難しく書くと

仮想マシン(コンピュータの中に作った、なんちゃってコンピュータ)において、ゲストOS(仮想マシンの話における、なんちゃってコンピュータの方のOS)から物理的なPCIデバイスへ直接アクセスするための仕組み
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

仮想マシン
ゲストOS
ホストOS


について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

仮想マシンは「コンピュータの中に作られた、なんちゃってコンピュータ」です。
コンピュータの中に擬似的に作られたコンピュータです。

PCIパススルー

仮想マシンの仕組みにおいて、なんちゃってコンピュータ(のOSを「ゲストOS」と言います。
間借りしているから「ゲスト」です。

なんちゃってコンピュータを動かしている本来のコンピュータ(のOS)は「ホストOS」と言います。
ゲストOSをもてなす立場だから「ホスト」です。

PCIパススルー2

ゲストOSは擬似的に再現されたコンピュータです。
実体を持ちません。
物理的なデバイス(コンピュータにくっつける部品)アクセスしたいときは、ホストOSさんを経由します。

例えばゲストOSがホストOSさんにくっついている部品、つまり実際のコンピュータにくっついている部品に対して あれこれしたいとしましょう。
このときゲストOSは、ホストOSさんが擬似的に再現した部品に対して あれこれします。
ちょっと小難しい表現を使うと「ゲストOSのドライバ(デバイスを動かすためのソフトは、ホストOSが擬似的に再現したデバイスに対して あれこれする」のです。

PCIパススルー3

そうすると、ホストOSさんは「あぁ、ゲストOSさんは こんなことがやりたいのね」と分かります。
そうしたら、ホストOSさんが(ゲストOSさんの代わりに)実際の部品に対して あれこれしてあげます。
ちょっと小難しい表現を使うと「ゲストOSのあれこれを察知したホストOSが、ホストOSのドライバによって、物理的なデバイスに対して あれこれする」のです。

PCIパススルー4

流れとしては

ゲストOSのドライバ
 ↓
ホストOSが擬似的に再現したデバイス
 ↓
ホストOSのドライバ
 ↓
物理的なデバイス


となります。

えっ?
専門用語が多くて分かりにくいですか?

それは失礼いたしました。
専門用語を減らして書くと

なんちゃってコンピュータにある、なんちゃって部品を動かすためのソフト
 ↓
本来のコンピュータが再現した、なんちゃって部品
 ↓
本来のコンピュータにある、実際の部品を動かすためのソフト
 ↓
実際の部品


の流れです。

PCIパススルー5

これが、特に何も考えないで仮想マシンを動かしているときの流れです。

ですが、ちょっと待ってください。
ゲストOSさんの気分的には、ホストOSさんに わざわざ代行してもらうのは面倒くさいですよね?
実際の部品と直接やり取りした方が、お手軽だし、手っ取り早いです。

以上を踏まえて

なんちゃってコンピュータから本来のコンピュータにくっついた部品を直接扱うための仕組み

が「PCIパススルー」です。

PCIパススルー6

PCIパススルーを使うことで、ホストOSさんの部分を すっ飛ばせます。

なんちゃってコンピュータにある、なんちゃって部品を動かすためのソフト
 ↓
本来のコンピュータが再現した、なんちゃって部品
 ↓
本来のコンピュータにある、実際の部品を動かすためのソフト
 ↓
実際の部品




なんちゃってコンピュータにある、実際の部品を動かすためのソフト
 ↓
実際の部品


にできるのです。

PCIパススルー7

実際にPCIパススルーをやるには、いろいろ条件があったりするみたいですけどね。
そこら辺の あれやこれやは専門的に解説しているところで情報を補完してください。

PCIパススルー8

ちなみに「PCI」は「パソコンさんの中に追加で部品をくっつけるための規格(のひとつ)」です。
PCIでやり取りする部品に対するアクセスにおいて、ホストOSさんに手伝ってもらう部分をパスしてスルーできるから「PCIパススルー」なのでしょう。

「なのでしょう」とか書いておきながら、根拠は ありません。
ごめんなさい。


image piyo2

一言でまとめるよ

まぁ「PCIパススルー」って単語が出てきたら「なんちゃってコンピュータから、本来のコンピュータにくっついた部品を直接扱うための仕組みなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像004
書籍画像018

おまけ

■訳してみるよ

「PCI」は「Peripheral Component Interconnect(ペリフェラル・コンポーネント・インターコネクト)」の略です。
「peripheral(ペリフェラル)」の意味は「周囲の」とか「周辺的な」とかです。
「component(コンポーネント)」の意味は「成分」とか「構成要素」とかです。
「interconnect(インターコネクト)」の意味は「相互接続する」とかです。
「pass through(パス・スルー)」の意味は「通り抜ける」とか「通り過ぎる」とかです。
何となく くっつけると

「周囲の構成要素を相互接続する」へ通り抜ける

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性
実践サイバーセキュリティ入門講座 現場に残された痕跡からハッカーの攻撃を暴け