たとえば、ゲーム制作をしたい人が「プレイヤーがマウスを動かす」、「画面上のマウスカーソルの位置が動く」といった機能を、いちいちプログラムするのは、面倒である。
あるいは、会計処理ソフトをつくるソフトウェア企業が、利用者がマウスを動かすとマウスカーソルも動く機能を、いちいちプログラムするのも、手間である。「マウスを動かすと、マウスカーソルが動く機能」のように、ほとんどの利用者が使用する機能は、あらかじめOSに入れておくのが合理的である。
また、CPUの制御やメモリの管理などは、どんな利用者であっても、そもそもコンピューターの動作に必ずCPUとメモリが必要なので、かならず必要になる機能であり、このような機能も、OSが扱うのが合理的である。ハードディスクの管理も、ほとんどの利用者が使用するだろうから、OSにハードディスク管理の機能を入れておくのが合理的である。
オペレーティングシステム（OS）が無かった時代を考えよう。まず、マイクロソフト社の Windows（ウィンドウズ） がなかった時代。
今でこそ、パソコンを買う時に、それが富士通のパソコンだろうが、NECのパソコンだろうが、それとも東芝のパソコンだろうが、あるいはパナソニックのパソコンだろうが、Windowsさえインストールされていれば、Windows対応の（そのバージョン対応の）さまざまなアプリケーションが動作できる。
しかし、昔は違っていたのである。Windowsが普及する前は（1990年代なかばよりも以前は）、あるソフトを買う時、パソコンのメーカーごとに、その機種に対応したソフトを買う必要があったのである。昔はNECのパソコン、富士通のパソコン、シャープのパソコンなど、ハードウェアごとにソフトウェアは別々であった。
このような状況は、消費者からすると不便である。また、プログラマーなどのようなソフトウェアの開発者にとっても、各社のハードウェアごとに、ソフトウェアを開発しなおす必要があり、不便であった。
オペレーティングシステム（OS）は、こういった、ハードウェアごとにソフトをつくりなおす手間をなくすために、開発されていったという側面もある。
消費者からすれば、特定のハードウェア業者にこだわらなくても良いので、購入の選択肢が増える。
OS生産業者は、ハードウェア生産者に対して、どのようにハードを設計すればそのOSが動くかを、情報提供する必要がある・・・はずである（ハードウェア生産者に、情報提供しないと、そのOSに対応したハードを、ハードウェア生産業者が製造できない）。
ハードウェア生産業者は、そのOSが動くかどうかさえを検証すれば、あとは個別の（今でいう）アプリケーションを動くかどうかは、検証する手間が省ける。
備考: 1980年代当時も、MS-DOS（エムエスドス）というマイクロソフト社のオペレーティングシステムがあったが、いまのWindowsほどには機能が充実していなかったので、ハードウェアごとの差を吸収しきれなかったのである。
備考2: 「OS生産業者は、ハードウェア生産者に対して、どのようにハードを設計すれば、そのOSが動くかを、情報提供する必要がある・・・はずである。」と先ほど述べたが、パソコンのハードウェアは、CPUやメモリ基板、マザーボード、ハードディスクなどの組み合わせである。つまりOS生産者は、それらの部品の生産者に対して、情報提供をする必要があるのだろう。逆に、CPU生産業者なども、OS生産業者などに対して情報提供をする必要があるのだろう。