デバイスドライバの抽象化、および生成システムの試作

奥野 幹也 (9851021)


デバイスドライバの作成には、対象デバイスやオペレーティングシステム(OS) に関する知識が必要となるため、多大な時間と労力を必要とする。本論文では、 この労力を軽減するために、デバイスドライバを構造を解析することにより、 デバイスドラ イバ仕様、OS依存仕様、デバイス依存仕様の 3つの部分に抽象化する。デバイ スドライバ仕様では、デバイスの持つ機能を使用するために必要なデータの 種類とそのデータを入出力する大まかな流れを記述する。OS依存仕様では、OSから デバイスへのデータの与え方とデバイスドライバをOSから呼び出す際のインター フェイスを記述する。デバイス依存仕様では、デバイスドライバが、デバイス に対してデータを入出力する際のインターフェイスやタイミング、データ型な どを記述する。これら 3つの仕様を入力とし、デバイスドライバのソースコー ドを出力とする、デバイスドライバ生成システムを試作する。記述例として、 OSはFreeBSDとLinux、デバイスはネットワークデバイス、処理は割り込み 処理を取り上げる。OS依存仕様とデバイス依存仕様は、それぞれOSとデバイス ごとに再利用可能であり、本論文において、FreeBSDとLinuxの2つのOSに対し て同じデバイス依存仕様を適用できた。このことから、デバイスドライバを新 規に作成する場合や、デバイスドライバを異なるOSに移植する場合にかかる時 間と手間を、削減することができる。