ファイル構造体の確保と解放

   filp_open(パス名)
         パス名に対応したdentryを求める(open_namei関数)
         dentry_open関数を呼び出す。

   dentry_open(dentry, ...)
         空きファイル構造体を獲得(get_empty_filp関数)
         ファイル構造体の初期化
           - ファイル構造体と上記dentryをリンク)
           - ファイル構造体のf_opメンバにファイル操作テーブルを登録
              (「vfsと各ファイルシステムのインターフェイス」参照)
         ファイルのopen関数(ファイルシステム固有部)を呼ぶ

ファイル構造体は、その参照数が0になると自動的に解放される。(つまり誰も参照しなくなったとき)その参照数を1減らす関数は、以下のfput関数である。

   fput(ファイル構造体)
       参照数を1減らす
       参照数が0になったら、フリーリストfree_listに戻す。


(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST
1