デバイスドライバ開発には、そのプラットフォームでのハードウェアとソフトウェアについて詳細まで理解している必要がある。ドライバは高い特権を与えられた環境で動作するので、間違った動作をすると破壊的な結果を招く。対照的に現代のオペレーティングシステムでのユーザーレベルのソフトウェアは、システムの他の部分に影響せずに停止することができる。ユーザーモードで動作するデバイスドライバであっても、バグがあればシステムをクラッシュさせることがある。そういった要因から、問題の診断も困難で危険なものとなる。
カーネルモードとユーザーモード.
ユーザーモードのモジュールはシステムコールを使わないとカーネル空間にアクセスできない。
仮想デバイスドライバ.
オープンなドライバ.
アプリケーションソフトウェアとは違い、デバイスドライバはハードウェアのアーキテクチャや仕様が公開されていなければ作成が困難であるため、オープンソース版のドライバ開発はクローズドソース版と比較して活発でなかったり機能や性能が劣ったりすることが多い。
対応 (数学)
定義.
対応と関係.
対応 が与えられているとき、 の元 と の元 に対して と置いて得られる は二項関係である。逆に二項関係 が与えられたとき、 に対して、 を割り当てる対応 が定まる。
直積の部分集合をグラフとして定まるという意味では、対応は二項関係と同じ概念を表すものと考えることができるが、対応というときはある集合から別な集合へ元を写すというニュアンスが強い。例えば、対応 に対して、 となるような の元 を対応 の不動点という。
対応によって、一つの元に（部分集合に属する）複数の元が割り当てられているとみなすと、多価函数に近いものと考えることもできるが、対応による像の濃度は元ごとに異なっていてもよいという点で多価函数とは異なる。
対応の相等.
二つの対応 と が相等しい: とは、順序三つ組としての相当をいう。これは、始域、終域を共有し、始域の各元の像が常に等しいこと、すなわち集合として であって、なおかつどんな に対しても、 を満たすことである。
なお、終域を重視しない立場もあり、その場合はグラフの相等 を以って対応の相等 と定める。 となるための必要十分条件は かつ ならば を満たすことであり、また、 と が順序三つ組として相等であることである。