GCOS(ジーコス)とは
GCOS(General Comprehensive Operating System)は、
メインフレーム向けの
オペレーティングシステム(OS)ファミリーです。その起源は
1962年に
ゼネラル・エレクトリック(GE)が開発したGECOS(General Electric Comprehensive Operating Supervisor)に遡ります。現在でも一部で使用されており、そのプログラムはGMAPアセンブラ、
COBOL、FORTRAN、
ALGOLなどの言語で記述されています。また、日本のNECが開発したACOSは、GCOSから派生したOSです。
システムアーキテクチャとコンセプト
GCOSは、
プロセスという概念を基盤としています。
プロセスとは、プロセッサ上で実行される命令列とそれに対応するデータの集合です。マルチスレッドの概念もサポートしており、複数のスレッドが同時に実行できます。また、
プロセスグループに相当する概念もあり、これは同時にロードされスケジュールされる
プロセス群を指します。これは
UNIXの
プロセスグループとは異なり、ギャング
スケジューリングに近いものです。GCOSにはセマフォも実装されており、
プロセス間の同期に使用されます。
各
プロセスは自身の
アドレス空間を持ち、その空間へのアクセス権はREAD、WRITE、EXECUTEの組み合わせで管理されます。
アドレス空間はセグメント化されており、
プロセス間でデータを共有することも可能です。特権管理には
リングプロテクションが採用されており、各
プロセスは特定のリングに属し、低いリングほど高い特権を持つことになります。
このOSは、
対称型マルチプロセッシング(SMP)をサポートしています。これは
ファームウェアに組み込まれたマイクロカーネルに基づいていますが、
ファームウェアにその機能がない場合でも、エミュレーションによって同等のパフォーマンスを実現できます。
歴史
GEは、36ビットのGE-635向けにGECOS-IIを開発しました(
1962年〜
1964年)。GECOSはSystem/360のクローンであるという噂がありましたが、実際には全く異なるアーキテクチャとOSでした。GECOSの大きな特徴は、第二世代で
タイムシェアリングシステム(TSS)と
バッチ処理を同時にサポートした点にあります。
GEのコンピュータ部門が
ハネウェルに買収された後、GECOS-IIIはGCOS-3に改名され、対応ハードウェアも
ハネウェル6000シリーズとなりました。
1974年には、
ハネウェルは自社のコンピュータ製品を「シリーズ60」という名称で統一し、6000シリーズはその中の「レベル66」とされました。
ハネウェルの
ヨーロッパ系列会社
ハネウェル-ブルは、同じシリーズ60の「レベル64」という新しい系列を開発し(後にDPS-7)、それに伴い、GCOSという名称は
ハネウェルの全製品で使われるようになりました。
GCOSの各バージョン
GCOS-3:レベル66(GE-600シリーズの後継)用で、DTSSの影響を受けています。ACOS-6に相当します。
GCOS-64:レベル64用で、
ハネウェルと
ハネウェル-ブルが開発しました。GCOS-3をベースとしており、
ACOS-4に相当します。
GCOS-62:レベル62用で、イタリアで開発された32ビット小型機向けのOSです。ACOS-2に相当します。
GCOS-61:レベル61用で、
フランスで開発された卓上機向けのOSです。
GCOS-6:レベル6用で、16ビットミニコンピュータ向けのOSです。
1979年には、シリーズ名称が再度変更され、レベル66はDPS-8、レベル64はDPS-7、レベル62はDPS-4、レベル6はDPS-6となりました。それに伴い、GCOSのバージョンもそれぞれGCOS-8、GCOS-7、GCOS-4、GCOS-6へと変更されました。この名称変更は顧客を混乱させましたが、GCOS-3はGCOS-8に改名された後も数年間はGCOS-3の名前で保守が行われました。また、GCOS-61(レベル61)はマイクロプロセッサの登場と共に消滅しました。
GCOSの機能
GCOS-3(およびその後のGCOS-7、GCOS-8)は、CODASYLデータベースであるIntegrated Data Store(IDS)を備えており、これは後のIDMSのモデルとなりました。また、いくつかのトランザクション処理モニター(TPモニター)もGCOS-3およびGCOS-8向けに設計されました。初期のGCOS-3では、トランザクションごとに新しいプロセスを生成する方式を採用していましたが、より効率的なマルチスレッド方式へのニーズが高まり、サブシステムとして実装されました。GCOS-3には、その後、Transaction Driven System(TDS)というより適切なTPモニターが導入されました。TDSはハネウェルの開発によるもので、後にTP8としてGCOS-8上で拡張されました。TDSは、同様のアーキテクチャを持つIBMのCICSよりも先行して開発され、成功を収めました。同様の機能はGCOS-7にもTDSとして組み込まれました。
GCOS-6およびGCOS-4は、MC68000ベースのUNIX系OSが動作するミニコンピュータに置き換えられました。その後、PowerPCベースのサーバーに移行しています。GCOS-6はAIX上のエミュレータで動作しました。GCOS-7の動作するDPS-7シリーズはDPS-7000ハードウェアに発展し、NECはACOS-4のCPUをこのシリーズに供給したことがあります。
1980年代後半、ハネウェルはコンピュータ部門を手放し、NECおよびBullとの共同出資による合弁会社を設立しました。メインフレーム市場での競争力を維持するため、NECはハイエンド(ACOS-6)のメインフレームであるACOS1000とACOS2000をOEM供給しました。これらの製品はそれぞれDPS90、DPS9000として全世界で販売され、NECの生産台数を大きく伸ばすことになりました。
この過程では、特許技術の回避やGCOS8の拡張機能への対応など、ハードウェアとソフトウェアの両面で複雑な作業が必要となりました。最終的にこの合弁会社はBullが取得しました。
1990年代終盤から2000年代にかけて、Bullはハードウェアベースを統一し、インテルのチップを使ったシステムに集中しました。Itanium 2ベースで、Microsoft WindowsとLinuxが動作し、エミュレータでGCOS-7とGCOS-8をこのプラットフォーム上で動作させました。現在でも、BullはGCOS-7とGCOS-8のサポートに開発費を投じており、いくつかの国に顧客を抱えています。
こぼれ話
ベル研究所では、初期のUNIXシステムでGCOSマシンをプリンタスプーラとして使用していました。そのため、UNIXのユーザー情報ファイル(/etc/passwd)にはGCOSと接続するためのID情報を記述する「GCOSフィールド」が設けられました。このフィールドは現在でも「pw_gecos」として残っており、ユーザーのフルネームや所属などの情報を記述するために使用されています。
関連項目
Multics
GE-600シリーズ
GE-200シリーズ
ACOS
外部リンク
日本のコンピュータ・メーカと7人の小人(1) - 高橋茂による情報処理学会誌の記事
From GECOS to GCOS8 - GCOSの歴史
Bull GCOS8 Mainframes - BullのGCOS8
メインフレーム
*
Bull GCOS8 Documentation - BullのGCOS8ドキュメント(リンク先の"click here"をクリックすると、PDFマニュアルが参照できます)