IFS

27. HFS と IFS のちがい

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が普及していない原因は
このあたりにあるようである。