Структура файлового дескриптора ФС
Индексный дескриптор, или inode, содержит информацию о файле, необходимую для обработки данных, т. е. метаданные файла. Каждый файл ассоциирован с одним inode, хотя может иметь несколько имен в файловой системе, каждое из которых указывает на один и тот же inode.
* Structure of an inode on the disk
*/
struct ext3_inode {
__le16 i_mode; /* файловый режим */
__le16 i_uid; /* младшие 16 бит владельца Uid */
__le32 i_size; /* размер в байтах */
__le32 i_atime; /* время доступа */
__le32 i_ctime; /* время создания */
__le32 i_mtime; /* время изменения */
__le32 i_dtime; /* время удаления */
__le16 i_gid; /* младшие 16 бит ID группы */
__le16 i_links_count; /* количество ссылок */
__le32 i_blocks; /* количество блоков */
__le32 i_flags; /* флаги файла */
union {
struct {
__u32 l_i_reserved1;
} linux1;
struct {
__u32 h_i_translator;
} hurd1;
struct {
__u32 m_i_reserved1;
} masix1;
} osd1; /* зависимость операционной системы 1 */
__le32 i_block[EXT3_N_BLOCKS];/* ссылки на блоки */
__le32 i_generation; /* версия файла (для NFS) */
__le32 i_file_acl; /* Расширенные права доступа (ACL) */
__le32 i_dir_acl; /* ACL для каталога */
__le32 i_faddr; /* адрес фрагмента */
union {
struct {
__u8 l_i_frag; /* количество фрагментов */
__u8 l_i_fsize; /* размер фрагмента */
__u16 i_pad1;
__le16 l_i_uid_high; /* зарезервировано */
__le16 l_i_gid_high; /* зарезервировано */
__u32 l_i_reserved2;
} linux2;
struct {
__u8 h_i_frag; /* количество фрагментов */
__u8 h_i_fsize; /* размер фрагмента */
__u16 h_i_mode_high;
__u16 h_i_uid_high;
__u16 h_i_gid_high;
__u32 h_i_author;
} hurd2;
struct {
__u8 m_i_frag; /* количество фрагментов */
__u8 m_i_fsize; /* размер фрагмента */
__u16 m_pad1;
__u32 m_i_reserved2[2];
} masix2;
} osd2;
__le16 i_extra_isize;
__le16 i_pad1;
};
Вывод
В ходе выполнения лабораторной работы было установлено удобство работы с файловой системой в Unix c помощью таких обширных команд как: “find”, “grep”, “cat”. Был использован встроенный архиватор “tar”. Было изучено организацию файловой системы Unix и возможность монтирования к базовой файловой системы других ФС, а так же их форматирование и размонтирование.