その他のファイル処理機能
- 1 遠隔ファイルアクセス(RFA)
-
NECの公式の説明書には次のように書いてあります
遠隔ファイルアクセス機能は分散処理指向の機能であり、通信回線により結合された遠隔地システムに設置されたファイルを、、通常のインラインプログラムでアクセス可能とする機能である。
〜中略〜
遠隔地システムのファイルが、あたかも自システム上にあるかのようにアクセスでき、ファイルがどのシステムにあるのかをプログラムで意識せずにアクセスすることが可能である。
[データ管理説明書(2009年11月版)−4.8 遠隔ファイルアクセス]よりWindowsのネットワークドライブと同じようなものだと思ってください。Windowsではネットワークドライブで、他のサーバのハードディスクにあるファイルをエクスプローラーで見たり、ワードやエクセルで開いたりできます。
NECのオフコンも遠隔ファイルアクセス機能というものを使って、他のNECのオフコンのハードディスクにあるファイルを#ABCで見たり、ユーザプログラムで開いたり実行したりできます。
少々設定が必要なので、Windowsのように相手先サーバのIPアドレスさえわかればすぐ見れる、というほど簡単ではないです。
詳細はA−VX/NETのところで説明します。
- 2 リレーショナル型データベース
-
A−VXでもリレーショナル型データベースが使用できます。
A−VXでは、データベースファイルの実態は複数索引順編成ファイルです。複数索引順編成ファイルに表というものをオーバーラップしてデータベースにしています。
データベースはまた別に説明します。
- 3 従来形式ファイル/大容量形式ファイル/拡張形式ファイル
-
A−VXは長い歴史があるため、何度も機能拡張が繰り返されています。ファイルシステムも同様です。主に従来形式ファイルと大容量形式ファイルの2種類があります。
ものすごい昔は、1ファイル1エクステントしかなく、エクステントのサイズが最大65,535セクタだったので、ファイルのサイズも最大65,535セクタでした。
1981年にファイルのマルチエクステントが採用されて、ファイルは最大4エクステント、1エクステントのサイズが65,535セクタとなり、ファイルサイズが最大 65,535 × 4 = 262,140 セクタとなります。(NECのオフコンのハードディスクの1セクタは256バイト)これが従来形式ファイルです。
この従来形式ファイルは、アロケータ(#ALLOC)で作成できます。その後、大容量形式ファイルという形式が作られました。1990年頃です。この形式は、1エクステントのサイズが最大1,048,575セクタとなっています。これにより、ファイルの最大サイズが 1,048,575 × 4 = 4,194,300 セクタとなりました。
またオーバーフローチェックなどのファイルのオプション機能も増えています。
大容量形式ファイルは、簡易操作ユーティリティ(#ABC)や新HIのシステムメニューの領域登録機能で作成できます。逆にこれらで従来形式ファイルは作成できません。一方、アロケータでは大容量形式ファイルは作成できません。(従来互換のため)拡張形式ファイルは、2004年に発売の拡張形式ファイルキットという別売りのオプション製品をインストールすると使用できます。
エクステントのサイズは変わりませんが、順編成ファイルと複数索引順編成ファイル(データ部)の最大エクステント数が8となっています。つまりファイルサイズが最大 1,048,575 × 8 = 8,388,600 セクタとなります。 拡張形式ファイルは、拡張形式ファイルキットのユーティリティで作成できます。A−VX OSに標準で付いているアロケータ(#ALLOC)や簡易操作ユーティリティ(#ABC)などでは作ることができません。普段はこの3つのファイルを意識する必要はありません。従来形式ファイルから大容量形式ファイルへコピーしたりもできるし、プログラムでもどの形式のファイルかなど意識する必要もありません。
従来形式と大容量形式の使い分けですが、特に使い分ける必要はなく、常に大容量形式ファイルを使えばいいでしょう。
普段は意識する必要はないのですが、意識しなければならない場面が少数ですが存在します。ファイルを解放、拡張、縮小、変更、追加をするときは、割り当て(アロケート)したときと同じユーティリティを使用した方がいいです。従来形式ファイルと大容量形式ファイルはエクステントサイズが異なることからわかる通り、エクステントに関係するファイルの変更は、割り当てしたときと同じユーティリティで行わないといけないだろうということは予想できると思います。複数索引順編成ファイルのデータファイルとキーファイルは同一のユーティリティで作成しなければなりません。具体的には、#ALLOCでファイルを作ったのなら、そのファイルを変更するときは#ALLOCを使う、#ABCでファイルを作ったのなら、そのファイルを変更するときは#ABCを使いましょう、ということです。
私の個人的な経験上は、ファイルの削除ぐらいならアロケートしたときとは別のユーティリティでも問題なくできそうな感じです。
従来形式ファイルをアクセスするときは、OS内部で大容量形式ファイルのアクセスから従来形式ファイルへのアクセスへ変換を行うため、若干性能が落ちます。
(訂正)以前、SMARTで作ったファイルは従来形式ファイルと書いていましたが、改めてSMARTのファイル生成機能でファイルを作ってみたところ大容量形式ファイルで作られていました。ということでSMARTのファイル生成機能で作られたファイルは大容量形式ファイルであると訂正いたします。もしかしたら、昔はSMARTで作ったファイルは従来形式ファイルだったのだが、どこかの時点でSMARTがバージョンアップして容量形式ファイルになったのかもしれません。この辺りはよくわかりませんし、確認しようがないので、必要でしたら各自実際にファイルを作成してどちらの形式になるか確認をお願いします。