Show page source of internal24-86-メモリiノードの解放 #25010

[[PageNavi(internal24-navi)]]

{{{ comment
h2w-title:メモリiノードの解放
}}}
 

= メモリiノードの解放 = #SECTION03430000000000000000

利用が終わったiノード域の解放は下記iput関数にて実現されている。iノード域の解放といっても、メモリ上から消えてなくなる訳ではなく、iノード域の参照数を一つ減らすだけである。参照数が0でも即フリーリストに戻される訳ではなく、フリーリストinode_unusedに戻す候補となるだけである。

{{{
   iput(iノード)
         iノードの参照数を一つ減らす
         if(参照数が1以上なら) return;
         if(既にファイルが削除されている) {
               iノードキャッシュのリンクを切る
               iノードにリンクされているページキャッシュの解放
               ディスク上のiノードの解放(後で詳しく説明)
               メモリiノード域の解放
         } else {
               inodeをinode_unusedリストに繋ぎ直す。
         }
}}}

----

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

[[PageNavi(internal24-navi)]]