Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。
iノード域の確保は、伝統的UNIXと同じigetという関数で実現されている。igetは指定されたiノード番号に対応するiノード域を確保し返却する。iノード域の初期化は各ファイルシステムが行う。
iget(スーパブロック, iノード番号, ...) if(iノードキャッシュ内に目的のiノードが見つかった(find_inode関数)) return 見つかったiノード iノード番号に対応するメモリiノードを作成する(get_new_inode関数) return 新規に作成したiノード
キャッシュ内に目的のiノードが見つからなかった場合、以下のget_new_inode関数により、空のiノード域を確保し初期化を行う。
get_new_inode(iノード番号) iノード域の確保(alloc_inode関数) iノード域をinode_in_useリストに繋ぐ iノード域をキャッシュに登録 iノード初期化 ディスクinode域の読み込み(read_inodeオペレーション) return 拡張したiノード域
(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST1
[PageInfo]
LastUpdate: 2008-08-27 14:18:06, ModifiedBy: hiromichi-m
[Permissions]
view:all, edit:login users, delete/config:members