仮想デバイスドライバ
【英】Virtual x Driver, VxD
仮想デバイスドライバとは、Windows 95、Windows 98、ないしはWindows 3.1で用いられる、CPUの支配権を有するプログラムであるデバイスドライバの総称である。
あるアプリケーションなどがハードウェアを占有しようとすると、仮想デバイスドライバがその命令を奪い返して、複数の命令が重なっても不都合なく実行できるようにする。この仮想的なデバイスの占有によって、複数のアプリケーションで1つのデバイスを共有することが可能となっている。
仮想デバイスドライバの英語(Virtual Device Driver)では、「Device」の箇所にそれぞれ組み込まれる対象となるハードウェアが入るため、仮の値として変数「x」が充てられている。例えば、仮想デバイスドライバがプリンタ(Printer)に組み込まれるならば「VPD」となり、あるいはディスプレイ(Display)に組み込まれるならは「VDD」となる。ちなみに仮想デバイスドライバのプログラムファイルには、Windows 95やWindows 98では「.VXD」という拡張子が付き、Windows 3.1では「.386」という拡張子が付く。
また、仮想デバイスドライバはIntelの32ビットマイクロプロセッサに特有の機能が用いられているため、32ビットデバイスドライバと呼ばれることもある。たいへん重要なプログラムであるが、それだけに仮想デバイスドライバの不都合はシステム全体に支障をきたしてしまうので、開発することも困難である。MicrosoftはWindows NTではWDMと呼ばれるデバイスドライバを備え、Windows 2000からはVxDのサポートも取りやめた。
仮想デバイスドライバ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/06/15 13:59 UTC 版)
仮想デバイスドライバ (Virtual Device Driver, VxD)とはWindows 3.xからWindows 9x系までにおいて用いられたデバイスドライバの形式である。VxDとは仮想デバイスドライバの多くがVデバイスD(例えばマウスのドライバならVMOUSEDという具合)のように名付けられていたことに由来する。32ビットデバイスドライバと呼ばれることもある。
MS-DOSでは単一のアプリケーションのみが実行されていたためハードウェアデバイスを専有して使用できていたが、Windowsでは複数のアプリケーションを同時に実行可能となったためハードウェアを複数のアプリケーションで共有できるようにする必要があった。そこで登場したのが実際のデバイスに代わり仮想的なデバイスを作成して提供するのが仮想デバイスドライバである。各アプリケーションがデバイスだと思って操作しているものは、実際には仮想化されたデバイスである。仮想デバイスドライバは各アプリケーション要求を調停して実際のハードウェアを操作する。この「仮想的なデバイスを提供する」という点から"仮想"デバイスドライバと呼ばれるのである。なおWindows 9x系にはOSと全てのWin16、Win32アプリを実行する一つの「システム仮想マシン」とDOSプロンプトごとに作成される「仮想DOSマシン」と呼ばれる2つのタイプの仮想マシンが存在するが、仮想デバイスドライバはその両方に対して仮想デバイスを提供する。
Windows NT系はVxDに対応していない。Windows 2000やWindows XPではWindows Driver Model (WDM) が用いられている。Windows Vistaでは、新しくWindows Driver Foundation (WDF) も導入されている。
外部リンク
- Morry's Un'Gramming Page - ウェイバックマシン(2004年9月3日アーカイブ分)
仮想デバイスドライバ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/20 12:11 UTC 版)
「デバイスドライバ」の記事における「仮想デバイスドライバ」の解説
仮想デバイスドライバはハードウェア周辺機器をエミュレートするもので、特に仮想化環境で使われる。例えば、Windowsの動作しているコンピュータ上でMS-DOSプログラムを実行する場合や、Xenなどの上で動作するゲストOSの場合である。ゲストOSがハードウェアと直接やりとりできるようにするのではなく、仮想デバイスドライバがハードウェアをエミュレートすることで、VM内で動作するゲストOS(とその中のデバイスドライバ)が実際のハードウェアにアクセスしているかのような幻影を生じさせる。ゲストOSがハードウェアにアクセスしようとしたとき、ホストOS内の仮想デバイスドライバがそれに対応して呼び出される。仮想デバイスドライバはまた、VM内に割り込みなどのプロセッサレベルのイベントを擬似的に発生させることができる。 仮想化環境以外でも仮想デバイスが使われることがある。例えば、Virtual Private Networkでは仮想ネットワークカードが使われ、iSCSIでは仮想ディスクデバイスが使われる。仮想デバイスドライバの好例としてDaemon Toolsなどがある。
※この「仮想デバイスドライバ」の解説は、「デバイスドライバ」の解説の一部です。
「仮想デバイスドライバ」を含む「デバイスドライバ」の記事については、「デバイスドライバ」の概要を参照ください。
- 仮想デバイス ドライバのページへのリンク