API のマニュアルには IFS とよく似た HFS(=Hierarchical File System)というものがある。
HFSの日本語訳は「階層化ファイル・システム」であるので
IFS(=Integrated File System)「統合化ファイル・システム」とどのようにちがうのだろう?
HFS もIFSと同じようにストリーム・ファイルをフォルダーに分けて管理するファイル構造であることは
IFS と全く同じであるる。
実は HFS は IFSが出来る前から存在していた。
IBM i がILEとして生まれ変わったのが OS V3R1M0 からであるが HFSはそれ以前から存在していた。
HFS は /QDLS配下の文書を保管し処理するための構造である。
それまでIBM i のデータはライブラリー・システムとして一定の同じレコード長のファイルを
処理するものであったが文書のようなストリー・ファイルも管理できるように
開発されたのが HFSである。
HFS は /QDLS をWRKLNKで確認することができる
オブジェクト・リンクの処理 ディレクトリー . . : /QDLS オプションを入力して,実行キーを押してください。 2= 編集 3= コピー 4= 除去 5= 表示 7= 名前の変更 8= 属性の表示 11= 現行ディレクトリーの変更 ... OPT オブジェクト・リンク タイプ 属性 テキスト . FLR .. FLR QDIADOCS FLR QFOSDIA FLR QFOS2924 FLR QGA400RT FLR QIWSADM FLR QOTTMFLR FLR
それでは IFS は HFSの拡張かというとそうではない。
IBM は HFSはライブラリー・システムの延長であるが IFSは UNIX互換のファイル・システムであり
アーキテクチャーが全く異なるものであると説明している。
HFS にも IFS と同じようなAPIがいくつも用意されているが
HFS の API は /QDLS配下のオブジェクトには有効に機能するが IFSのオブジェクトには
機能しないことを確認した。
ただし MOV, CPYなどのコマンドは双方向に使えるようである。
上の画面でわかるように /QDLS配下では IFS のように DIR(ディレクトリー)ではなく
FLD(フォルダー)として表示されている。
文書をIBM i に保存して管理したい目的があれば HFSに保管することになるだろうが
HFSの文書を読むには HFS の専用APIしか使えないので HFSが普及していない原因は
このあたりにあるようである。