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マニュアルが参照できます)