[[PageNavi(internal22-navi)]]
{{{ comment
h2w-title:メモリiノードの解放
}}}
= メモリiノードの解放 = #SECTION03430000000000000000
利用が終わったiノード域の解放は下記iput関数にて実現されている。iノード域の解放といっても、メモリ上から消えてなくなる訳ではなく、iノード域の参照数を一つ減らすだけである。参照数が0でも即フリーリストに戻される訳ではなく、フリーリストinode_unusedに戻す候補となるだけである。
{{{
iput(iノード)
iノードの参照数を一つ減らす
if(参照数が1以上なら) return;
if(既にファイルが削除されている) {
iノードキャッシュのリンクを切る
ディスク上のiノードの解放(後で詳しく説明)
}
if(iノードキャッシュ上にない) {
iノードをフリーリストinode_unusedにリンク
} else {
iノードをリストinode_in_useにリンク
}
}}}
----
''(NIS)HirokazuTakahashi [[BR]]2000年06月11日 (日) 22時29分57秒 JST''1
[[PageNavi(internal22-navi)]]