e知識「e-chishiki.com」では、インドでの著名なIT著者、IT教育者、eセキュリティーの大家により作成された様々な種類のプログラミング言語に関する技術的なコンテンツを知識情報データーベースとして提供します。
デバイス ドライバ プログラミング シリーズ
Windows デバイス ドライバ入門(1/10): はじめに
Yashavant Kanetkar and Asang Dani
インデックス
初期のアプリケーション プログラミング
パーソナル コンピューティングが始まった頃、アプリケーションはデバイス固有のコードで満ちていました。MS-DOS オペレーティング システムでは、通常の API 関数を使用せずにデバイスと対話できたからです。
たとえば、printf( ) を使用して画面に出力する代わりに、アプリケーション プログラマはVDU メモリに直接書き込んで速度を上げる方法を好みました。
この方法には欠点がありました。アプリケーション プログラマは、画面を機能させるアダプタの種類 (CGA、VGA、SVGA など) を検出する必要がありました。これは、VDU メモリ アドレスとその画面の場所とのマッピングが、アダプタの種類ごとに異なるためです。
そのため、開発者はメインのアプリケーションに集中するよりも、アプリケーションと相互作用する可能性のある多様なハードウェア デバイスへの対応に苦慮し、各デバイス用のコードを作成する必要がありました。
さらに、アプリケーションはハードウェアと緊密に結びついていたので、将来も使用できる保証はありませんでした。
- 新機能を利用したり、新しいハードウェア デバイスに対応したりするには、アプリケーションを作成し直す必要がありました。既存のハードウェアの変更は、新しいハードウェアが組み込まれるのに等しいことなので、アプリケーションを変更する必要がありました。
- たとえば、既存のあらゆるディスプレイアダプタを考慮に入れて作成されたアプリケーションがあるとします。そこに、新たなディスプレイアダプタが登場した場合、このアダプタに対応するには、アプリケーションを変更する必要があります。これは悪夢でした。なぜなら、変更したアプリケーションを顧客の元に出荷して、インストールし直す必要があったからです。



