OpenVMS
開発者 DEC, HP, VMS Software Inc
OSの系統 VMS
開発状況 Current
ソースモデル Closed Source
最新安定版 V9.2 / 2022年7月14日
パッケージ管理 VMSINSTAL, PCSI
プラットフォーム VAX System, Alpha, Itanium, x86-64
カーネル種別 モノリシックカーネル
既定のUI DECwindows
ライセンス プロプライエタリ
ウェブサイト VMS Software, Inc.
テンプレートを表示

OpenVMS (Open Virtual Memory System) は、ディジタル・イクイップメント・コーポレーション (DEC、現在はヒューレット・パッカード・エンタープライズ) によって設計された、タイムシェアリングシステムバッチ処理およびトランザクション処理用のオペレーティングシステムである。当初は単にVMSと一般的には呼ばれており、元々はVAXシステム上で動作していたが、後にDEC Alphaインテル Itaniumに移植された。 2014年、ヒューレット・パッカードはVMS Software, Inc.にOpenVMSの将来のリリースを開発する独占的な権利を与えると発表した。

経緯

編集

起源と名前の変遷

編集

1975年4月PDP-11用に32ビットの仮想アドレス拡張を設計するために、DECはコードネームStarというハードウェアのプロジェクトを開始した。それに伴って、Starファミリのプロセッサ用にRSX-11Mを基にした全く新しいオペレーティングシステムを開発すべく、コードネームStarletというデヴィッド・カトラー率いるソフトウェアのプロジェクトも1975年7月に開始された。これら2つのプロジェクトは当初から緊密に統合されていた。Star・Starletの両プロジェクトは、VAX-11/780コンピュータとVAX-11/VMSオペレーティング・システムとして結実した。

年を経るにつれて製品名は変化していった。1980年にはバージョン2.0のリリースに伴ってVAX/VMSと改名された(同時にVAX-11コンピュータは単にVAXと改名された[最初のVAXコンピュータは1984年発表のVAX8600である])1991年には、POSIXUNIX互換性といった業界標準のサポートを示唆し、さらにはDEC Alphaへの移植が進行中であったので、特定のアーキテクチャとの繋がりを断ち切るために、OpenVMSと再度改名された。OpenVMSの名前はバージョン5.5のリリースとともに最初に登場した。

DEC Alphaへの移植

編集

VMSのDEC Alphaへの移植は、32ビットと64ビットの各アーキテクチャ向けに別々のコードの作成を必要とした。1992年にはAlpha AXPシステム用の最初のバージョンのOpenVMSがリリースされ、OpenVMS AXP V1.0と名づけられた。その後、OpenVMS AXP 1.5がVAX/VMS 5.5相当としてリリースされた。(OpenVMS AXPの試作品クオリティのリリースに1.xといったバージョン番号を使用したことは顧客に混乱をもたらし、その後の移植版では繰り返されなかった)

1994年には、OpenVMSバージョン6.1のリリースに伴って、VAXとAlpha版の機能(とバージョン番号)が同等になった。その後のVAXとAlpha版の製品のバージョン番号は一貫している。

Itaniumへの移植

編集

2001年DECを買収したコンパックヒューレット・パッカード (HP) へ吸収される直前に、OpenVMSをインテル Itaniumアーキテクチャへ移植することを発表した。この移植はAlphaのコードを利用して行われ、VAXコードの成熟もあって移植プロセスは大幅に簡略化された。VAXコードベースの「スナップショット」がAlphaリリースの基として使用されたVAX版のAlphaへの移植と異なり、OpenVMSのAlphaとItenium版は共通のコードベースを利用してビルドされている。

最初の試作品クオリティのリリースであるOpenVMS IA64 V8.0は、2003年に出荷された。最初の製品クオリティのItanium版リリースであるOpenVMS V8.22004年後期に出荷される予定だったが、OpenVMS/Itanium移植版は2005年1月18日に発表された。V8.4でHP Integrity VMのゲストOSとしてサポートされた。

機能

編集

OpenVMSは3つのレイヤに分けることができる:

クラスタリング

編集

OpenVMSはクラスタリング (VAXclusterと呼ばれ、後にVMSclusterとなった)をサポートし、これにより、特別なハードウェアまたはイーサネットで接続された複数のシステムが、処理、ジョブ・キュー、プリント・キューおよびディスク・ストレージ、ファイルとファイルレコードを共有することができる。この場合の共有は、分散ロックマネジャを使用したShared Everythingと呼ばれクラスタ内のすべてのシステムから同時にアクセスが可能である。イーサネットによるクラスタは、Local Area Network VMSclusterを意味するLAVCと呼ばれる。OpenVMSは単一クラスタあたり96ノードまでサポートし、VAXとAlphaシステム、あるいはAlphaとItaniumシステムが単一のクラスタ内で共存するような混成アーキテクチャ・クラスタもサポートする。(OpenVMS Engieeringは理論上3アーキテクチャクラスタも可能であることを示唆していたが、HPはサポートしない)

Common Language Environment

編集

OpenVMSの特筆すべき機能の一つがCommon Language Environmentであり、これはプログラミング言語から独立して、スタックレジスタの使用も含めた関数サブルーチンの呼び出し方を定義する、厳格に定められた標準である。これにより、対象となる言語の実装の詳細を知ることなく、ある言語(例えばFORTRAN)で書かれたサブルーチンを他の言語(例えばC言語)から呼び出すことが可能である。OpenVMS自体は多種の異なる言語(BLISSVAX MacroAdaPL/ICFORTRANBASICなど)によって実装されており、ほぼ全体がC言語によって実装されているUNIXなどのシステムとは対照的である。

ファイルシステム

編集

OpenVMSは、ストリームレコード志向の入出力アクセス・コントロール・リスト、ファイル・バージョニング等[1]をサポートする非常にリッチなファイルシステムを持っている。例えば、ファイル・バージョニング機能により、ファイルの編集・保存を繰り返すたびにファイルの名の後ろの番号が(foo.c;1、foo.c;2、foo.c;3、…、foo.c;nnnnn のように)インクリメントされる。もっとも大きい番号が最新版である。また、UNIXとは異なりファイル名の大文字と小文字は区別されず、ディレクトリのパス名は大カッコで囲む必要があり、パス名内のディレクトリはピリオドで区切る必要がある。つまり、UNIX での /home/myname/work/foo.c は、[home.myname.work]foo.c;n のようになる。en:OpenVMS filesystemを参照のこと。

時刻の管理

編集

VMSは、エポックからの経過ナノ秒を64ビットで保持することで時刻を管理している。OpenVMSのエポックは、修正ユリウス日が0となる1858年11月17日の真夜中である。

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

編集

商用オペレーティングシステムでありながら、1997年にはOpenVMSホビイスト・プログラムの一環として、OpenVMSと複数のレイヤ化された製品(レイヤード・ソフトウェア)が、ホビイストの非商用利用については無料で利用可能となった。それ以降、OpenVMS用ソフトウェアを生産している複数の会社が、自社の製品を同様の条件で利用可能とした。

脚注

編集

関連項目

編集

外部リンク

編集

📚 Artikel Terkait di Wikipedia

仮想記憶

仮想記憶(かそうきおく、英語: virtual memory、バーチャルメモリ)とは、コンピュータ分野におけるメモリ管理の仮想化技法の一種であり、オペレーティングシステム (OS) などが物理的なメモリを、アプリケーション・ソフトウェア(プロセスなど)に対して、専用の連続した主記憶装置に見えるように提供する。

Multiple Virtual Storage

はこれに、1つのアドレス空間を複数のタスクで共有する仮想記憶(virtual storage、IBM汎用コンピュータ以外の表現ではvirtual memory)機能を追加したものである。MVS ではさらに、異なるタスクは異なるアドレス空間で動くことを許容する仮想記憶機能を持つことになった。 MVS

ページング方式

by David Nudelman How Virtual Memory Works from HowStuffWorks.com (in fact explains only swapping concept, and not virtual memory concept) Linux swap space

ユニファイドメモリアーキテクチャ

0勉強会#1:Shared Virtual MemoryなどのOpenCLのバッファー関連まとめ - Fixstars Tech Blog /proc/cpuinfo ^ OpenCL™ 2.0 Shared Virtual Memory Overview ^ Unified Memory Architecture

Hyper-V

開発当初はWindows Server Virtualization、又はコードネームであるViridianの名称が用いられた。 Virtual Serverを置き換える形で、当初のHyper-VはWindows Server 2008のx64エディションの1機能としてベータ版が出荷され、Windows

Multics

C. Daley, The Multics Virtual Memory: Concepts and Design, (ACM SOSP, 1969年) Multicsのメモリ管理の詳細 Paul Green, Multics Virtual Memory - Tutorial and Reflections

三重野瞳

ヒトミ添え ミエノのタタキ!ヒトミ添えおかわり ミエノのタタキ!ヒトミ添えおかわり∞ VIRTUAL ADVENTURE VIRTUAL ADVENTURE EAST -三重野瞳・ホントは悪い子- VIRTUAL ADVENTURE WEST 梨香と瞳の放課後の王様 瞳と光央の爆発ラジオ 愛河里花子の生臭さラジオ

Extended Memory Specification

DOSエクステンダ DOS Protected Mode Interface (DPMI) Virtual Control Program Interface (VCPI) Expanded Memory Specification (EMS) プロテクトモード