Windowsでは、デバイスドライバはカーネルモード（x86 CPU のリング0）またはユーザーモード（x86 CPU のリング3）で動作する。ドライバをユーザーモードで動作させる最大の利点は安定性の向上であり、ユーザーモードのデバイスドライバは品質が悪くてもカーネルメモリを上書きしてシステムをクラッシュさせるということがない。一方、カーネルモードからユーザーモードに移行させると性能が低下するので、性能が要求されるデバイスドライバはユーザーモードに移行できない。ユーザーモードのモジュールはシステムコールを使わないとカーネル空間にアクセスできない。
デバイスドライバ開発には、そのプラットフォームでのハードウェアとソフトウェアについて詳細まで理解している必要がある。ドライバは高い特権を与えられた環境で動作するので、間違った動作をすると破壊的な結果を招く。対照的に現代のオペレーティングシステムでのユーザーレベルのソフトウェアは、システムの他の部分に影響せずに停止することができる。ユーザーモードで動作するデバイスドライバであっても、バグがあればシステムをクラッシュさせることがある。そういった要因から、問題の診断も困難で危険なものとなる。したがってドライバを書く仕事は、ハードウェア開発企業のソフトウェア技術者の仕事となることが多い。これは、部外者よりもハードウェア開発元の方がそのデザインに関する情報をより多く得られるためである。さらに言えば、デバイスドライバを提供することで製品を最適な方法で使えることを保証するという意味もある。一般に論理層（クラスドライバ）はOSベンダーが書き、物理層（ミニドライバ）は周辺機器ベンダーが書く。しかし最近では FLOSS OS で使用するためにベンダー以外の者がデバイスドライバを書くことも増えている。その場合、ハードウェア製造業者がその周辺機器のインターフェイス仕様について情報を提供することが重要となる。リバースエンジニアリングでそういった情報を解明することもできるが、対応ソフトウェアが全くない状態ではそれも難しくなる。マイクロソフトは品質の低いデバイスドライバによってシステムの安定性が損なわれるのを防ぐため、ドライバ開発の新たなフレームワーク Windows Driver Foundation (WDF) を開発した。WDFには User-Mode Driver Framework (UMDF) と Kernel-Mode Driver Framework (KMDF) がある。UMDFはユーザーモードで動作するドライバ開発用のフレームワークで、UMDFを使ったユーザーモードのドライバにバグがあったとしても、システム安定性に影響を与えない。KMDFはカーネルモードで動作するデバイスドライバ開発を扱うが、I/O操作のキャンセル、パワーマネジメント、プラグ・アンド・プレイのサポートなど問題を起こしやすい機能の標準的実装を提供している。アップルはmacOS用のドライバ開発のオープンソース・フレームワーク I/O Kit を提供している。
ドライバは、OSの一部として機能する。ユーザープロセスでのAPI呼び出しをきっかけに、ドライバのコードが呼び出される。しかしドライバのコード自身は、ユーザープロセスではなく、カーネルコードの一部として動作する。上で言う抽象化されたAPIとは、ほとんどの近代的なOSでは、open, read, write, ioctl, close というAPIに統一化されている。歴史的にいうと、これらのAPIは、記憶装置上のファイルにアクセスするためのAPIであるが、これがデバイスに対してもアクセス可能なように拡張された形で提供されているのが、一般的な作りである。すなわち、デバイスに対して、入出力の準備をするopen処理、デバイスからデータを入力するためのread処理、デバイスにデータを出力するためのwrite処理、デバイスに対して特別な処理を行うためのioctl処理、入出力処理を終えるためのclose処理、などである。read, writeで実際に何が行われるかは、デバイスごとに異なる。例えば、プリンターに対してwriteを行うと印字されるが、サウンドデバイスに対してwriteを行うと、音が鳴る。マウスに対してreadを行うと、マウスの移動量が読み出せる。デバイスによっては、read, writeの片方にしか意味がない場合も多い。例えば、プリンターに対してreadを行うと、何も行われない場合がほとんどである。read, writeでは何もせずに、実際の入出力をioctlだけで行う、という実装も良く用いられる。
市民革命と古典的自由主義の普及後、資本主義の普及に伴い従来の共同体の崩壊、中間階級の没落、貧富の拡大、など社会不安が拡大し、ブルジョワ民主主義とも呼ばれる議会制民主主義を否定して独裁や革命を掲げる思想が拡大した。いわゆるリベラルの側からは社会主義革命やプロレタリア独裁、いわゆる保守の側からは保守革命などである。1917年の十月革命後に暴力革命とプロレタリア独裁を掲げる共産主義のボリシェヴィキが他の野党を非合法化し、マルクス・レーニン主義を掲げるソビエト連邦共産党となった。ソビエト連邦は一党制で、複数政党制は否定された。中華人民共和国などは人民民主主義を掲げて、事実上の一党独裁であるヘゲモニー政党制を採用した。多くの社会主義諸国で一党独裁が制度化され、国家が共産党による「指導」を受けなければならなくなった（党の指導性）。一方でイタリアのファシスト党はファシズムを掲げ、議会と反対政党は存続したものの、選挙制度改正によりファシスト党が常に政権獲得できる選挙制度にした。ドイツの国家社会主義ドイツ労働者党（ナチス党）はナチ党の権力掌握後、ナチス以外の政党は全て「自主解散」もしくは禁止していき、最終的には新党設立禁止法によってナチ党以外の政党の設立を禁じることで一党制を確立した。日本では政党が自主解党して大政翼賛会に合流したものの、独裁体制が成立しなかった。これらの多くは第二次世界大戦の敗戦を契機に消滅したものの、スペインのファランヘ党支配は1939年から1975年まで続いた。1945年から1996年、中華民国（台湾）で国民党が党国体制として実質的な一党独裁を行った。1960年代、イラクとシリアでアラブ社会主義などを掲げるバース党が政権を獲得し、憲法でバース党を指導政党と規定した。1965年、独立したシンガポールでは人民行動党が開発独裁を行った。1990年代、ソ連崩壊と東欧革命により、マルクス・レーニン主義を掲げた一党独裁国は減少した。2003年のイラク戦争により、イラクのバース党は政権を追われた。2011年以降のシリア内戦により、シリアではバース党政権と反体制派の戦闘が続いている。ロシアでは統一ロシアに権限が偏っている。