Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

入出力デバイス

Caché は、さまざまな種類のデバイス (物理デバイスおよび論理デバイスの両方) をサポートしています。この章では、以下について説明します。

入出力インタフェースは、しばしばプラットフォームに依存するため、このドキュメントのいくつかの章では、異なるオペレーティング・システム・プラットフォームでの入出力デバイスの管理について、個々のセクションで説明しています。

この章では、Caché での入出力デバイスの管理に関して説明します。ここでは、以下のトピックについて説明します。

Caché は、物理入出力デバイスおよび論理入出力デバイスの両方をサポートします。サポートされる物理デバイスは、以下のとおりです。

  • ターミナル

  • プリンタ

  • ディスク・ドライブ

  • 磁気テープ

  • カートリッジ・テープ

サポートされる論理デバイスは、以下のとおりです。

  • 主デバイス

  • スプーラ

  • シーケンシャル・ファイル

  • フラット・ファイル

  • インタジョブ・コミュニケーション・デバイス (IJC デバイス)

  • ルーチン・インタロック・デバイス

デバイス制御ユーティリティ

デバイスを管理するための Caché ユーティリティがいくつか用意されています。以下のテーブルは、これらのユーティリティの要約、およびこれらにアクセスするための別の方法を示しています。

Caché デバイス・ユーティリティ
動作 ユーティリティ 説明
デバイスの定義 管理ポータルのデバイス構成 ユーザが %IS ユーティリティでアクセスできるデバイスを定義します。そのデバイスは、%IS グローバルに格納されています。これらのデバイス定義を、編集、削除することができます。[デバイス] のサブセクションでは、ニーモニックおよびエイリアスを含むデバイスを定義しますが、既定のデバイスも提供されています。デバイスのサブタイプは [デバイスサブタイプ] のサブセクションで定義しますが、既定のサブタイプも提供されています。[磁気テープ] のサブセクションでは、(デバイス・サブセクションで作成した) 磁気テープ・デバイス定義を磁気テープ・デバイス名に関連付けます。
既定のニーモニック空間の定義 管理ポータルの IO 構成オプション WRITE /mnemonic コマンドを使用してデバイスを制御できます。このパネルでは、ニーモニック空間指定の引数付きの OPEN コマンドまたは USE コマンドが先行しない WRITE /mnemonic コマンドを実行するときに、Caché が使用する既定のニーモニック空間の名前を入力します。
文字ベースのアプリケーションで、インタラクティブにデバイスを選択する %IS プログラマがこのユーティリティを文字ベースのアプリケーションで呼び出すと、ユーザは "Device:" プロンプトで Caché デバイス・ニーモニックを指定してデバイスを選択できます。Caché デバイスとそのニーモニックは、管理ポータルの [デバイス] オプションを使用して構成する必要があります。
スプール・ファイルで、印刷出力を保存する %SPOOL 詳細は、“スプール・デバイス” の章を参照してください。

既定デバイス

デバイス

Caché をインストールする際に、既定のデバイスが定義されます。これらは、管理ポータルの [デバイス] 構成サブセクションに表示されます。システム, 構成, デバイス設定, デバイス を選択します。定義済みのデバイスのリストが表示されます。

デバイス・サブタイプ

Caché には、多数の既定のデバイス・サブタイプが含まれています。各デバイス・サブタイプは、画面のサイズや改ページなどのデバイス特性を定義します。

サブタイプの一覧は、管理ポータルの [デバイスサブタイプ] 構成オプションにあります。システム, 構成, デバイス設定, サブタイプ を選択します。定義済みのサブタイプのリストが表示されます。

磁気テープ・デバイス

Caché には、いくつかの磁気テープ・デバイスも定義されています。磁気テープ・デバイスの一覧は、管理ポータルの [磁気テープデバイス] 構成オプションにあります。システム, 構成, デバイス設定, 磁気テープ を選択します。定義済みの磁気テープ・デバイスのリストが表示されます。磁気テープ・デバイスには、デバイス番号 47 から 62 を割り当てることができます。既定では、磁気テープ・デバイスにはデバイス番号 47、48、57、および 58 が割り当てられます (磁気テープ・デバイスは [デバイス] オプションにもリストされます)。

デバイスの識別

管理ポータルの [デバイス] 構成セクションでデバイスを定義するときは、次の 3 つのデバイス識別子を入力して、デバイスを指定します。

  • ニーモニック - %IS デバイス・プロンプトで使用します。

  • デバイス IDOPEN コマンドで使用します。

  • エイリアスOPEN コマンドのデバイス ID の場所に使用します。

これらのデバイス識別子には、次のように物理デバイス名より優れた性質があります。

  • ユーザが持つ物理デバイスの数にかかわらず、一意に論理デバイスを識別します。

  • 各論理デバイスに異なる特性を割り当てます。

  • ユーザ・アプリケーションは、プラットフォームごとに異なる実際の物理デバイス名を知らなくても、デバイスを参照できます。

デバイス識別子の使用法の詳細は、"デバイスへのアクセス" を参照してください。

デバイス・ニーモニック

特定のデバイスと 1 つ以上の ニーモニック を対応させることができます。%IS 文字ベース・ユーティリティにより発行された “Device:” プロンプトに応答して、ニーモニックを使用します。

ニーモニックには以下のような利点があります。

  • 柔軟性が高く、ニーモニック・ポイントの位置をユーザが変更でき、開発者がアプリケーションを変更する必要がありません。

  • ユーザにわかりやすく、開発者が覚えやすいようにできています。例えば、ニーモニック・プリンタでプリンタ・デバイスをセットアップしたり、あるいはファイル名のデバイス ID をセットアップし、ニーモニック・ファイルにその名をつけることができます。

デバイス ID

番号または他のオペレーティング・システム名により、デバイスを識別できます。この識別子を OPEN コマンドで使用します。

デバイス・エイリアス

ユーザが定義した Caché デバイスごとに、1 つ以上の エイリアス を定義できます。ユーザが OPEN コマンドでエイリアスを指定すると、Caché はこれをデバイス ID に変換します。

Caché が提供する既定のデバイス ID は、ほとんどのユーザに対し適切です。しかし、特に磁気テープ・デバイスについて、ユーザがこれらの既定を変更することが必要な場合もあります。これは、管理ポータルでデバイスの構成設定の一部としてエイリアスを入力することによって行えます。

既定のデバイス ID およびニーモニック

以下のテーブルは、Caché をインストールする場合の、各デバイス・タイプに対する既定デバイス番号およびニーモニックです。

既定のデバイス ID およびニーモニック
デバイス デバイス ID ニーモニック メモ
主デバイス 0 TERM このデバイスのデバイス ID を変更することはできません
スプーラ 2 SPOOL  
磁気テープ・ドライブ 47, 48 47, 48  
カートリッジ・テープ・ドライブ 57, 58 57, 58  
Note:

Caché は、デバイス ID 49 ~ 56、59 ~ 62 をサポートしていますが、インストール時にこれらの ID を初期化しません。ただし、これらの ID に収まらない台数の磁気テープ・デバイスやカートリッジ・テープ・デバイスがあっても、ニーモニック・フィールドに同じ値を指定することで、これらの ID のデバイス・エントリを追加できます。

しかし Caché は、ユーザがデバイスの定義に使用する他のデバイス番号も認識します。以下のテーブルは、認識されるデバイス番号のリストを示します。

Caché 既定のデバイス番号
デバイス番号 タイプ 定義
0 主デバイス インタラクティブなプロセスの場合、これはユーザがログインするターミナルです。Caché ジョブ起動プロセスの場合は NULL デバイス (既定)、ジョブ起動プロセスを生成するジョブ・コマンドの場合は引数リストにあるデバイスです。
1 cconsole.log このデバイス番号を使用して、エラー・メッセージや他の特別なメッセージをシステム・コンソール・ログに送信します。例えば、ターミナルから OPEN 1 USE 1 WRITE "This is a test" CLOSE 1 を発行すると、指定された文字列がコンソール・ログに書き込まれます。WriteToConsoleLog()Opens in a new tab メソッドも参照してください。
2 Caché システム・スプーラ これは、出力を保存するグローバルです。これにより、別の時に物理入出力デバイスに出力を送信できます。
47-62* 磁気テープ 最高 16 個までのテープ・ドライブをサポートします。インストール時には、47、48、57、および 58 の 4 つの磁気テープ・デバイス番号のみが定義されます。5 台以上の磁気テープ・デバイスがある場合は、別の番号を定義できます。
63 表示バッファ VIEW コマンドおよび $VIEW 関数を併用し、メモリとディスクの間でデータを移動します。
20-46, 200-223 ルーチン・インタロック・デバイス DSM ロック・アプリケーションとの互換性を提供します。
4-19, 64-199, 224-255, 2048-2375 IJC デバイス インタジョブ・コミュニケーション論理デバイス (IJC デバイス)。Caché プロセス間での情報の移動に使用します。これらのデバイスの可用性を制御できます。詳細は、“Caché プロセス間の通信” を参照してください。
なし NULL デバイス /dev/ または NL:。表示しない出力を廃棄するために使用する NULL デバイス。
256-2047 ターミナル、プリンタ、フラット・ファイル  
Note:

* デバイス 50 には、2048 のハードコードされたブロックサイズがあります。

デバイス・タイプ

ニーモニックやデバイス番号に加え、Caché は入出力デバイス・タイプをサポートします。各内部デバイス番号は、以下のいずれかのタイプに属します。以下のテーブルは、デバイス・タイプを示します。

タイプ 意味
TRM ターミナル
SPL スプール・デバイス
MT 磁気テープ・ドライブ
BT カートリッジ・テープ・ドライブ
IPC インタープロセス通信デバイス
OTH その他のデバイス (プリンタなど)

デバイスの定義

管理ポータルの [デバイス] 構成設定で、デバイスを定義、編集、削除します。入力した情報は、^%IS グローバルに格納されています。このグローバルについての詳細は、"^%IS グローバルの構造" のセクションを参照してください。

Caché の稼動中にデバイスを変更した場合、Caché を再起動せずに変更を有効にするかどうかを尋ねられます。変更を有効にすることに同意した場合、すぐに新規の定義が利用できるようになります。

磁気テープ・デバイスの管理

Caché は、CPU ごとに 16 個までのテープ・ドライブをサポートします。使用しているシステムがサポートしているテープ・ドライブであれば、Caché でも使用できます。

磁気テープ・デバイスの定義

Caché で磁気テープ・デバイスを使用する前に、管理ポータルの [磁気テープ] 構成設定で、これを定義する必要があります。以下の手順で実行します。

  1. システム, 構成, デバイス設定, 磁気テープ を選択します。現行の磁気テープ・デバイスのリストが表示されます。

  2. [新規磁気テープの作成] をクリックします。

  3. 物理的な磁気テープ・デバイスの名前を入力します (「\\.\TAPE1」など)。

  4. 磁気テープ・デバイスのためのデバイス番号を入力します (47 から 62 の範囲内)。

  5. [保存] をクリックすると、変更内容が保存されます。

古い割り当ての削除

古い磁気テープ・デバイス定義は削除し、ユーザが不注意で選択しないようにします。

多くのユーティリティでは、磁気テープ・デバイスやカートリッジ・テープ・デバイスを開くことができなかったときに、15 秒間待機するかどうかをユーザに尋ねます。このようなユーティリティとして、%GIF%GOF%RIMF%ROMF などがあります。ユーザが “はい” と答えた場合、または 10 秒以内に応答しなかった場合、継続して待機するかどうかをユーザが決定できます。ユーザが待機しないと指定した場合、システムはデバイスを開きません。

デバイスへのアクセス

Windows システム用 Caché では、磁気テープ・デバイス、インタジョブ・コミュニケーション・デバイス、ルーチン・インタロック・デバイスに対して、必ずデバイス番号を使用します。ターミナルやプリンタに対しては、ユーザが割り当てたデバイスのニーモニックやデバイス番号を使用できます。

UNIX® システム用の Caché では、UNIX® ファイル仕様を使用してファイルを参照したり、ファイルを参照するデバイス番号を設定したりできます。

デバイスにアクセスするには、以下の 2 つのうちのいずれかの方法を使用します。

  • %IS ユーティリティの “Device:” プロンプトで、デバイスのニーモニックを入力します。

  • OPEN コマンドを呼び出し、デバイス ID あるいはエイリアスを入力します。

%IS ユーティリティでユーザがデバイスを選択できるようにする

文字ベースのアプリケーションを使用するユーザが、デバイスをインタラクティブに選択できるようにするには、アプリケーションの %IS ユーティリティを呼び出します。%IS ユーティリティの詳細は、"ユーザによるデバイスの指定" を参照してください。

%IS ユーティリティを使用して、デバイスを選択するには、次の手順に従います。

  1. “Device:” プロンプトで、デバイスのニーモニックを入力します。

    事前定義のニーモニック空間
    ニーモニック 対応するデバイス
    <ENTER> ターミナル画面
    SPOOL スプーラ
    2 スプーラ
    |PRN| 既定の Windows のプリンタ
    ファイル名 : MYFILE.TXT DEV$:[TEST]MYFILE.TXT C:\MGR\MYFILE.TXT 指定したパスのファイル。パス指定がない場合は、現在のディレクトリ。
    47, 48 磁気テープ・ドライブ
    57, 58 カートリッジ・テープ・ドライブ
  2. デバイスのタイプによって、別のプロンプトが表示される場合もあります。

    デバイス・ユーティリティ
    デバイス プロンプト 有効な応答
    ターミナル Right Margin 行ごとの文字の数を表す数字
    プリンタ Right Margin 行ごとの文字の数を表す数字
    スプーラ Name (of file) プラットフォームの有効なファイル名。パスはオプション。
    磁気テープ Parameters Rewind? デバイス・タイプに対する OPEN コマンドの有効なパラメータ・リスト
    ファイル名 Parameters デバイス・タイプに対する OPEN コマンドの有効なパラメータ・リスト

OPEN コマンドによるデバイスへのアクセス

Caché プログラマ・プロンプトあるいは ObjectScript アプリケーションで OPEN コマンドを使用して、読み取るあるいは書き込む特定のデバイスを開きます。デバイスの指定には、デバイス ID またはそのエイリアスを使用できます。

デバイスとの相互運用レベル

%IS またはOPEN コマンドと併用するデバイス識別子は、相互運用のレベルで 3 段階に分けられます。したがって、%IS グローバルの “Device:” プロンプトでニーモニック 47 を入力しても、最終的に使用されるデバイス ID は異なる場合があります。以下で、その 3 段階について説明します。

レベル 1 : %IS ユーティリティ・レベル

デバイスが %IS ユーティリティで選択されている場合、この最初のレベルが使用されます。^%IS グローバルのニーモニックは、デバイス番号と対応付けられます。その後、%IS ユーティリティは、そのデバイス番号に OPEN コマンドを発行します。

レベル 2 : OPEN コマンド・レベル

OPEN コマンド内で、Caché はデバイス・パネル・テーブルのエイリアス列にこの番号があるかどうかを確認します。番号があれば、これを実際のデバイス番号、あるいはそのデバイスの名前に変換します。

Note:

^%IS のニーモニックを使用してデバイスにアクセスする場合は、デバイス ID が一致していても、関連付けられたデバイスが異なるエイリアスを定義しないようにしてください。

レベル 3 : 磁気テープ変換

デバイス番号が磁気テープ・クラスのデバイス番号である場合、管理ポータルの [磁気テープ] 構成設定がチェックされ、アクセスする物理テープ・ドライブ・デバイスが確認されます。

既定のニーモニック空間の定義

プログラマは、アプリケーションで WRITE /mnemonic コマンドを使用して、デバイスを制御できます。例えば、%X364 ニーモニック空間を使用するときに、ターミナル・デバイスの現在の行の特定の列に、カーソルを移動することができます。

  WRITE /CHA(column)

ニーモニックの特定の値によって発生するアクションは、WRITE コマンドが使用しているニーモニック空間によって決まります。ニーモニック空間とは、デバイスのアクションおよび属性を定義するエントリ・ポイント (ニーモニック) を持つルーチンです。

WRITE コマンドは、デバイスに対する OPEN コマンドや USE コマンドで定義されたニーモニック空間を使用します。OPEN コマンド、または USE コマンドにニーモニック空間の引数が含まれない場合、Caché はデバイス・タイプに対する既定のニーモニック空間を使用します。

ニーモニック空間の詳細は、ドキュメントを参照してください。

事前定義のニーモニック空間

Caché には、以下のテーブルで示すように、2 種類の事前に定義された (既定の) ニーモニック空間が用意されています。

事前定義のニーモニック空間
ルーチン名 説明
^%XMAG 磁気テープ用ニーモニック空間です。磁気テープ・デバイス起動時の既定です。
^%X364 X3.64 (ANSI) ターミナル用ニーモニック空間です。ターミナル、シーケンシャル・ファイル、および磁気テープ以外のその他のすべてのデバイス起動時の既定です。

事前に定義されたニーモニック空間は、以下のデバイスに対する既定のニーモニック空間です。

  • シーケンシャル・ファイル (^%X364)

  • 磁気テープ (^%XMAG)

  • ターミナル (^%X364)

  • シーケンシャル・ファイル (^%X364)

これらの既定値は、管理ポータルで定義します。システム, 構成, デバイス設定, IO設定 を選択します。

ユーザ独自のニーモニック空間ルーチンを作成するには、4 つのデバイス・タイプのうち 1 つ以上のタイプに対して Caché が使用している、既定のニーモニック空間を変更します。

FeedbackOpens in a new tab