スタートページ> (主張・講演Web教材歴史ソフトウェアの歴史

OSの歴史(汎用コンピュータ)

UNIXやLinux、Windowsなどのパソコン用OSは、それぞれ別章で取り扱っています。


参考URL


OSとは

OS(Operating System)とは、コンピュータのハードウェアやソフトウェア(データも含む)を管理するソフトウェアであり、人間とコンピュータの間に存在するインタフェースを実現するソフトウェアでもある。パソコンでの代表的なOSには Windows や MacOS などがあるが、ここでは汎用コンピュータでのOSを対象にする。

当然、現在のオープン系OSは汎用コンピュータOSの発展の上に存在するのであるが、歴史的背景により、異なる性格をもつ面もある。
 オープン系OSが個々のメーカーが必要に応じて発展させてきたが、汎用コンピュータOSが発展した1960年代中頃から1970年代までは、IBMがほぼ独占的なリーダーであった。IBMは、マイクロソフトやアップルなどと比較して、体系的整然性を重視する文化があり、しかも環境変化が現在と比較すればゆっくりとしていたため、「OS」が明確に定義されていた。
 オープン系OSでは、初心者を含む多様な利用者が多様な処理を行うことを前提としているので、「使いやすさ」が最大の目的になっている。汎用コンピュータ時代では、一定のレベルの知識をもつ技術者が利用し、定例的・定型的な業務処理が多く、その効率性が重視された。  オープン系ではサーバ以外では1台のコンピュータを同時に多数の人が使うことはないが、汎用コンピュータでは1台のコンピュータを多目的の多数のジョブを同時に処理するのが通常である。すなわち、現在の多数のサーバを1台のコンピュータで処理するためのOSが必要だったのである。

汎用コンピュータで重視されるOS機能

ここでは、特に汎用コンピュータで重視されたOS機能を列挙する。これらはオープン系でも必要であり、近年は実現しているが、汎用コンピュータでは1970年代中頃に既に完成していたのである。

汎用コンピュータOSの歴史

黎明期のOS

OSという概念ではないが、初期のコンピュータでも、ジョブの選択、使用ファイル指定、次ジョブの呼び出しなどを簡素化するためのツールが必要なことは認識されており利用されていた。それらはモニタとも呼ばれていた。それらを統合したものがOSだといえるが、その基準はあいまいなので、最初のOSを特定することは困難である。1960年前後にOSの概念が確立したといえよう。
参照:戸島 熈「Programming System の発展(3)」
http://barrel.ih.otaru-uc.ac.jp/bitstream/10252/2608/1/ER_22(1)_25-43.pdf

  • 1954年 FMS(FORTRAN Monitor System)
    IBM709のためにノースアメリカン航空が開発したFORTRANのコンパイルから実行までの連続処理
  • 1959年 SOS(SHARE Operating System)
    IBMのユーザ団体SHAREによるFMS類似機能
  • 1960年 IBSYS
    IBM7090のためにIBMが開発した本格的なOS

1964年 OS/360

1964年に発表されたIBMシステム360は、OSでも画期的なものであった。上述の汎用コンピュータOSの基本的機能を当初から採用あるいは逐次採用した。

  • マルチタスク機能、仮想記憶機能
    仮想記憶は1961年にバロース B5000で商用化が実現していたが、OS/360でもSVS(Single Virtual Storage)採用された。マルチタスク機能をサポートするMVT(Multiprogramming with a Variable number of Tasks)も組み込まれた。
  • TSS
    TSSは1965年にハネウェルが開発した Multics が最初だとされているが、研究所や大学以外にはあまり普及せず、UNIXへと引き継がれた。OS/360でもTSSをサポートした。
  • 上位互換性
    従来のOSは、特定機種に限定されたものであったが、OS/360は当初から上位互換性を考慮していた。IBMシステム360は下位機種から上位機種までファミリを構成しており、OS/360も異なるレベルのOSになっていたが、下位のOSは上位OSのサブセットであり、変更なく上位OSに移行することができた。IBMの最新の汎用コンピュータOSはz/OSであるが、OS/360はz/OSでも上位互換性を保っており、50年近い昔に作成したプログラムやデータが今でも使えるのである(当時保管したハードウェアが現在も残っているとは思えないが)。

1974年 MVS

MVSとは(Multiple Virtual Storage、多重仮想記憶)の意味であり、OS/360をその環境に適用したバージョンではあるが、MVSでは、これまでの追加機能を総合的に体系的に整理拡充した新OSだともいえる。これにより、汎用コンピュータOSはほぼ完成の域に達した。汎用コンピュータ全盛時代の代表的OSである。

  • IBM「MVS」
    汎用コンピュータの業界標準となる。その後OS/390、z/OSへと引き継がれている。
  • 富士通「MSP」、日立「VOS3」
    MVS互換OS。それぞれ独自の拡張あり。
  • NEC「ACOS」
    GEのGCOSから独自発展したOS。MVS系とは非互換

MVSは、その後も改良・拡充されるが大きな変化はない。1980年代になると、オープン系が重視されるようになり、OSへの関心もオープン系OSへと移っていく。

OSへの指示言語

OSを利用してコンピュータに処理をさせるには、人間がOSに指示を与える必要がある。例えばMVSでは、バッチ処理ではJCL、TSSではCLISTが用いられていた。

  • JCL
    JCL(Job Control Language、ジョブ制御言語)とは、汎用コンピュータで使われるジョブ制御用のスクリプト言語である。汎用コンピュータでは、ジョブを実行するには、プログラムや使用するファイル(データセットという)などを、JCLという言語で記述してOSに指示していた。連続で行う一連のジョブを記述することができるし、あるジョブの結果(正常終了や異常終了)により、後続のジョブを切り替えるなどの記述もできた。 参照:IBM「MVS JCL 解説書」
        http://publibfp.dhe.ibm.com/epubs/pdf/c8865789.pdf
  • CLIST
    CLISTは、TSS環境におけるJCLだといえる。コンピュータへの指示コマンドをあらかじめCLISTファイルに記述しておき実行させるので、現在のパソコンでのマクロのようなものでもある。TSS環境でユーザが定型的なアプリケーションを実行するときに、広く活用されていた。
    参照:IBM[TSO/E CLIST」(CLISTの解説書)
        http://publibfp.dhe.ibm.com/epubs/pdf/a8886275.pdf
  • 「JCL/CLISTの例」