АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Листинг 8.10. Структура inode в USF2

Читайте также:
  1. B) социально-стратификационная структура
  2. III. СТРУКТУРА И ОРГАНЫ УПРАВЛЕНИЯ ПРИХОДА
  3. VI. Рыночный механизм. Структура рынка. Типы конкурентных рынков
  4. VIII. Формирование и структура характера
  5. А. Лінійна організаційна структура
  6. Автоматизовані банки даних (АБД), їх особливості та структура.
  7. Адміністративна структура БМР має три органи: загальні збори акціонерів, рада директорів і правління.
  8. Адхократическая структура
  9. Акти застосування права: поняття, ознаки, види, структура
  10. АЛЕКСИТИМИЯ И ПСИХОСОМАТИЧЕСКАЯ СТРУКТУРА
  11. Анормальная структура мозга
  12. Антигенная структура бактерий. Серотипирование.

struct ufs2_dinode {

/* 0x00 */ u_int16_t di_mode; /* 0: IFNT, права доступа; */

/* см. ниже */

/* 0x02 */ int16_t di_nlink; /* 2: Счетчик ссылок */

/* 0x04 */ u_int32_t di_uid; /* 4: Владелец файла */

/* 0x08 */ u_int32_t di_gid; /* 8: Группа файла */

/* 0x0C */ u_int32_t di_blksize; /* 12: Размер блока Inode */

/* 0x10 */ u_int64_t di_size; /* 16: Счетчик байтов файла */

/* 0x18 */ u_int64_t di_blocks; /* 24: Практически занятые байты */

/* 0x20 */ ufs_time_t di_atime; /* 32: Время последнего доступа */

/* 0x28 */ ufs_time_t di_mtime; /* 40: Время последней */

/* модификации */

/* 0x30 */ ufs_time_t di_ctime; /* 48: Время последнего */

/* изменения inode */

/* 0x38 */ ufs_time_t di_birthtime; /* 56: Время создания Inode */

/* 0x40 */ int32_t di_mtimensec; /* 64: Время последней */

/* модификации */

/* 0x44 */ int32_t di_atimensec; /* 68: Время последнего доступа */

/* 0x48 */ int32_t di_ctimensec; /* 72: Время последнего доступа */

/* 0x4C */ int32_t di_birthnsec; /* 76: Время создания Inode */

/* 0x50 * / int32_t di_gen; /* 80: Номер генерации */

/* 0x54 */ u_int32_t di_kernflags; /* 84: Флаги ядра */

/* 0x58 */ u_int32_t di_flags; /* 88: Флаги статуса (chflags) */

/* 0x5C */ int32_t di_extsize; /* 92: Блок внешних атрибутов */

/* 0x60 */ ufs2_daddr_t di_extb[NXADDR]; /* 96: Блок внешних атрибутов */

/* 0x70 */ ufs2_daddr_t di_db[NDADDR]; /* 112: Непоср. дисковые блоки */

/* 0xD0 */ ufs2_daddr_t di_ib[NIADDR]; /* 208: Косв. дисковые блоки */

/* 0xE8 */ int64_t di_spare[3]; /* 232: Зарезервировано */

};

Имена файлов хранятся в каталогах (рис. 8.12). В индексных дескрипторах их нет. С точки зрения UFS, каталоги являются файлами особого типа и могут храниться по любому адресу, принадлежащему группе цилиндров. Файловая система UFS поддерживает несколько типов хеширования каталогов, однако на структуре хранения имен это никак не отражается. Имена хранятся в блоках, называемых DIRBLKSIZ, в структурах типа direct, выровненных по 4-х байтной границе.

Рис. 8.12. Хранение имен файлов и каталогов

Структура direct определена в файле /src/ufs/ufs/dir.h (листинг 8.11) и содержит: номер inode, описывающий данный файл, тип файла, его имя, а также длину самой структуры direct, используемую для нахождения следующей структуры этого типа в блоке.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.)