Inode

inode（アイノード）は、ext2などのUnix系ファイルシステムで古くから使われているデータ構造である。inode にはファイル、ディレクトリなどのファイルシステム上のオブジェクトに関する基本情報が格納される。
ReiserFSなどの最近のUnix系ファイルシステムでは inode を使用していないが、同等の機能を提供するには同等の情報をどこかに格納しなければならない。codice_1システムコールがそれらのデータをプログラム向けに提供するので、これを statデータと呼ぶことがある。
概要.
Linuxでは、このようなデータのカーネルでのメモリ上の表現を codice_2 と呼ぶ。BSD系システムでは codice_3 と呼ぶが、この "vnode" の "v" はカーネル内の 仮想ファイルシステム層から来ている。
POSIX標準で規定されているファイルシステムの動作は従来からのUNIXファイルシステムに大きく影響されている。通常ファイルは以下のような属性を持つことを要求されている:
"inode" という用語はブロックデバイス上の inode も意味し、通常ファイルやディレクトリや場合によってはシンボリックリンクにも対応している。この概念は破損したファイルシステムのリカバリにおいて特に重要である。
inode 番号は、その inode が記録されているデバイス上で一意の整数値である。全てのファイルは inode に物理的にリンクされている。プログラムがファイルをファイル名で参照するとき、システムはそのファイル名に対応する inode を検索する。
codice_1システムコールはファイルの inode 番号やその他の inode 内の情報の一部を得る機能である。
"inode" の "i" が何を意味するのかは不明確である。UNIXの開発者デニス・リッチーは、それを聞かれたとき以下のように述べている:
関連.
ファイルシステムに慣れていないユーザーの多くは、inode のコンセプトを利用するファイルシステムの特性に驚く。
実用上の考慮.
UNIXオペレーティングシステムのシステムアドミニストレータが使用するプログラムには、ファイルを特定するために inode 番号を表示するものがある。ハードディスクの健全性チェックユーティリティのcodice_5やcodice_6がそのようなコマンドの例である。そこで inode 番号をファイルのパス名に変換する（およびその逆変換をする）必要が生じる。これはファイル名検索ユーティリティ codice_7（の codice_8 オプション）や codice_9 コマンドに適当なオプション（多くの場合 codice_10）を付けることで実現される。
また、「ファイルが削除された際に何らかのプロセスがそのファイルを使用している場合、そのプロセスからはアクセスが継続できる。」という特徴がセキュリティ上問題となる場合がある。例えば、多くのプロセスが参照しているライブラリのセキュリティアップデートを適用した後、当該プロセスからは旧バージョンのライブラリにアクセスし続けるため、脆弱性が完全に修正されないという事態が発生する。したがって、特にシステムの中核に位置するようなライブラリをアップデートした際には動作上問題がなくてもシステムを再起動する等の対策が必要となってくる。
トリビア.
International Association of Computer Investigative Specialists (IACIS)の2003年の会議で、"inode" は "I'm Not Operating DOS Ever"（DOSなど二度と触るか）の略であるという提案がなされた。しかし、全くの嘘として退けられた。