デバイスドライバ

提供: MonoBook
ナビゲーションに移動 検索に移動

デバイスドライバー(device driver)とは、コンピューターに装着された機器(デバイス)とOSを繋ぐ特殊なソフトウェアのことをいいます。単に「ドライバー」などとも呼ばれます。

一般的なソフトウェアは「OSの上」で動きますが、デバイスドライバーは「ハードウェアOSの間」で動く特殊なソフトウェアなので、ここに不具合があるとOSごと吹っ飛ばすことがあります。WindowsでいうブルースクリーンmacOSでいう爆弾マークLinuxでいうカーネルパニック、これらの原因はだいたいデバイスドライバーの不具合です。

また、「ハードウェアが故障した際の挙動」がしっかりと実装されていないデバイスドライバーも多数存在しています。いわゆるエラー処理が一切されておらず、新品に近い状態では普通に動いてしまう厄介なものです。

安定性の改善策[編集 | ソースを編集]

一般的なソフトウェアと異なりデバイスドライバーの開発にはプログラマーにも特殊な知識が必要とされます。

しかしWindows 95の前後からの空前のパソコンブームで「新製品の発売」が相次ぎ空前の人手不足となりました。その結果、あまりにも低品質なデバイスドライバーが乱立し、OSごとクラッシュする悲惨な状況が発生しまくりました。この影響でクソ製品を回避すべく自作パソコン情報誌が売れたのも事実です。

その対策としてほとんどのOSではデバイスドライバーだけは仮想環境で動かす仕組みが採用されました。これによりデバイスドライバーの不具合でブルースクリーンになることは激減しました。

しかし、それでも低品質なデバイスドライバーは消滅せず、OSごとクラッシュは減少しましたが、エラーダイアログを出し続けるブラウザクラッシャーみたいな挙動をするものが乱立し悲惨な状況でした。そのためWHQLなどのデバイスドライバーの認証制度まで登場しています。

デバイスドライバーを書けるプログラマーは激減しているので、たぶん永遠に改善はしないでしょう。