基本からデバッグまで
基本01 デバイスドライバの基本概要
デバイスドライバをはじめ、デバイスにかかわるお困りごとの際はお気軽にお問い合わせください。
デバイスドライバはOSと周辺機器の橋渡しの役割をするソフトウェアです。しばしばドライバと略されます。デバイスドライバの役割は、タクシーのドライバに似ています。タクシーでは客が行き先を告げ、言われた通りにドライバが車を動かし目的地に向かいます。PCでは、 アプリケーションが指示を与え、それに従ってドライバがデバイスを動かします。
実際の動きのイメージを、下図に示します。客は目的地を伝えるだけで、あとは運転手が車を運転し目的地まで連れて行ってくれます。
例えば、プリンタをコンピュータに接続する場合を考えてみましょう。プリンタを使うためには、PCがプリンタに印刷命令を送る必要があります。プリンタドライバは、アプリケーションからの印刷命令を受け取り、それをプリンタが理解できる形式に変換します。これにより、アプリケーションはプリンタの詳細な操作方法を知らなくても、簡単に印刷を行うことができます。
1.システムファイルとセットアップファイル
ドライバのファイル形式はOSによって異なります。はWindows OSにおいては下記のようになります。
システムファイル(拡張子:.sys)
接続されたデバイスを制御する処理が含まれており、これらのファイルがドライバです。
設定ファイル(拡張子:.inf)
ドライバをインストールする際はこの設定ファイルのデータを基にインストールを行います。設定ファイルはドライバがインストールされた際、”oemxx.inf”というファイル名で、指定の場所に作成されます。xxにはOSが連番で割り当てる数字が入ります。
2.システムファイルの保存場所
デバイスドライバがどこにあるかWindows 11で、実際に確かめてみます。
図1:ドライバファイル
図2:設定ファイル
OSによってシステムファイル、設定ファイルの保存されている場所は異なります。Windowsでは” %systemroot%\system32\drivers”にシステムファイルが保存され、” %systemroot%\inf”に設定ファイルが保存されています。
3.OSによるデバイスドライバの違い
-
OS
拡張子
システムファイルの場所
Windows OS
.sys
C:\Windows\System32\drivers
Linux
.ko
/lib/modules/
MacOS
kext
/System/Library/Extensions/
表1:OSによる拡張子の違いとシステムファイルの場所