1950年代、OSという概念が登場し始めた。
初期のコンピュータはOSを持たなかった。
しかし、システム管理用ソフトウェアツールやハードウェアの使用を簡素化するツールはすぐに出現し、徐々にその利用範囲を拡大していった。
最初のOSは、IBM 701用にゼネラルモーターズが開発したもの、IBM 704用にゼネラルモーターズとノースアメリカン航空が共同開発したもの等、多くの候補があるが、どういった機能が搭載された時点でOSと呼ぶかによる。
この時代のものをOSとは呼ばない場合もある。
当時は、パンチカード等から入力されたプログラムを磁気テープに一旦保存し、その磁気テープを大型コンピュータに接続後、プログラムをロードして実行していた。
そのため、入出力装置のドライバに当たるものが作成されていた。
また、アセンブラやコンパイラが登場し始めた時代なので、コンパイラをロードしてからプログラムをロードし、コンパイル結果として出力されたアセンブリ言語をアセンブルするために、さらにアセンブラをロードするといった手続きが必要だった。
こうした作業を自動化するバッチ処理がOSの機能として実現されていた。
また、プロセスの状態を監視するモニタも実装されていた。
1960年代前半、OS機能の増強が進められた。
スプール、ジョブ管理、記憶保護、マルチプログラミング、タイムシェアリングシステム、そして、仮想記憶の概念が登場し始めた。
これらの概念を複数搭載するOSも登場していた。
また、マルチプロセッシングシステムに対応するOSもあった。
1964年に発売されたIBM System/360シリーズに搭載されたOS/360の登場を皮切りとして、1960年代後半、OSは著しい進化を遂げていった。
IBMのメインフレームであるシステム/360シリーズは非常に幅広い性能/容量と価格帯をカバーするもので、それを単一のOSであるOS/360でカバーするよう設計されていた(従来は機種ごとに専用の制御ソフトが付属し、機種ごとのプログラミングを必要とした)。
このような全製品ラインを一つのOSでまかなうというコンセプトは、システム/360の成功を決定づけた。
実際、現在のIBMのメインフレーム上のOS(z/OSなど)は、そのオリジナルのOSの系統を受け継いでおり、OS/360向けのアプリケーションは最新のマシンでもバイナリー上位互換で動作する。
OS/360は他にもハードディスクドライブの登場という、重要な進歩に対応していた。
この頃のもうひとつの重要な進歩としてタイムシェアリングシステムの本格的な実用化がある。
コンピュータの資源を複数のユーザーが並行的に使えるようにすることで、システムを有効利用するものである。
タイムシェアリングは、各ユーザーに高価なマシンを独占しているかのような幻想を抱かせた。
Multicsのタイムシェアリングシステムはその種のシステムの中でも特に有名である。
さらに、後続のIBM System/370シリーズに搭載されたOS/VSでは、仮想記憶等の機能が実用機として初めて本格的に実現された。