前へ | 次へ | 目次 | 索引 |
OpenVMS で実際のディレクトリのように動作する UNIX 形式のルートをサポートする機能が追加されました。これにより,次のような動作が可能になります。
% cd / % mkdir /dirname % tar -xvf tarfile.tar /dirname % ls / |
以前のバージョンでは,C RTL はスラッシュ(/)文字をディレクトリ名として認識していませんでした。スラッシュ文字で始まるファイル・パスの場合,通常の処理では最初の要素が論理名またはデバイス名として解釈されていました。このような解釈ができない場合は,/dev/nullという名前,および/binおよび/tmpから始まる名前に対して特殊な処理が行われていました。
/dev/null NLA0: /bin SYS$SYSTEM: /tmp SYS$SCRATCH: |
互換性を維持するために,これらの動作は現在も保持されています。さらに,論理名 SYS$POSIX_ROOT をスラッシュ文字と同等に取り扱うサポート機能が C RTL に追加されました。
C RTL で使用するためにこの機能を有効にするには,SYS$POSIX_ROOT を隠し論理名として定義します。次の例を参照してください。
$ DEFINE/TRANSLATION=(CONCEALED,TERMINAL)SYS$POSIX_ROOT "$1$DKA0:[SYS0.abc.]" |
この機能を無効にするには,次のコマンドを入力します。
$ DEFINE DECC$DISABLE_POSIX_ROOT {1, ENABLE 0, DISABLE} |
SYS$POSIX_ROOT を有効にすると,次の動作が実行されます。
C RTL では,32 ビットのユーザ識別子(UID)とグループ識別子(GID)がサポートされるようになりました。32 ビットの UID および GID のサポートは,POSIX 形式の識別子をサポートするために,OpenVMS オペレーティング・システムのいくつかのバージョンに追加されました。
OpenVMS バージョン 7.3-1 では,POSIX 形式の ID はサポートされませんが,32 ビットの UID および GID はサポートされます。32 ビットの UID/GID を使用するようにアプリケーションをコンパイルした場合,UID と GID はオペレーティング・システムの前のバージョンと同様に,UIC から取り出されます。getgroups関数の場合のように,アプリケーションで 32 ビットの GID がサポートされる場合は,追加情報が返されることもあります。
32 ビットの UID または GID をサポートするようにアプリケーションをコンパイルするには,マクロ _USE_LONG_GID_T を定義します。16 ビットの UID または GID をサポートするようにアプリケーションをコンパイルするには,マクロ _DECC_SHORT_GID_T を定義します。
さらに,OpenVMS バージョン 7.3-1 では POSIX 形式の ID を有効にしてコンパイルすることはできませんが,そのサポートを提供する OpenVMS システムで POSIX 形式の ID を有効にしてコンパイルされたプログラムを実行することはできます。
5.3.6 新しい C RTL 関数と変更された C RTL 関数
Compaq C RTL では,次に示すように OpenVMS バージョン 7.3-1 用に新たに追加された関数または変更された関数が提供されます。
decc$feature_get_index decc$feature_get_name decc$feature_get_value decc$feature_set_value |
vfscanf vfwscanf vscanf vwscanf vsscanf vswscanf |
fseeko ftello |
fstat ftruncate ftw lseek mmap stat truncate |
DECdtm では,分散トランザクション処理システムのための基本的なインフラストラクチャが提供されます。複数の DECdtm システム・サービスがドキュメントに記載されるようになりました。DECdtm に追加された XA 機能の詳細については,第 4.24 節 を参照してください。
表 5-1 は,新たにドキュメントに記載されたすべての DECdtm システム・サービスを示しています。
システム・サービス | 待ち機能を備えた システム・サービス |
説明 |
---|---|---|
$ABORT_TRANS | $ABORT_TRANSW | トランザクションを打ち切る。 |
$ACK_EVENT | RM 関連イベントまたは RMI に報告されたイベントを確認する。 | |
$ADD_BRANCH | $ADD_BRANCHW | 新しい分岐をトランザクションに追加することを認可する。 |
$CREATE_UID | 普遍的に一意な識別子を生成する。 | |
$DECLARE_RM | $DECLARE_RMW | 新しいリソース・マネージャ・インスタンス(RMI)を作成する。 |
$END_BRANCH | $END_BRANCHW | 分岐をトランザクションから削除し,トランザクションの出力を返す。 |
$END_TRANS | $ENDTRANSW | トランザクションを終了する。 |
$FORGET_RM | $FORGETRMW | RMI を呼び出しプロセスから削除する。 |
$GET_DEFAULT_TRANS | 呼び出しプロセスのデフォルト・トランザクションを返す。 | |
$GETDTI | $GETDTIW | 個々のトランザクションの状態に関する情報を返す。 |
$JOIN_RM | $JOIN_RMW | 新しいRM 関連イベントをトランザクションに追加する。 |
$SET_DEFAULT_TRANS | $SET_DEFAULT_TRANSW | 呼び出しプロセスのデフォルト・トランザクションを設定またはクリアする。 |
$SETDTI | $SETDTIW | プロセスを現在のトランザクションとして設定し,リソース・マネージャをトランザクションから削除する。 |
$START_BRANCH | $START_BRANCHW | 新しい分岐をトランザクションに追加する。 |
$START_TRANS | $START_TRANSW | トランザクションを開始する。 |
$TRANS_EVENT | $TRANS_EVENTW | 特定のトランザクションの状態を強制的に変更する。 |
詳細情報 | ドキュメント |
---|---|
DECdtm システム・サービス | 『OpenVMS System Services Reference Manual』 |
DECdtm と XA トランザクションの管理 | 『OpenVMS システム管理者マニュアル』 |
DECdtm/XA で使用される XGCP ユーティリティ | 『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』 |
DECdtm および XA によるプログラミング | 『OpenVMS Programming Concepts Manual, Volume II』 |
5.5 Open Source Security for OpenVMS---CDSA と SSL
CDSA(Common Data Security Architecture)は,マルチプラットフォームを対象にした業界標準セキュリティ・インフラストラクチャです。CDSA は標準規格に準拠した安定したプログラミング・インタフェースを提供します。アプリケーションはこのインタフェースを使用して,オペレーティング・システムのセキュリティ・サービスにアクセスすることができ,開発者はセキュリティ対応のクロス・プラットフォーム・アプリケーションを開発できます。アプリケーションは動的に拡張可能なアプリケーション・プログラミング・インタフェース(API)を通じて,暗号や他の公開鍵操作など,セキュリティ・サービスを要求します。これらの要求はプラグイン・セキュリティ・サービス・プロバイタ・インタフェース(SPI)によってサービスされます。SPI はビジネス・ニーズやテクノロジの進歩にともなって補足されたり,変更されることがあります。
Compaq SSL(Secure Sockets Layer)for OpenVMS Alpha は,企業内の OpenVMS システムとの間で安全で正確なネットワーク通信を可能にする業界標準ツールです。強力な暗号機能と高度なハッシュ・アルゴリズムを使用することで,メッセージは安全に転送するために暗号化され,データの整合性が確認され,すべてのデータが変更されずにそのまま到着したかどうか確認されます。
SSL(Secure Sockets Layer)は,インターネットを介して重要な情報を安全に検証するためのオープン・スタンダード・セキュリティ・プロトコルです。SSL には次の 3 つの主要機能があります。
クライアントの認証機能はオプション機能として提供されます。
Compaq SSL V1.0 for OpenVMS Alpha は,SSL 0.9.6B ツールキットおよび暗号ライブラリを OpenVMS Alpha バージョン 7.3-1 に移植したものです。Compaq SSL for OpenVMS Alpha は,SSL 証明書の表示と作成のための単純なインタフェースである証明ツールを提供します。SSL Certificate Tool を使用すると,次のような重要な証明機能を簡単に実行できます。
追加ハッシュ機能も含まれています。
詳細については,『Open Source Security for OpenVMS Alpha, Volume 1: Common Data Security Architecture』または『Open Source Security for OpenVMS Alpha, Volume 2: Compaq SSL(Secure Sockets Layer)for OpenVMS Alpha』を参照してください。
5.6 Compaq SSL for OpenVMS と組み合わせた LDAP の使用
LDAP ディレクトリに格納されている企業情報のセキュリティ保護を強化する必要がある場合のために,LDAP セッションで Compaq SSL for OpenVMS Alpha を使用できるようになりました。SSL では X.509 公開鍵テクノロジを使用して,次のセキュリティ機能が提供されます。
LDAP ディレクトリに接続する場合は,ログインして特定のサービスを使用する必要があります。その場合,bind()要求をサーバに送信しなければなりません。単純な bind では,ユーザ名やパスワードは通常のテキストで送信されます。Compaq SSL では,この bind 要求は暗号化され,サーバ以外ではパスワードが判読不能になるため,SSL は重要です。
詳細については,『OpenVMS Utility Routines Manual』の LDAP の章を参照してください。
5.7 新しい Alpha 浮動小数点レジスタと実行データ・ブロック(FRED)
新しい構造である浮動小数点レジスタと実行データ・ブロック(FRED)は,HWPCB,浮動小数点レジスタ保存領域,カーネル単位のスレッド・データを格納する複合構造です。バージョン 7.2 より前のバージョンでは,OpenVMS は各プロセスで 16 のカーネル・スレッドをサポートしていました。バージョン 7.2 以降では,OpenVMS は各プロセスで 256 のカーネル・スレッドをサポートするようになりました。また,バージョン 7.3-1 より前のバージョンでは,OpenVMS はプロセスがマルチスレッドにならない場合でも,プロセスの生成時にそのプロセスに対して最大数の FRED ブロックを割り当てていました。バージョン 7.3-1 では,OpenVMS はすべての FRED ブロックを必要に応じて割り当てます。このため,カーネル・スレッドを使用するアプリケーションの拡張性とパフォーマンスが向上しました。
詳細については,『OpenVMS Programming Concepts Manual, Volume I』を参照してください。
5.8 将来のアーキテクチャ固有のコードの変更
この情報は,OpenVMS の将来のバージョンに関連するものであり,OpenVMS バージョン 7.3-1 には影響しません。 |
OpenVMS オペレーティング・システムを Intel Itanium プロセッサ・アーキテクチャに今後移植する場合,SYI$_HW_MODELシステム・サービスを使用してプロセッサ・アーキテクチャを判断すると,問題が発生することに注意してください。これまで,HW_MODEL 1024 およびそれ以上の値は Alpha システムを示していましたが,Itanium ベースのシステムが導入された場合,このような解釈はできなくなります。
今後,システム・アーキテクチャを判断するには,すベてのプラットフォームでSYI$_ARCH_TYPEまたはSYI$_ARCH_NAMEシステム・サービスを使用するようにしてください。
次の表は,システム・サービスとそのシステム・サービスからの現在の戻り値,または現時点での提案値を示しています。
プロセッサ | 戻り値 | |
---|---|---|
システム・マーケティング・モデル(SMM),SYI$_HW_MODEL,ワード・フィールド1 | ||
VAX | 1:1023 | VAX$K_name,返される最大値: 541 |
Alpha | 1024:4095 | ALPHA$K_name,返される最大値: 2006 |
Itanium プロセッサ | 4096:8191 | IPF$K_name |
CPQ 予約 | 8191:32767 | |
ISV 予約 | 32768:65535 | |
SYI$_ARCH_NAME,15 文字 | ||
VAX | "VAX" | |
Alpha | "Alpha" | |
Itanium プロセッサ | "IA-64" | |
その他 | "OTHER" | |
SYI$_ARCH_TYPE,ロングワード | ||
その他 | 0 | |
VAX | 1 | |
Alpha | 2 | |
Itanium プロセッサ | 3 | |
SYI$_NODE_SWTYPE,ロングワード | ||
All | "VMS" | |
SYI$_CPU,ロングワード | ||
VAX | CPU コード | |
その他 | SS$_NOTAVAX | |
SYI$_CPUTYPE(および SYI$_REAL_CPUTYPE),ロングワード | ||
Alpha | Alpha マイクロプロセッサ・コア・コード | |
その他 | SS$_NOTALPHA(新規) | |
SYI$_CPULID(新規)(および SYI$_REAL_CPULID),ロングワード | ||
Itanium プロセッサ | Itanium プロセッサ LID の値 | |
その他 | SS$_NOTIA64(新規) | |
SYI$_SID,ロングワード | ||
VAX | CPU コード | |
その他 | 256 | |
SYI$_CPULID(新規)(および SYI$_REAL_CPULID),ロングワード | ||
Itanium プロセッサ | Itanium プロセッサ LID の値 | |
Others | SS$_NOTIA64(新規) | |
SYI$_SID,ロングワード | ||
VAX | CPU コード | |
その他 | 256 | |
SYI$_SYSTYPE,ロングワード | ||
VAX | VAX ではインプリメントされていない | |
Alpha | Alpha プラットフォーム・ファミリ・コード 1:63 | 返される最大値: 40 |
Itanium プロセッサ | Itanium プロセッサ・プラットフォーム・ファミリ・コード(64:255) | |
256:32767 | Compaq 予約 | |
32768:~0 | ISV 予約 | |
SYI$_XCPU,ロングワード | ||
すべて | インプリメント固有 | |
SYI$_XSID,ロングワード | ||
すべて | インプリメント固有 |
前へ | 次へ | 目次 | 索引 |