デバイスドライバ
デバイスドライバ開発には、そのプラットフォームでのハードウェアとソフトウェアについて詳細まで理解している必要がある。ドライバは高い特権を与えられた環境で動作するので、間違った動作をすると破壊的な結果を招く。対照的に現代のオペレーティングシステムでのユーザーレベルのソフトウェアは、システムの他の部分に影響せずに停止することができる。ユーザーモードで動作するデバイスドライバであっても、バグがあればシステムをクラッシュさせることがある。そういった要因から、問題の診断も困難で危険なものとなる。
したがってドライバを書く仕事は、ハードウェア開発企業のソフトウェア技術者の仕事となることが多い。これは、部外者よりもハードウェア開発元の方がそのデザインに関する情報をより多く得られるためである。さらに言えば、デバイスドライバを提供することで製品を最適な方法で使えることを保証するという意味もある。一般に論理層(クラスドライバ)はOSベンダーが書き、物理層(ミニドライバ)は周辺機器ベンダーが書く。しかし最近では FLOSS OS で使用するためにベンダー以外の者がデバイスドライバを書くことも増えている。