Таблица представляет собой массив записей типа inode, каждая из которых хранит всю информацию об одном файле: тип (обычный файл, директория, символьная ссылка и т. д.), схема размещения на диске, логический/физический размер, дата/время создания/ модификации/последнего доступа/удаления, количество ссылок на файл и правда доступа (см. листинг 2).
смещение размер описание
------- ------- -----------
0 2 i_mode ; формат представления описание
2 2 i_uid ; uid пользователя
4 4 i_size ; размер файла в байтах
8 4 i_atime ; время последнего доступа к файлу
12 4 i_ctime ; время создания файла
16 4 i_mtime ; время модификации файла
20 4 i_dtime ; время удаления файла
24 2 i_gid ; gid группы
26 2 i_links_count ; количество ссылок на файл (0 – файл удален)
28 4 i_blocks ; количество блоков, принадлежащих файлу
32 4 i_flags ; разные флаги
36 4 i_osd1 ; OS dependant value
40 12 x 4 i_block ; 12 DIRECT BLOCKS (ссылки на первые 12 блоков файла)
88 4 i_iblock ; 1x INDIRECT BLOCK
92 4 i_2iblock ; 2x INDIRECT BLOCK
96 4 i_3iblock ; 3x INDIRECT BLOCK
100 4 i_generation ; поколение файла (используется NFS)
104 4 i_file_acl ; внешние
атрибуты
108 4 i_dir_acl ; higer size
112 4 i_faddr ; положение последнего фрагмента
116 12 i_osd2 ; OS dependant structure
Листинг 2 формат представления inode
Схема размещения файла на диске организована намного проще, чем в NTFS и FAT. Каждый файл занимает один или несколько блоков. Даже если блок занят только частично, он выделяется файлу целиком (в остальных файловых системах, таких например, как UFS, предусмотрена возможность выделения файлу только части блока, а в NTFS и ReiserFS мелкие файлы могут храниться непосредственно в самой inode, что существенно уменьшает фрагментацию и увеличивает производительность), но вернемся к ext2fs/ext3fs.