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