コンピュータごとに目的は同じでも製造元が異なるなどで、動作に微妙に差異があるハードウェアが搭載されていることが多い。
そのようなハードウェアの統一的で単純化された利用方法を提供することで、アプリケーションソフトウェアの開発を容易にする。
複数のアプリケーションソフトウェアを同時に利用する際に、互いに独立して動作できるように資源を管理する。
プログラムからの資源要求に競合が起きた場合には、待たせる、エラーを返すなど、適切に対処する。
複数のタスクを同時に実行する際に、資源割り当ての順番や処理の割り当て時間を工夫することで、全体のスループットを向上させる。
これはデスクトップ環境ではあまり恩恵を感じることはないが、ウェブサーバやデータベースなど大量のアクセスをこなす用途などでは重要になる。