Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。
利用が終わったiノード域の解放は下記iput関数にて実現されている。iノード域の解放といっても、メモリ上から消えてなくなる訳ではなく、iノード域の参照数を一つ減らすだけである。参照数が0でも即フリーリストに戻される訳ではなく、フリーリストinode_unusedに戻す候補となるだけである。
iput(iノード) iノードの参照数を一つ減らす if(参照数が1以上なら) return; if(既にファイルが削除されている) { iノードキャッシュのリンクを切る iノードにリンクされているページキャッシュの解放 ディスク上のiノードの解放(後で詳しく説明) メモリiノード域の解放 } else { inodeをinode_unusedリストに繋ぎ直す。 }
(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST1
[PageInfo]
LastUpdate: 2008-08-27 14:17:43, ModifiedBy: hiromichi-m
[Permissions]
view:all, edit:login users, delete/config:members