IBMメインフレーム用オペレーティングシステムの歴史
BPSはDOS/360やOS/360を開発するのに必要なツールを開発するのに使われ、FORTRANとCOBOLのコンパイラやソートなどのユーティリティ及びこれら全てをビルドするのに必要だったアセンブラなどのツールがあり、これらのツールはDOS/360やOS/360にも含まれた。
IBMの競合他社はOS/360とSystem/360の開発が遅れたことを利用し、IBM市場の最大の弱点をシステムと捉え、各社ともOSを発表した。IBMはSystem/360のセールスが失敗するのを防ぐため4つの間に合わせのOSを繋ぎでリリースした。
Basic Operating System / 360 (BOS/360) - ディスクドライブまたはテープドライブから起動し、テープドライブと数種類のディスクドライブをサポートする。このシステムはベータテストのユーザーに提供されたもので、DOS/360の初期バージョンと考えることもできる。
TOS/360 - テープドライブを装備し、ディスクドライブを装備していないIBM 1401シリーズのコンピュータを持つユーザーへのアップグレードパスとして提供するべく開発された。
DOS/360 - BOS/360やTOS/360に向けたアプリケーションを開発していたIBMのスモールビジネスコンピュータ部門の開発者がビルドしたもので、その後広く普及して主力のOSとなったz/VSEの祖先。
Operating System/360 (OS/360)で、マルチタスクをサポートしないPrimary Control Program (PCP)の構成で固定されたもの。
当初IBMはOSを開発していなかった。ゼネラルモーターズは自社が所有するIBM機のために、1955年にGeneral Motors OSを開発し、1956年にGM-NAA I/Oを開発、また1962年には同業他社のバロウズコーポレーションがMCPを、ゼネラルエレクトリックがGECOSをユーザー向けに開発した。
IBM機用の最初のOSは、1950年代半ばの相場で200万ドルもする非常に高価なマシンを前にして、計算もさせずにジョブを手入力する時間がもったいないと思い、ジョブのキューを管理する仕組みが欲しいと考えたユーザーが開発したものだった。
下記のOSは一部のモデルでのみ動作し、科学技術計算や工学計算にのみ適していた。IBMの別のモデルを持つユーザーや、別のアプリケーションでは、OSなしでなんとかしなければならなかった。しかしIBMの小型機の1つであるIBM 650には、後にOS/360の一部となるある機能があった。もし処理がハード障害を意味する「ランダム処理エラー」で中断された場合、オペレーターが自動でジョブを最初からやり直すのではなく、直近のチェックポイントから自動的に復旧することができた。
1960年代初頭までIBMのローエンドシステムとハイエンドシステムには互換性がなく、プログラムを別のシステムに移植するのは難しく、各システムはディスクドライブなどの周辺機器も異なっていることが多かった。このためIBMではハードとソフトの設計、開発、製造のコストが高騰し、顧客からのアップグレードの要望に応えきれなくなり、そのために売り上げが頭打ちになった。同社が1964年に発売したSystem/360は全てのマシンで共通の周辺機器を使用でき、プログラムもほぼ共有できることが売りとなった。
元々IBMはバッチ処理に特化したOSであるOS/360だけをSystem/360に提供するつもりだった。後によりシンプルなバッチ処理専用OSであるDOS/360を開発しており、これを開発した理由には主に以下の2つがあった。
System/360のモデルのうち、メモリが少ない小型モデルにはOS/360は大きすぎた。
OS/360の開発が予想以上に遅れており、System/360のハードウェアの売り上げが落ちて市場が崩壊することを防ぐため、隙間を埋めるラインナップの1つとしてDOS/360を提供した。別のラインナップとしてはBOS/360(小型機用のBasic Operating System)とTOS/360(テープドライブだけしか装備していない機種用のTape Operating System)があった。
System/360のOSはこれまでにIBMが開発したOSの中でも特に複雑で、それには以下のような理由があった。
マルチタスクのサポート。ディスクの読み込みなどのI/O処理が完了するのを現在のアプリケーションがブロック処理で待っている間に別の動作中のアプリケーションへ切り替える。