デバイスドライバの主たる設計目標は抽象化である。ハードウェアは用途が同種のものであっても、機種によって動作や性能などがそれぞれ異なる。新たな機能や性能を提供するハードウェアが登場したとき、それらは従来とは異なった制御方式を採用していることが多い。オペレーティングシステムを将来にわたってあらゆるハードウェアを制御できるように設計するのは困難である。従って、個別のハードウェアの制御をオペレーティングシステムから切り離す必要がある。デバイスドライバはオペレーティングシステムとのインタフェース(関数呼び出し)をデバイス固有の処理に変換することが主たる機能となる。理論的には、新たな制御方法の新しいハードウェアが登場しても、そのハードウェア用のドライバが古いオペレーティングシステムに対応していれば、古いオペレーティングシステムでもドライバだけ置き換えればハードウェアを制御可能となる。ネットワーク.通信プロトコルは、トランスポート層まではカーネル内モジュールとして実装し、プレゼンテーション層より上はシステムプロセスとして実装されるのが一般的である。セッション層の実装はシステムによって異なる。セキュリティ.オペレーティングシステムが関係するセキュリティ機能は、ユーザーがリソースへの何らかのアクセスを行う際に前もって認証し、そのユーザーのアクセスレベルを決定し、管理者の方針に基づいてアクセスを制限することである。ユーザインタフェース.個人が使用するコンピュータにはユーザインタフェースが必要とされる。ユーザインタフェースは必ずしもオペレーティングシステムの一部とは限らない。通常はシェルなどのプログラムが実装しているが、人間とのやりとりが必要なプログラムは基本的にユーザインタフェースを備えている。ユーザインタフェースは、キーボードやマウスやクレジットカード読み取り機といった入力デバイスからのデータを取得するのにオペレーティングシステムを介する必要があり、モニターやプリンターといった出力機器にプロンプトやメッセージを出力するのにもオペレーティングシステムを介する必要がある。主なユーザインタフェースは、古くからあるキャラクタユーザインタフェース(コマンドラインインタフェース)と視覚的なグラフィカルユーザインタフェースに大別される。