入出力デバイス
InterSystems IRIS® は、物理デバイスと論理デバイスの両方でさまざまな種類のデバイスをサポートしています。この章では、以下について説明します。
InterSystems IRIS は、物理入出力デバイスおよび論理入出力デバイスの両方をサポートします。サポートされる物理デバイスは、以下のとおりです。
サポートされる論理デバイスは、以下のとおりです。
デバイス制御ユーティリティ
デバイスを管理するための ObjectScript ユーティリティがいくつか用意されています。以下のテーブルは、これらのユーティリティの要約、およびこれらにアクセスするための別の方法を示しています。
InterSystems IRIS デバイス・ユーティリティ
動作 |
ユーティリティ |
説明 |
デバイスの定義 |
管理ポータルのデバイス構成 |
ユーザが %IS ユーティリティでアクセスできるデバイスを定義します。そのデバイスは、%IS グローバルに格納されています。これらのデバイス定義を、編集、削除することができます。[デバイス] のサブセクションでは、ニーモニックおよびエイリアスを含むデバイスを定義しますが、既定のデバイスも提供されています。デバイスのサブタイプは [デバイスサブタイプ] のサブセクションで定義しますが、既定のサブタイプも提供されています。 |
既定のニーモニック空間の定義 |
管理ポータルの IO 構成オプション |
WRITE /mnemonic コマンドを使用してデバイスを制御できます。このパネルでは、ニーモニック空間指定の引数付きの OPEN コマンドまたは USE コマンドが先行しない WRITE /mnemonic コマンドを実行するときに、InterSystems IRIS が使用する既定のニーモニック空間の名前を入力します。 |
文字ベースのアプリケーションで、インタラクティブにデバイスを選択する |
%IS |
プログラマがこのユーティリティを文字ベースのアプリケーションで呼び出すと、ユーザは "Device:" プロンプトで InterSystems IRIS デバイス・ニーモニックを指定してデバイスを選択できます。InterSystems IRIS デバイスとそのニーモニックは、管理ポータルの [デバイス] オプションを使用して構成する必要があります。 |
スプール・ファイルで、印刷出力を保存する |
%SPOOL |
詳細は、“スプール・デバイス” の章を参照してください。 |
既定デバイス
デバイス
InterSystems IRIS をインストールする際に、既定のデバイスが定義されます。これらは、管理ポータルの [デバイス] 構成サブセクションに表示されます。[システム管理]、[構成]、[デバイス設定]、[デバイス] の順に選択します。定義済みのデバイスのリストが表示されます。
デバイス・サブタイプ
InterSystems IRIS には、多数の既定のデバイス・サブタイプが含まれています。各デバイス・サブタイプは、画面のサイズや改ページなどのデバイス特性を定義します。
サブタイプの一覧は、管理ポータルの [デバイスサブタイプ] 構成オプションにあります。[システム管理]、[構成]、[デバイス設定]、[デバイスサブタイプ] の順に選択します。定義済みのサブタイプのリストが表示されます。
デバイスの識別
管理ポータルの [デバイス] 構成セクションでデバイスを定義するときは、次の 3 つのデバイス識別子を入力して、デバイスを指定します。
-
ニーモニック - %IS デバイス・プロンプトで使用します。
-
デバイス ID - OPEN コマンドで使用します。
-
エイリアス - OPEN コマンドのデバイス ID の場所に使用します。
これらのデバイス識別子には、次のように物理デバイス名より優れた性質があります。
デバイス識別子の使用法の詳細は、"デバイスへのアクセス" を参照してください。
デバイス・ニーモニック
特定のデバイスと 1 つ以上の ニーモニック を対応させることができます。%IS 文字ベース・ユーティリティにより発行された “Device:” プロンプトに応答して、ニーモニックを使用します。
ニーモニックには以下のような利点があります。
デバイス ID
番号または他のオペレーティング・システム名により、デバイスを識別できます。この識別子を OPEN コマンドで使用します。
デバイス・エイリアス
ユーザが定義した InterSystems IRIS デバイスごとに、1 つ以上の エイリアス を定義できます。ユーザが OPEN コマンドでエイリアスを指定すると、InterSystems IRIS はこれをデバイス ID に変換します。
InterSystems IRIS が提供する既定のデバイス ID は、ほとんどのユーザに対し適切です。ただし、ユーザがこれらの既定を変更することが必要な場合もあります。これは、管理ポータルでデバイスの構成設定の一部としてエイリアスを入力することによって行えます。
既定のデバイス ID およびニーモニック
以下のテーブルは、InterSystems IRIS をインストールする場合の、各デバイス・タイプに対する既定デバイス番号およびニーモニックです。
既定のデバイス ID およびニーモニック
デバイス |
デバイス ID |
ニーモニック |
メモ |
主デバイス |
0 |
TERM |
このデバイスのデバイス ID を変更することはできません |
スプーラ |
2 |
SPOOL |
|
ただし、InterSystems IRIS は、ユーザがデバイスの定義に使用する他のデバイス番号も認識します。以下のテーブルは、認識されるデバイス番号のリストを示します。
InterSystems IRIS 既定のデバイス番号
デバイス番号 |
タイプ |
定義 |
0 |
主デバイス |
インタラクティブなプロセスの場合、これはユーザがログインするターミナルです。InterSystems IRIS ジョブ起動プロセスの場合は NULL デバイス (既定)、ジョブ起動プロセスを生成するジョブ・コマンドの場合は引数リストにあるデバイスです。 |
1 |
messages.log |
このデバイス番号を使用して、エラー・メッセージや他の特別なメッセージをシステム・メッセージ・ログに送信します。例えば、ターミナルから OPEN 1 USE 1 WRITE "This is a test" CLOSE 1 を発行すると、指定された文字列がメッセージ・ログに書き込まれます。WriteToConsoleLog()Opens in a new tab メソッドも参照してください。 |
2 |
InterSystems IRIS システム・スプーラ |
これは、出力を保存するグローバルです。これにより、別の時に物理入出力デバイスに出力を送信できます。 |
63 |
表示バッファ |
VIEW コマンドおよび $VIEW 関数を併用し、メモリとディスクの間でデータを移動します。 |
20-46, 200-223 |
ルーチン・インタロック・デバイス |
DSM ロック・アプリケーションとの互換性を提供します。 |
4-19, 64-199, 224-255, 2048-2375 |
IJC デバイス |
インタジョブ・コミュニケーション論理デバイス (IJC デバイス)。InterSystems IRIS プロセス間での情報の移動に使用します。これらのデバイスの可用性を制御できます。詳細は、“InterSystems IRIS プロセス間の通信” を参照してください。 |
なし |
NULL デバイス |
/dev/ または NL:。表示しない出力を廃棄するために使用する NULL デバイス。 |
256-2047 |
ターミナル、プリンタ、フラット・ファイル |
|
Note:
* デバイス 50 には、2048 のハードコードされたブロックサイズがあります。
デバイス・タイプ
ニーモニックやデバイス番号に加え、InterSystems IRIS は入出力デバイス・タイプをサポートします。各内部デバイス番号は、以下のいずれかのタイプに属します。以下のテーブルは、デバイス・タイプを示します。
タイプ |
意味 |
TRM |
ターミナル |
SPL |
スプール・デバイス |
IPC |
インタープロセス通信デバイス |
OTH |
その他のデバイス (プリンタなど) |
デバイスの定義
管理ポータルの [デバイス] 構成設定で、デバイスを定義、編集、削除します。入力した情報は、^%IS グローバルに格納されています。このグローバルについての詳細は、"^%IS グローバルの構造" のセクションを参照してください。
InterSystems IRIS の稼動中にデバイスを変更した場合、InterSystems IRIS を再起動せずに変更を有効にするかどうかを尋ねられます。変更を有効にすることに同意した場合、すぐに新規の定義が利用できるようになります。
デバイスへのアクセス
Windows システムでは、インタジョブ・コミュニケーション・デバイスおよびルーチン・インタロック・デバイスに対して、必ずデバイス番号を使用します。ターミナルやプリンタに対しては、ユーザが割り当てたデバイスのニーモニックやデバイス番号を使用できます。
UNIX® システムでは、UNIX® ファイル仕様を使用してファイルを参照したり、ファイルを参照するデバイス番号を設定したりできます。
デバイスにアクセスするには、以下の 2 つのうちのいずれかの方法を使用します。
%IS ユーティリティでユーザがデバイスを選択できるようにする
文字ベースのアプリケーションを使用するユーザが、デバイスをインタラクティブに選択できるようにするには、アプリケーションの %IS ユーティリティを呼び出します。%IS ユーティリティの詳細は、"ユーザによるデバイスの指定" を参照してください。
%IS ユーティリティを使用して、デバイスを選択するには、次の手順に従います。
-
“Device:” プロンプトで、デバイスのニーモニックを入力します。
事前定義のニーモニック空間
ニーモニック |
対応するデバイス |
<ENTER> |
ターミナル画面 |
SPOOL |
スプーラ |
2 |
スプーラ |
|PRN| |
既定の Windows のプリンタ |
ファイル名 : MYFILE.TXT DEV$:[TEST]MYFILE.TXT C:\MGR\MYFILE.TXT |
指定したパスのファイル。パス指定がない場合は、現在のディレクトリ。 |
-
デバイスのタイプによって、別のプロンプトが表示される場合もあります。
デバイス・ユーティリティ
デバイス |
プロンプト |
有効な応答 |
ターミナル |
Right Margin |
行ごとの文字の数を表す数字 |
プリンタ |
Right Margin |
行ごとの文字の数を表す数字 |
スプーラ |
Name (of file) |
プラットフォームの有効なファイル名。パスはオプション。 |
ファイル名 |
Parameters |
デバイス・タイプに対する OPEN コマンドの有効なパラメータ・リスト |
OPEN コマンドによるデバイスへのアクセス
ターミナルまたは ObjectScript アプリケーションで OPEN コマンドを使用して、読み取るあるいは書き込む特定のデバイスを開きます。デバイスの指定には、デバイス ID またはそのエイリアスを使用できます。
デバイスとの相互運用レベル
%IS またはOPEN コマンドと併用するデバイス識別子は、相互運用のレベルで 3 段階に分けられます。したがって、%IS グローバルの “Device:” プロンプトでニーモニック 47 を入力しても、最終的に使用されるデバイス ID は異なる場合があります。以下で、その 3 段階について説明します。
レベル 1 : %IS ユーティリティ・レベル
デバイスが %IS ユーティリティで選択されている場合、この最初のレベルが使用されます。^%IS グローバルのニーモニックは、デバイス番号と対応付けられます。その後、%IS ユーティリティは、そのデバイス番号に OPEN コマンドを発行します。
レベル 2 : OPEN コマンド・レベル
OPEN コマンド内で、InterSystems IRIS はデバイス・パネル・テーブルのエイリアス列にこの番号があるかどうかを確認します。番号があれば、これを実際のデバイス番号、あるいはそのデバイスの名前に変換します。
Note:
^%IS のニーモニックを使用してデバイスにアクセスする場合は、デバイス ID が一致していても、関連付けられたデバイスが異なるエイリアスを定義しないようにしてください。
既定のニーモニック空間の定義
プログラマは、アプリケーションで WRITE /mnemonic コマンドを使用して、デバイスを制御できます。例えば、%X364 ニーモニック空間を使用するときに、ターミナル・デバイスの現在の行の特定の列に、カーソルを移動することができます。
WRITE /CHA(column)
ニーモニックの特定の値によって発生するアクションは、WRITE コマンドが使用しているニーモニック空間によって決まります。ニーモニック空間とは、デバイスのアクションおよび属性を定義するエントリ・ポイント (ニーモニック) を持つルーチンです。
WRITE コマンドは、デバイスに対する OPEN コマンドや USE コマンドで定義されたニーモニック空間を使用します。OPEN コマンドまたは USE コマンドにニーモニック空間の引数が含まれない場合、InterSystems IRIS はデバイス・タイプに対する既定のニーモニック空間を使用します。
事前定義のニーモニック空間
InterSystems IRIS には、事前に定義された (既定の) ニーモニック空間 ^%X364 が用意されています。これは、X3.64 (ANSI) ターミナル用の既定のニーモニック空間です。ターミナル、シーケンシャル・ファイル、およびその他のデバイス起動時の既定です。
これらの既定値は、管理ポータルで定義します。[システム管理]、[構成]、[デバイス設定]、[IO設定] の順に選択します。
ユーザ独自のニーモニック空間ルーチンを作成するには、これらのデバイス・タイプのうち 1 つ以上のタイプに対して InterSystems IRIS が使用している、既定のニーモニック空間を変更します。