ユーザーモードドライバー

提供: MonoBook
2013年10月23日 (水) 03:28時点におけるimported>News4vipによる版 (ページの作成:「'''ユーザーモードドライバー'''(英語:user mode driver)とは、ユーザーモードで動くように実装された[[デバイスドライバ...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

ユーザーモードドライバー(英語:user mode driver)とは、ユーザーモードで動くように実装されたデバイスドライバーのことである。

概要

ユーザーモードドライバーとは、カーネルモードで動く低レベルなデバイスドライバーと、それをユーザーモードから利用できるようにするAPIライブラリー(SDK)を用いて作られたデバイスドライバーのことである。

古い時代のデバイスドライバーカーネルモードで動いていた。そのためプログラマーが利用できるAPIは非常に限られ、C言語の標準ライブラリすらまともに使えないなどの制約があった。また、一般的なプログラムとは異なりデバッグも難しいうえに、ひとたびバグが発生するとOSごとクラッシュするという厄介な代物であった。

そこで考えられたのがカーネルモードで全部処理するのではなく、ユーザーモードとのデータのやりとりに特化し、バグの入り込む余地がないくらいシンプルなカーネルモードで動くデバイスドライバーを用意し、それを利用してデバイスドライバーのメイン処理をユーザーモードで書いて動かしてしまおうという手法が登場した。これがユーザーモードドライバーである。

この概念自体は古くから存在していたが、全てがカーネルモードで動く旧来のデバイスドライバーに比べユーザーモードドライバーは速度的に非常に不利であるため、コンピューター、とくにPCの性能が低かった時代には敬遠されていた技術である。近年ではPCの性能が桁違いに向上したこともあり、ファイルシステムGPUなどの速度が求められる分野でもユーザーモードドライバーに移行しつつある。とくにファイルシステムUNIXFUSEWindowsDokanなどのSDKが登場したことで広く認知されるようになってきた。

主な開発環境

関連項目

参考文献