VxD
読み方:ブイエックスディー
別名:仮想デバイスドライバー
VxDとは、Windows 95、Windows 98、ないしはWindows 3.1で用いられる、CPUの支配権を有するプログラムであるデバイスドライバーの総称である。
あるアプリケーションなどがハードウェアを占有しようとすると、VxDがその命令を奪い返して、複数の命令が重なっても不都合なく実行できるようにする。この仮想的なデバイスの占有によって、複数のアプリケーションで1つのデバイスを共有することが可能となっている。
基本的に名称はVirtual Device Driverであるが、「Device」の箇所にそれぞれ組み込まれる対象となるハードウェアが入るため、仮の値として変数「x」が充てられている。例えば、VxDがプリンター(Printer)に組み込まれるならば「VPD」となり、あるいはディスプレイ(Display)に組み込まれるならは「VDD」となる。ちなみにVxDのプログラムファイルには、Windows 95やWindows 98では「.VXD」という拡張子が付き、Windows 3.1では「.386」という拡張子が付く。
また、VxDはIntelの32ビットマイクロプロセッサに特有の機能が用いられているため、32ビットデバイスドライバーと呼ばれることもある。たいへん重要なプログラムであるが、それだけにVxDに不都合があればシステム全体に支障をきたしてしまうので、VxDの開発には非常に高度な技術が要求される。
MicrosoftはWindows NTではWDMと呼ばれるデバイスドライバーを装備したため、Windows 2000からはVxDのサポートも取りやめられた。
Windows: | ドメインコントローラ ドライブレター UAE VxD Window Manager Windows 2000 Windows 3.x |
仮想デバイスドライバ
仮想デバイスドライバ (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日アーカイブ分)
- VxDのページへのリンク