Jungo WinDriver: アーキテクチャ

WinDriver のアーキテクチャ


 



WinDriver を使用して、ユーザーモードで対象のデバイスのドライバを開発します (アプリケーションの一部、または個別の DLL として)。これによって、大幅に開発時間を短縮し、 ドライバのデバッグをシンプルにします。PCI / ISA のドライバ開発の場合、ドライバが完成後、 ドライバ コードのパフォーマンスに関する部分は、簡単に WinDriver の "Kernel PlugIn" に移植できます。 Kernel PlugIn は、ring 0 で最大のパフォーマンスでこの部分を実行します。

WinDriver の Kernel PlugIn は、PCI/PCI-Express 版で、Windows XP / Server 2003 / Server 2008 / Vista / 7 および Linux をサポートします。

WinDriver を使用して開発したデバイス ドライバ アプリケーション (YourApp.EXE) は、 WinDriver の標準的な関数を使用して、WinDriver のカーネル モジュールを通して、対象のハードウェアへアクセスします (windrvr6.sys/vxd/o or windrvr.sys/vxd/o - 使用する OS と WinDriver のバージョンによって異なります)。

PCI/ISA の場合、ドライバ コードのパフォーマンスに関する部分は (割り込み処理、I/O 処理など)、 Kernel PlugIn で処理でき (独自のドライバ モジュール - YourDriver.sys/vxd/o)、カーネル モードで実行できます。 それによって、ユーザーモードとカーネルモード間のコンテキスト スウィッチのオーバーヘッドがなくなります。

PCI/ISA の場合、このアーキテクチャで、WinDriver の関数を使用して、ユーザーモードでドライバ コードのすべてを開発およびデバックでき、 シンプルな Kernel PlugIn のメカニズムで、パフォーマンスに関する部分のみカーネルモードへ移植することができます (コードを変更することなく)。

Kernel PlugIn の開発サイクルの最後で、対象のドライバには以下の要素が含まれます:

  1. 対象のユーザーモードのドライバ - WinDriver の関数を使用して記述した .EXE
  2. WinDriver のカーネル モジュール - windrvr6.sys/vxd/o または windrvr.sys/vxd/o (使用する OS や WinDriver のバージョンによって異なります)
  3. 対象の Kernel PlugIn ドライバ - MyDriver.sys/vxd/o - これが、カーネル レベルへ移植した機能を持つドライバです

詳細

製品に関するご質問は、こちらからお問い合わせください!