日本-日本語

製品  >  ソフトウェア  >  OpenVMS

OpenVMS FAQ


≫ 

OpenVMS ドキュメント
ライブラリ

タイトルページ
目次
第 1 章:概要
第 2 章:ドキュメント
第 3 章:時間の管理
第 4 章:ネットワークとクラスタ
索引
OpenVMS ホーム

HP OpenVMS
FAQ


目次 索引



元のプラットフォームで使用していた機能に応じて,ポーティングは簡単にできる場合も,複雑な場合もあります。

ここでは,ポーティング全般について説明し,さらに, OpenVMS VAX から OpenVMS Alpha および OpenVMS I64 へのポーティングについても説明します。多くの場合,OpenVMS VAX から OpenVMS Alpha および OpenVMS I64 へのポーティングは非常に簡単で,ソースからの再ビルド以外の作業はほとんど不要ですが,プラットフォーム固有あるいはアーキテクチャ固有の機能を使用している一部のアプリケーション,あるいはドキュメントされていない機能やサポートされていない機能を使用しているアプリケーションでは,ポーティングのための追加作業が必要になります。

OpenVMS VAX から OpenVMS Alpha へのポーティングに関して,数冊のマニュアルが OpenVMS ドキュメンテーション・セットで提供されており, VAX Macro32 アセンブラ・コードを OpenVMS Alpha の Macro32 コンパイラにポーティングする方法,管理上の相違点,特権コードのアップグレード,アプリケーションの移行などに関する情報が記載されています。

  • http://h50146.www5.hpe.com/products/software/oe/openvms/manual/ (日本語)

  • http://www.hp.com/go/openvms/doc/ (英語)

OpenVMS I64 へのポーティングについてのドキュメントも上記のサイトで提供されています。

C プログラミング環境の詳細については,以下のサイトをご覧ください。

  • http://www.openvms.compaq.com/commercial/c/c_index.html

VAX C から HP C へのポーティングの詳細については,以下のサイトをご覧ください。

  • http://www.openvms.compaq.com/commercial/c/index_vax.htm

OpenVMS ポーティング・ライブラリは以下のサイトで提供されています。

  • http://www.openvms.compaq.com/ebusiness/Technology.html

Enterprise Toolkit (Microsoft プラットフォームを使用して OpenVMS 向けのアプリケーションを開発するための Visual ベースの開発環境) の詳細については,以下のサイトをご覧ください。

  • http://www.openvms.compaq.com/commercial/et/et_index.html

DCE,CORBA,BridgeWorks,および COM/DCOM ミドルウェアの詳細については,以下のサイトをご覧ください。

  • http://www.openvms.compaq.com/commercial/middleware.html

COE 標準の詳細については,以下のサイトをご覧ください。

  • http://diicoe.disa.mil/coe/

多彩なプログラミング開発ツールやミドルウェアが販売されており (たとえば,DECset, IBM WebSphere MQ (旧称 MQseries)),その他にシェアウェアやフリーウェアとして提供されているツールもあります。この FAQ の他のセクションおよび以下のサイトをご覧ください。

  • http://www.hp.com/go/dspp_catalog



1.16 OpenVMS ソフトウェア開発者向けにどのようなリソースが提供されていますか

HP OpenVMS ソフトウェア・パートナー,コンサルタント,サービス・プロバイダの方々をサポートおよび支援するために, HP DSPP (Developer and Software Product Partner) プログラムが以下のサイトで提供されています。

  • http://www.hp.com/dspp/

DSPP ではメンバーの皆様にさまざまなメリットを提供します。詳細については,上記の Web サイトをご覧ください。

DSPP プログラムの歴史について簡単に説明すると, DIGITAL Association of Software and Application Partners (ASAP) プログラムと DIGITAL Independent Software Vendors Network (ISVN) プログラムが Compaq CSA プログラムに統合され,その後, CSA プログラムが HP DSPP プログラムに統合されて,現在のプログラムになりました。

DSPP プログラムの詳細については, 第 1.9.3 項 を参照してください。

1.17 メモリ管理,リソース管理,プロセス・スケジューリングなどについて教えてください

これまでの説明で,OpenVMS の概略に関する研究論文を書くことができる程度の知識が得られたと思いますが,さらに, OpenVMS 仮想メモリ・システム,メモリ・セグメンテーション, OpenVMS リソース管理,OpenVMS ファイル・システム, OpenVMS ユーザ・インタフェースなどについての技術的な知識も必要です。

あなたの教授やインストラクタ,あるいは先生は,一連の質問をすることでしょう。一般に以下のような項目に関するさまざまなレベルの質問が想定されます。

  • プロセス・スケジューリング・アルゴリズム

  • プロセス間通信

  • プロセスまたはシステムの同期化

  • メモリ管理および仮想メモリの実現

  • RMS または XQP ファイル構造

  • リソース管理

  • HP OpenVMS の歴史

  • Compaq および Digital Equipment Corporation (DEC) の歴史

プレゼンテーションや研究論文,特に教育を目的にしたプレゼンテーションは,対象とするターゲットがさまざまであり,内容のレベルも大きく異なります。さらに,教育用プレゼンテーションや教育研究プロジェクトは,主題にどう対処するかを目的にしているわけではなく,生徒 (たとえば読者) が研究をどのように進めていくか,その方法を教えることを目指しています。インストラクタは,生徒に対して収集するように要求した情報のほとんど (すべて ?) をすでに知っています。

OpenVMS および OpenVMS の内部構造に関するきわめて詳細な技術情報については,『Internals and Data Structures Manual (IDSM)』という書籍が学校やコンピューティング・センターの図書館に用意されており,購入することもできます。また,Alpha マイクロプロセッサの詳細な技術情報については,『Alpha Architecture Reference Manual』が提供されており,ダウンロードして入手できます。 Alpha の技術ドキュメントについては,英語版FAQの「Hardware Information」の「Where can I get more information on Alpha systems?」などで紹介しています。

もっと高レベルの (技術的にはそれほど詳しくない) 情報については, OpenVMS ドキュメンテーション・セットがオンラインで提供されています。必要な情報のレベルに応じて異なりますが,『Programming Concepts and the File Systems』というマニュアルを最初に読むことをお勧めします。

一方,あるテーマに関して完璧な研究レポートを提供することをためらう人々がいることも理解してください。なぜなら,あなたが卒業した後,私たちはあなたと一緒に仕事をすることになるかもしれませんが,どのようなテーマであっても,少なくとも基礎的な研究を進める方法は自分で習得する必要があるからです。

1.18 基本的な単位

OpenVMS およびそれが稼動するハードウェアでは,ディスクおよびメモリ・ストレージのサイズを表現するのにさまざまな単位が使用されます。また,単位の略称 (頭文字) も使用されます。ここでは,最も一般的に使われる単位とその略称について説明します。

1.18.1 ディスク・ブロックは何バイトですか

ディスク・ブロックは,OpenVMS でディスク・ストレージを割り当てる最小単位です。

OpenVMS VAX および OpenVMS Alpha では,ディスク・ボリュームのブロック・サイズは同じで, 1 ブロックは 512 バイトです。

OpenVMS で一般に使用される ODS-2 および ODS-5 ボリューム構造でのディスクの最小割り当て単位は,実際にはボリュームごとに決定され,通常,ディスク・ボリュームの総ブロック数とボリュームのストレージ・ビットマップの合計サイズの組み合わせで決まります。最小割り当て単位はボリューム・クラスタ・サイズと呼ばれます。クラスタ・サイズはディスク・クラスタ内のブロック数であり,各ディスク・ボリュームで割り当てることのできる最小ブロック数です。

OpenVMS V7.2 より前のバージョンでは,サポート可能な最大ビットマップ・サイズを実現するためには,ボリュームのサイズが拡大するのに伴ってクラスタ・サイズも大きくする必要がありました。 V7.2 以降,ビットマップを大きくしても,最小 1 ブロックのクラスタ・サイズを使用できるようになりました。

ファイルのバイト数は,ファイルに割り当てられたブロック数に 1 ブロックのバイト数を掛け合わせることで求められます。順編成ファイル (のみ) の場合, FFB (ファイル・ヘッダ XAB 内の XAB$W_FFB) の値から,最後のブロック (XAB$L_EBK) がどれだけ使用されているかを判断できます。 FFB と EBK は順編成ファイルの場合にだけ意味があり,特定のコンテキストでのみ使用できます。つまり,部分的なブロック割り当ては認められません。他の形式のファイルの場合,EOF マーカーは意味がありません。

ディスクの割り当ては常に,クラスタ・サイズ単位で行われます。ボリューム・クラスタ・サイズに応じて,1 ブロックから最大 18 ブロックまたはそれ以上のクラスタまで可能です。 OpenVMS V7.2 以上では,クラスタ・サイズ 1 から約 137 ギガバイトのボリュームまでサポートされます。

OpenVMS では,デバイス・ドライバおよびストレージ・デバイスは,通常のファイルと同じように 512 バイトの単位でファイル・システムでアドレッシング可能なストレージ領域を表現します。たとえば他社が提供するさまざまな CD-ROM デバイスは 2048 バイト・ブロックしかサポートしないので,このようなデバイスは標準の OpenVMS デバイス・ドライバと互換性がありません。

ファイルに必要なバイト数を DCL から判断するために,あるオプションでは,f$file_attributes のアイテム EOF に 1 ブロックのバイト数 (512) を掛け合わせています。この方法では,順編成ファイルの最後のブロックの未使用領域のサイズが考慮されていませんが,順編成ファイルと他のファイルを区別する必要がないという利点があります。

1.18.2 メモリ・ページは何バイトですか

メモリ・ページとは,OpenVMS のメモリ割り当て最小単位です。 OpenVMS VAX では,メモリ・ページのサイズはディスク・ブロックのサイズと同じであり,常に 512 バイトです。

OpenVMS Alpha では,メモリ・ページのサイズは可変で, 8192 バイト (8 キロバイト) から最大 64 キロバイトまで可能です。現在のシステム・ページ・サイズは, sys$getsyi または f$getsyi で PAGE_SIZE アイテムを使用して求めることができます。メモリ・ページ・サイズ (またはページ・アライメント) が定数としてハードコーディングされているプログラムの場合は,常にページ・サイズが 64 キロバイトであるものと考える必要があります。

OpenVMS I64 でもメモリ・ページのサイズは可変で, 4096 バイト (4 キロバイト) から最大 256 メガバイトまで可能で,将来的には 4 ギガバイトまで可能です。 OpenVMS Alpha と同様に, sys$getsyi,f$getsyi および PAGE_SIZE アイテムコードを使用して現在のシステム・ページ・サイズを求めることができます。一般に,OpenVMS I64 は 8 キロバイト以上のページ・サイズを使用します。

OpenVMS Alpha および OpenVMS I64 では, 512 バイトのメモリ領域 (OpenVMS VAX のメモリ・ページのサイズに相当) をページレットと呼んでいます。

1.18.3 単位の変換方法,ディスク・ブロック, KB,MB,GB,TB について教えてください

ディスク・ストレージのアドレッシング最小単位をディスク・ブロックと呼びます。あるいは,ディスク・セクタと呼ぶこともあります。ディスク・ブロックのグループは通常,割り当てることのできる最小ストレージ単位にまとめられます。これをディスク・クラスタと呼びます。 1 クラスタのブロック数はクラスタ・サイズであり,ディスク・ボリュームを初期化するときに設定されます。

各ディスク・ブロックは 512 バイト,つまり 0.5 キロバイトです。 1 バイトは 8 ビットです。 1 ビットは情報の最小単位であり,通常は 1 または 0 で表します。

OpenVMS では,ディスク・ストレージを表記するときに 2 進表記を使用しますが,一般に,大部分のストレージ・ベンダーはディスクの記憶容量を 10 進表記で表現します。

OpenVMS のディスク・ブロックのサイズは 512 バイトあり, 2 進表記で表すと 1/2 キロバイトです。

以下の表は,単位の名称,略称,10 進数 (マーケティングで使用される表記), 2 進数 (OpenVMS およびその他の種々のオペレーティング・システムの表記) を示しています。


            Base Ten                        Base Two 
            -----------------------------   ---------------------- 
  Kilobyte  (KB)  10**3              1000   2**10             1024 
  Megabyte  (MB)  10**6           1000000   2**20          1048576 
  Gigabyte  (GB)  10**9        1000000000   2**30       1073741824 
  Terabyte  (TB)  10**12    1000000000000   2**40    1099511627776 
  Petabyte  (PB)  10**15 1000000000000000   2**50 1125899906842624 

2**40 という値の 10 進表記は 1099511627776 ですが,これでは取り扱うのに厄介です。 8 進数や 16 進数で表記すると,はるかに扱いやすくなります。 8 進数で表記すると 10000000000, 16 進数で表記すると 40000000 になります。

FAQ での表記

OpenVMS FAQ では,1,000 ビット (2 進表記であるか 10 進表記であるかは前後関係で決まります) を 1 キロビットとして表し,常に Kb という略称で示します。 一方,1,000 バイトは 1 キロバイトとして表し,KB という略称で示します。 同様の表記法をメガビット (Mb) とメガバイト (MB) やその他の単位に対しても使用します。

OpenVMS オペレーティング・システムでシステムやストレージを参照する場合は,一般に 2 進表記を使用し (たとえば,キロバイトやキロビットに対しては 1024),ストレージ・ハードウェアの資料やハードウェア仕様では,一般に 10 進表記 (たとえば 1000) を使用します。

OpenVMS のディスク・ブロックを (2 進表記の) キロバイト (KB; 1024 バイト) 単位に変換するには,単純に 2 で除算します。ブロックを (2 進表記の) メガバイト単位に変換するには, 2048 で除算します。ブロックを (2 進表記の) ギガバイト単位に変換するには, 2097152 で除算します。これらの除算はビットシフトを使用して行うことができます。たとえば,値を 2 で除算するには, 2 進数の値を 1 ビットだけ右にシフトします。

OpenVMS のディスク・ブロックを (10 進表記の) キロバイト単位に変換するには,約 1.953125 で除算します。

プリフィックスの特殊な使い方に関心のある人,特にオペレーティング・システムの内部を詳しく調べている人が使用する単位であるマイクロフォートナイト (microfortnight) は約 1 秒です。


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項