オペレーティングシステムの歴史

オペレーティングシステムの歴史



オペレーティングシステム(OS)は、コンピュータハードウェアを制御し、アプリケーションソフトウェアが利用するための機能を提供する、コンピュータシステムの根幹をなすソフトウェアです。初期のコンピュータにはOSが存在せず、個々のプログラムがハードウェアを直接制御する必要がありました。しかし、コンピュータの複雑化に伴い、OSは不可欠な存在となりました。

初期のコンピュータとOSの黎明期



初期のコンピュータメインフレームであり、OSは存在しませんでした。ユーザーはパンチカード磁気テープでプログラムとデータを入力し、コンピュータがそのプログラムを単独で実行していました。デバッグは制御パネルのトグルスイッチやランプを使って行われました。プログラマはアセンブラやコンパイラを開発し、プログラムの記述を効率化しました。また、入出力などのサポートプログラムがライブラリとしてまとめられ、ユーザープログラムとリンクして使用されるようになりました。この仕組みが現代のOSの始まりです。しかし、当時はまだ一度に一つのジョブしか実行できませんでした。ジョブの管理は人力で行われ、コンピュータの利用時間は壁の時計でチェックされていました。

コンピュータの性能向上に伴い、ユーザー間の引き継ぎ時間が大きくなり、コンピュータが自動的にログを取るようになりました。ランキューは物理的な行列から予約表へと変わり、複数のジョブのパンチカードをリーダーに積み重ねるようになりました。最終的には、OSが磁気テープ装置をオンラインにする順序を自動的に選択するようになりました。ジョブの実行は、専任のオペレータが行うようになり、タスクの手動設定は少なくなりました。計算センターが商売として成り立つようになると、データの損失が問題となり、システムリソースの誤用を防ぐためにランタイムライブラリが強化されました。自動監視はCPU使用状況だけでなく、印刷枚数、パンチカード枚数、ディスク容量などにも及び、ジョブ実行中にオペレータの介入が必要な事象を知らせる機能が実装されました。また、セキュリティ機能として、プログラムがどのファイルにアクセスしたかを記録する監査証跡機能がOSに追加されました。

これらの機能はすべて、完全なオペレーティングシステムの一部となりました。ランタイムライブラリは進化し、ジョブ投入前に起動するようになり、ジョブの受け付け、実行制御、リソース使用状況の記録、ジョブ完了後のリソース再割り当てといった機能を持つようになりました。このバックグラウンドで常駐し、システム全体を管理するプログラムは「モニター」または「モニタープログラム」と呼ばれ、後にオペレーティングシステムと呼ばれるようになりました。

ハードウェアの管理、ソフトウェアスケジューリング、リソース監視などを行うプログラムが、後のパーソナルコンピュータ時代のユーザー志向OSの先祖といえます。OSの意味は時代と共に変化し、かつてオプションだった機能が標準機能となっていきました。ただし、データベース管理システム表計算ソフトといったアプリケーションは現在でもオプションであり、別個に販売されています。

メインフレーム時代のOS



世界初の実用OSといわれるのは、1956年にゼネラルモーターズの研究部門がIBM 704向けに開発したGM-NAA I/Oです。初期のOSはベンダーや顧客が個別に開発し、様々なOSが存在しました。同じベンダーでも、機種ごとに異なるOSが開発され、アプリケーションの互換性が問題となりました。

IBMはSystem/360シリーズを開発し、そのための単一のOSであるOS/360|OS_360を開発しようとしましたが、性能の違いから実際にはOSファミリとなりました。OS/360|OS_360には、PCP、MFT、MVTの3つの構成オプションがあり、それぞれ機能や対象システムが異なりました。IBMは互換性を重視し、60年代に開発されたプログラムを現在のz/VSEやz/OSで変更なしで実行できるようにしました。

他のメインフレームOSとしては、コントロール・データ・コーポレーションのSCOPE、MACE、KRONOS、NOSなどがあり、UNIVACのEXECやReal-Time Basic (RTB)、バロースのMCP、GEのGECOS/GCOSディジタル・イクイップメント・コーポレーションTOPS-10/20などがあります。マサチューセッツ工科大学のProject MACは、GEおよびベル研究所と共同でMulticsを開発し、リングプロテクションなどの新機能を導入しました。

ミニコンピュータUnixの勃興



1960年代末頃、AT&Tベル研究所Unixの開発が始まりました。初期の版は無料で容易に入手でき、C言語で書かれていたため移植性が高く、ミニコンピュータワークステーションで広く採用されました。Unixは、各種ハードウェアプラットフォームで概念的に同一なOSを使用するという考え方を広めました。現在のUNIXはプロプライエタリソフトウェアですが、オープンソース運動の起源の一つとなりました。

DECはPDP-11向けにRT-11、RSTS、RSX-11ファミリ、VAX向けにVMSを開発しました。また、同時期にMicrodata Corporationが開発したPickは、データベース・アプリケーションのサポートプログラムからOSへと進化しました。

8ビット・ホームコンピュータとゲーム機



1980年代の8ビットホームコンピュータは、BASICインタプリタをROMに格納し、それを簡単なOSとして利用していました。娯楽や教育目的で使われることが多く、真のOSが必要とされることはほとんどありませんでした。また、単一タスクのシングルユーザーマシンであり、メモリやプロセッサの性能が低かったため、OSのオーバーヘッドが無視できないことも理由の一つでした。ゲーム機も同様に、最小限のBIOSを持つものが多かったですが、ドリームキャストのようにWindows CEをロードできるものや、XboxのようにバックグラウンドでOSが動作しているものもありました。プレイステーション以降のゲーム機はBIOSが洗練され、OSに近いものとなっていきました。

パーソナルコンピュータ時代: Apple、Amiga、PC/MS/DR-DOSとその後



マイクロプロセッサの登場により、低価格のコンピュータが普及し、標準的なOSの必要性が高まりました。初期の重要なOSとして、デジタルリサーチCP/M|CP_M-80、マイクロソフトのM-DOS、IBMMS-DOS/PC DOSなどがあります。グラフィカルなユーザインタフェース(GUI)が普及すると、UnixX Window SystemMicrosoft WindowsAmigaOS、Mac OS、OS/2などのGUI搭載OSが登場しました。GUIのインスピレーションは、ゼロックスパロアルト研究所で開発された暫定Dynabookと言われています。

仮想化の発展



初期のOSはハードウェア上で直接動作していましたが、IBM System/360 Model 67上のCP-67や、System/370上のVM/370で仮想機械の考え方が導入され、OSがハイパーバイザの制御下で実行されるようになりました。VMwareがこの技術をパーソナルコンピュータに広めました。仮想化はOSの重要な機能の一つとなり、ハイパーバイザーはより複雑化し、独自のAPI、メモリ管理ファイルシステムを持つようになりました。現在では、OSの代わりに仮想化ソフトウェアハードウェアリソースを管理するようになっています。

まとめ



オペレーティングシステムは、コンピュータの歴史とともに進化してきました。初期のメインフレーム時代から、ミニコンピュータ、パーソナルコンピュータ、そして現代の仮想化技術まで、OSは常にコンピュータの利用を支え続けています。この進化は、私たちのコンピューティング環境に大きな変化をもたらし、今後もその進化は続くでしょう。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。