OpenVMS

OpenVMS:多機能オペレーティングシステムの詳細解説



OpenVMS(Open Virtual Memory System)は、かつてディジタル・イクイップメント・コーポレーション(DEC、現在はヒューレット・パッカード・エンタープライズ)によって開発された、高度なオペレーティングシステムです。タイムシェアリング、バッチ処理トランザクション処理など、多岐にわたる用途に対応しています。元々はVMSと呼ばれていましたが、その歴史の中で名称が変更されてきました。当初はVAXシステムで動作していましたが、後にDEC AlphaやインテルItaniumといった異なるアーキテクチャにも移植されています。

OpenVMSの歴史



起源と名称の変遷

OpenVMSの歴史は、1970年代にDECが開始した二つのプロジェクトに遡ります。一つは、PDP-11用の32ビット仮想アドレス拡張を目的としたハードウェアプロジェクト「Star」、もう一つは、Starプロセッサ向けの新しいオペレーティングシステムを開発するソフトウェアプロジェクト「Starlet」です。デヴィッド・カトラー率いるStarletプロジェクトは、RSX-11Mをベースとしており、これらのプロジェクトは緊密に連携して進められました。そして、これらのプロジェクトの成果が、VAX-11/780コンピュータとVAX-11/VMSオペレーティングシステムとして結実しました。

製品名は、その歴史の中で何度か変更されています。1980年にはバージョン2.0のリリースに伴い、VAX/VMSと改称されました。1991年には、POSIXやUNIX互換性といった業界標準への対応、そして64ビットDEC Alpha RISC CPUへの移植が進んでいたため、アーキテクチャとの関連性を薄める目的でOpenVMSへと再度名称が変更されました。このOpenVMSという名称は、バージョン5.5のリリースと共に初めて登場しました。

DEC Alphaへの移植

OpenVMSのDEC Alphaへの移植は、32ビットアーキテクチャと64ビットアーキテクチャ向けに異なるコードを必要としました。1992年には、Alpha AXPシステム向けの最初のバージョンであるOpenVMS AXP V1.0がリリースされました。その後、OpenVMS AXP 1.5がVAX/VMS 5.5相当としてリリースされています。初期のAlpha版のバージョン番号が顧客に混乱を招いたため、その後の移植版ではこの方式は用いられませんでした。1994年には、OpenVMSバージョン6.1のリリースと共に、VAX版とAlpha版の機能とバージョン番号が統一されました。

Itaniumへの移植

2001年、DECを買収したコンパックヒューレット・パッカード(HP)に吸収される直前に、OpenVMSのインテルItaniumアーキテクチャへの移植が発表されました。この移植は、Alpha版のコードをベースとしており、VAXコードの成熟も手伝って、移植プロセスは大幅に簡略化されました。初期のItanium版であるOpenVMS IA64 V8.0は2003年にリリースされ、製品版であるOpenVMS V8.2は2005年1月18日に発表されました。その後、V8.4ではHP Integrity VMのゲストOSとしてサポートされています。

OpenVMSの機能



OpenVMSは、以下の3つの層に分けることができます。

1. カーネル: 入出力、メモリ管理、プロセス管理などの基本機能を提供します。
2. コアサービス: DCL(コマンド言語)、RMS(レコード管理システム)、DECwindows(X11準拠ウィンドウシステム)、RTL(ランタイムライブラリ)などで構成されます。
3. ユーティリティプログラム: システム管理、プログラミング、サポートなどに使用される様々なツールを提供します。

クラスタリング

OpenVMSは、クラスタリング(VAXcluster、後にVMScluster)をサポートしており、複数のシステムを接続して、処理、ジョブキュー、プリントキュー、ディスクストレージなどを共有できます。これにより、システム全体としての可用性や処理能力を向上させることができます。共有は「Shared Everything」方式で、分散ロックマネージャーを使用し、すべてのシステムから同時にアクセスできます。イーサネットによるクラスタはLAVC(Local Area Network VMScluster)と呼ばれます。OpenVMSは、単一クラスタあたり96ノードまでサポートし、異なるアーキテクチャ(VAX、Alpha、Itanium)を混在させたクラスタもサポートします。

Common Language Environment (CLE)

OpenVMSの大きな特徴の一つに、Common Language Environment (CLE) があります。これは、プログラミング言語に依存せず、関数やサブルーチンの呼び出し方を定義する厳格な標準です。CLEによって、異なる言語で書かれたプログラム間での連携が容易になります。OpenVMS自体が多種の言語(BLISS、VAX Macro、AdaPL/I|PL_I、C、FORTRAN、BASICなど)で実装されていることも特徴的です。

ファイルシステム

OpenVMSは、ストリームやレコード指向の入出力、アクセス制御リスト、ファイルバージョニングなど、多くの機能を備えたファイルシステムを搭載しています。ファイルバージョニング機能は、ファイルの編集や保存のたびにファイル名の後ろに番号を付与するもので、最新版を容易に特定できます。また、ファイル名の大文字と小文字は区別されず、ディレクトリパスは角括弧で囲み、ディレクトリはピリオドで区切る必要があります。

時刻の管理

OpenVMSは、エポックからの経過ナノ秒を64ビットで保持することにより時刻を管理します。OpenVMSのエポックは、1858年11月17日の真夜中です。

OpenVMS ホビイスト・プログラム

OpenVMSは、商用オペレーティングシステムでありながら、1997年からホビイスト向けのプログラムを提供しています。このプログラムを通じて、OpenVMSと一部のレイヤードソフトウェアが、非商用利用については無料で利用可能となっています。現在では、複数の企業が同様の条件でソフトウェアを提供しています。

まとめ


OpenVMSは、その高度な機能と柔軟性で、長年にわたり多くのシステムで活用されてきました。その歴史、アーキテクチャの変遷、多様な機能、そしてホビイストプログラムの存在は、このオペレーティングシステムの魅力的な側面です。

参考


もう一度検索

【記事の利用について】

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

【リンクついて】

リンクフリーです。