日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMSマニュアル
ライブラリ

タイトルページ
目次
まえがき
第1部:新機能
第1章:V8.4の新機能概要
第2章:一般ユーザ機能
第3章:仮想化機能
第4章:性能の強化
第5章:耐障害性およびクラスタ機能
第6章:ストレージ・デバイスとI/Oのサポート
第7章:セキュリティ機能
第8章:システム管理機能
第9章:プログラミング機能
第10章:関連製品の新機能
第2部:英文ドキュメント
第11章:ドキュメントの概要
第12章:ドキュメントの提供形態
第13章:マニュアルの説明
索引
PDF
OpenVMS ホーム

HP OpenVMS
V8.4 新機能説明書


目次 索引

第 9 章
プログラミング機能

この章では, OpenVMS Version 8.4 におけるアプリケーション・プログラミングおよびシステム・プログラミングに関連する新機能について説明しています。

9.1 OpenVMS 呼び出し可能メールの拡張

OpenVMS の呼び出し可能メール API である MAIL$SEND_MESSAGE が拡張されており,新しい送信項目コード MAIL$_SEND_RECIP_FOLDER を使用することで,指定したフォルダに直接メールを送ることができます。

受信側が VMSmail で,指定されたフォルダが存在しない場合,新しいフォルダが送信項目コードで指定された名前で作成されます。フォルダ名の大文字小文字は区別されます。

MAIL$_SEND_RECIP_FOLDER 項目コードを指定した場合,新しいメールはこの項目コードで指定したフォルダに置かれます。この項目コードが指定されていない場合,デフォルト・メール・フォルダとして NEWMAIL が使用されます。この機能を使用することで,新着メールを JUNK あるいは SPAM などのフォルダに直接送ることができます。

送信先のメール・サーバが OpenVMS でない場合は,配信されるフォルダは受信側が使用するプロトコルに依存します。

9.2 C Run-Time Library の拡張

以降の各項で,OpenVMS Version 8.4 の C Run-Time Library (C RTL) の機能拡張について説明します。これらの機能拡張により,UNIX 互換性,標準への準拠,ユーザ制御の機能選択の柔軟性が提供されます。新しい C RTL 関数も含まれています。 C RTL 関数についての詳細は『HP C ランタイム・ライブラリ・リファレンス・マニュアル』を参照してください。

9.2.1 C RTL での Unicode サポート - ファイル名に対する UTF-8 エンコーディング

C RTL API で UNIX 構文を使用した場合に, UTF-8 (8-bit UCS/Unicode Transformation Format) エンコーディング形式のファイル名がサポートされます。 UTF-8 は Unicode のための可変長文字エンコーディングです。

UTF-8 は,メール,Web ページ,あるいはその他の場所で文字を扱う際に頻繁に使用されるエンコーディングです。たとえば ODS-5 ディスクでは, OpenVMS の DIRECTORY コマンドは下記の文字列を含むファイル名をサポートします。 /disk/mydir/^U65E5^U672C^U8A9E.txt

UTF-8 サポートが有効になっている場合, C プログラムはこの OpenVMS ディレクトリからこのファイル名を読み取り, UTF-8 エンコーディングされた文字列としてこのファイル名を使用することができます。たとえば,readdir() の後の opendir("/disk/mydir") は,指定したディレクトリ構造の d_name フィールドに "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E.txt" を置きます。 open("/disk/mydir/\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E.txt",O_RDWR,0) あるいは open("/disk/mydir/xxxyyyzzz.txt", O_RDWR,0) でこのファイルをオープンします。

"\xE6\x97\xA5" は E697A5 バイト・ストリームで, xxx 文字を UTF-8 エンコーディングで表します。

この機能により,UTF-8 エンコーディングのファイル名を扱う国際化ソフトウェアの UNIX 互換性が強化されます。

この機能を有効にするための論理名 DECC$FILENAME_ENCODING_UTF8 が提供されています。 UTF-8 エンコーディングを有効にするには, DECC$FILENAME_ENCODING_UTF8 および DECC$EFS_CHARSET 論理名を定義してください。 DECC$FILENAME_ENCODING_UTF8 が定義されていない場合,デフォルトの動作では ASCII および Latin-1 形式でファイル名を扱います。この機能は ODS-5 ディスクでのみ機能する点に注意してください。

UTF-8 エンコーディングについての詳細は『HP C ランタイム・ライブラリ・リファレンス・マニュアル』を参照してください。

9.2.2 性能改善のための strcmp() および memcmp() の拡張

Integrity サーバにおける性能の改善のために C RTL の strcmp() および memcmp() API が拡張されており,計算時間が短くなっています。

新しい実装では約 56% の性能改善が認められ,この結果,ビジネス上重要な多くのアプリケーションの処理能力を強化することになります。

9.2.3 セマフォのサポート

C RTL は,下記の Open Group のセマフォ制御操作をサポートします。

以下の System V セマフォ・ルーチンがサポートされます。

semctl()
semget()
semop()
ftok()

以下の POSIX セマフォ・ルーチンがサポートされます。

sem_close()
sem_destroy()
sem_getvalue()
sem_init()
sem_open()
sem_post()
sem_timedwait()
sem_trywait()
sem_unlink()
sem_wait()


C RTL に新しい機能スイッチ DECC$PRINTF_USES_VAX_ROUND が追加されています。

このスイッチセットにより, printfの F および E フォーマット指定子は,IEEE フォーマットでコンパイルされたプログラムに対して VAX 丸め規則を使用します。

9.3 リンカ・ユーティリティの拡張

本リリースでは,LINK コマンドに /CBT および /NOCBT 修飾子が新たに追加されています。リンカは,/NOCONTIGUOUS (デフォルト) あるいは /CONTIGUOUS を使用してイメージ・ファイルを作成します。しかし,デフォルトの /NOCONTIGUOUS では非連続ファイルを作成するのではなく CBT (Contiguous Best Try) アルゴリズムでファイル作成を行ないます。

ビルド環境によっては,たとえばターゲット・ディスクがひどく断片化されており,クラスタ内の他のノードから大量にアクセスがある場合は,連続ファイルを作成することはしばしば不可能になります。このような状況が発生すると,クラスタ内のすべてのノードで,このディスクに対する I/O 性能に悪影響を与えることになります。

新しい修飾子が既存のデフォルト動作と互換性を保つように,新しいデフォルト修飾子は /NOCONTIGUOUS と /CBT になっています。このデフォルト動作を無効にしてリンカに非連続ファイルを作成させるには, /NOCBT を指定する必要があります。 /CONTIGUOUS と /NOCBT の組合せは矛盾するため使用できません。 /CONTIGUOUS/CBT あるいは /CONTIGUOUS を指定した場合,結果は同じになります。

9.4 システム・サービスに関する新しい情報

OpenVMS Version 8.4 では,以下の新しいシステム・サービスが追加されています。

  • $POWER_CONTROL - $POWER_CONTROL システム・サービスがすべての Integrity サーバ・システム・プラットフォームに追加されており, Integrity サーバの電力と性能の設定を希望する値に変更することができます。設定内容は,iLO web インタフェースを使用した場合と同様,システム全体に適用されます。 $POWER_CONTROL についての詳細は,『OpenVMS System Services Reference Manual』を参照してください。



9.5 新しい項目コード

$GETDVI システム・サービスに,以下の新しい項目コードが追加されています。

  • DVI$_NOXFCCACHE_ON_VOLUME - そのボリュームで XFC キャッシュ機能が有効な状態かどうかを示すブール値を返します。値 0 は,そのボリュームで XFC キャッシュ機能が有効なことを示します。値 1 は,そのボリュームで XFC キャッシュ機能が無効なことを示します。

  • DVI$_XFC_DEPOSING - XFC ボリュームの depose 操作が実行中であるかどうかを示すブール値を返します。値 0 は,XFC ボリュームの depose 操作が実行中でないことを示します。値 1 は,XFC ボリュームの depose 操作が実行中であることを示します。

$MOUNT システム・サービスに,以下の新しい項目コードが追加されています。

  • MNT$_DATA--- ディスクで XFC が有効でなければらない場合に指定します。デフォルトの動作では,NOQUOTA,NOFILEDID,NOEXTENT,および WRITETHROUGH の値が渡される場合を除き,MOUNT コマンドで MNT$_DATA が渡されます。

  • MNT$_NODATA--- ディスクで XFC が無効でなければらない場合に指定します。 MOUNT コマンドで NOQUOTA,NOFILEID,NOEXTENT および WRITETHROUGH の値が渡される場合,この値がデフォルト値になります。

詳細については『OpenVMS System Services Reference Manual』を参照してください。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.