|
inode(あいのーど)は、ext2などのUnix系ファイルシステムで古くから使われているデータ構造である。inode にはファイル、ディレクトリなどのファイルシステム上のオブジェクトに関する基本情報が格納される。 ReiserFSなどの最近のUnix系ファイルシステムでは inode を使用していないが、同等の機能を提供するには同等の情報をどこかに格納しなければならない。 stat システムコールがそれらのデータをプログラム向けに提供するので、これを statデータと呼ぶことがある。== 概要 == Linuxでは、このようなデータのカーネルでのメモリ上の表現を struct inode と呼ぶ。BSD系システムでは vnode と呼ぶが、この ''vnode'' の ''v'' はカーネル内の 仮想ファイルシステム層から来ている。POSIX標準で規定されているファイルシステムの動作は従来からのUNIXファイルシステムに大きく影響されている。通常ファイルは以下のような属性を持つことを要求されている: * ファイルの長さ(バイト数) * デバイスID(ファイルを格納しているデバイスを識別) * ファイル所有者のユーザーID * ファイルのグループID * ファイルシステム内でファイルを識別する inode 番号 * ファイルモード(ファイルパーミッション) * 最終 inode 更新時(ctime)、最終ファイル更新時(mtime)、最終参照時(atime) を示すタイムスタンプ群 * その inode を指すハードリンクがいくつあるかを示す参照カウント ''inode'' という用語はブロックデバイス上の inode も意味し、通常ファイルやディレクトリや場合によってはシンボリックリンクにも対応している。この概念は破損したファイルシステムのリカバリにおいて特に重要である。 inode 番号は、その inode が記録されているデバイス上で一意の整数値である。全てのファイルは inode に物理的にリンクされている。プログラムがファイルをファイル名で参照するとき、システムはそのファイル名に対応する inode を検索する。 stat システムコールはファイルの inode 番号やその他の inode 内の情報の一部を得る機能である。''inode'' の ''i'' が何を意味するのかは不明確である。UNIXの偉人デニス・リッチーは、それを聞かれたとき以下のように述べている: : 実際、私にもわからない。我々が使い始めたときは単なる用語だった。たぶん "index" が元になっているんじゃないかと思う。というのはちょっと変わったファイルシステム構造があって、ディレクトリを使った階層構造があるのに全てのファイルのアクセス情報をディスク内のフラットな配列に格納していたんだ。だから i-number というのはその配列のインデックスで、i-node はその配列の要素だろう。("i-" という書き方は初版のマニュアルで使われていたが、徐々にハイフンが無くなっていった)。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Inode」の詳細全文を読む スポンサード リンク
|