Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Білет 7.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
56.95 Кб
Скачать

1.5.2.1. Головна таблиця файлів

Найбільш важливою частиною файлової системи на диску є головна таблиця файлів (MFT, Master File Table). Ця таблиця містить записи про всі файли і каталогах, розташованих на даному томі. Розмір запису становить один кластер, але не менше 1 Кб. Якщо метадані про файлі не поміщаються в одному записі, то можуть бути використані додаткові записи (не обов'язково сусідні).

Після форматування дискового тому, коли на ньому ще немає користувача файлів, MFT містить 16 записів, з яких 11 містять описи файлів метаданих, а 5 зарезервовані як додаткові. Список файлів метаданих досить цікавий.

Перший запис MFT описує саму MFT, яка теж вважається файлом. Це аж ніяк не формальність, оскільки MFT може, як і інші файли, складатися з декількох сегментів, розміщення яких задається в цьому записі.

Копія перших 16 записів MFT, яка зберігається як файл де-небудь в середині диска. Це дозволяє відновити метадані в разі пошкодження основного примірника MFT.

Журнал протоколювання транзакцій.

Файл інформації про томі: ім'я томи, серійний номер, дата форматування і т.п.

Файл з перерахуванням всіх атрибутів, використовуваних для опису файлів на даному томі. Таким чином, список атрибутів не є жорстко фіксованим і може бути розширений в наступних версіях NTFS.

Кореневий каталог томи.

Бітова карта зайнятості кластерів томи.

BOOT-сектор. Він як і раніше є першим сектором томи, але теж вважається файлом.

Файл, що складається з усіх дефектних кластерів на даному томі. Це дає підстави позначити в бітовій карті всі дефектні кластери як зайняті.

Файл, який містить всі різні дескриптори захисту, використовувані для файлів і каталогів даного тому (див. п. 3.8.4.2).

Файл, що задає пари великих / малих літер для всіх мов, підтримуваних Windows. Такі дані необхідні, оскільки імена файлів можуть містити літери обох типів, але в Windows за традицією регістр букв в іменах файлів не відрізняється (на відміну, наприклад, від UNIX).

Каталог, що містить ще 4 файлу метаданих, доданих в Windows 2000. До них відносяться:

 файл унікальних 16-байтових ідентифікаторів, створюваних Windows для кожного файлу, на який є ярлик або OLE-зв'язок; це дозволяє автоматично виправити ярлик, якщо вихідний файл був переміщений в інший каталог або навіть на інший комп'ютер в межах домену мережі;

 файл квот дискового простору, що виділяються кожному користувачеві;

 файл точок повторного аналізу, встановлених для каталогів даного тому;

 файл журналу змін, що відбуваються на томі.

Далі, починаючи з 17-ї позиції MFT, зберігаються записи метаданих про файли і каталогах, розміщених на даному томі.

Система намагається зберегти MFT безперервної, оскільки це прискорює звернення до всіх описаним в ній файлів. Для цього система намагається по можливості не позичати деяку область на початку диска під розміщення файлів, зберігаючи вільне місце для зростання MFT.

Атрибути файлу

Кожен запис MFT містить набір атрибутів, який може відрізнятися для різних файлів і каталогів.

Атрибут в NTFS складається з заголовка і значення, а заголовок, у свою чергу, містить тип атрибуту, його ім'я, довжину і дані про розміщення атрибута. Ім'я атрибута може бути відсутнім, інші поля обов'язкові. Тема атрибута завжди зберігається в самій запису MFT, а значення - або теж в самій запису (при цьому атрибут називається резидентним), або в кластері області даних (нерезидентний атрибут). Деякі типи атрибутів зобов'язані бути резидентними, для інших типів вибір розміщення залежить від наявності достатнього вільного місця в запису MFT. Якщо атрибут нерезидентний, то в заголовку зазначаються відомості про розміщення його значення на диску.

Розглянемо найбільш важливі типи атрибутів, використовуваних у записі про файл.

Attribute List (список атрібутів) - список атрібутів, з якіх Складається файл; містіть посилання на агентство номер запису MFT, де розташованій КОЖЕН атрибут; цею Рідко вікорістовуваній атрибут Потрібний Тільки в того випадка, ЯКЩО атрибути файлу не вміщаються в основному запісі и займають додаткові записами MFT ;

File Name (имя файлу) - цею атрибут містіть довге имя файлу в форматі Unicode, а такоже номер входу в табліці MFT для батьківського каталогу; ЯКЩО цею файл містіться в декількох каталогах, то у нього буде декілька атрібутів типом File Name; цею атрибут всегда винен буті резидентність;

MS-DOS Name (имя MS-DOS) - цею атрибут містіть имя файлу у форматі 8.3;

Version (версія) - атрибут містіть номер Останньоі Версії файлу;

Security Descriptor (дескриптор безпеки) - цею атрибут містіть інформацію про захист файлу: список прав доступу ACL (права доступу до файлу розглядаються нижчих в розділі «Контроль доступу до файлів») i поле аудиту, Яку візначає, Якого роду Операції над ЦІМ файлом нужно реєструваті ;

Volume Version (версия млой) - версия млой, вікорістовується позбав в системних файлах млой;

Volume Name (имя млой) - имя млой;

Data (дані) - містіть звічайні дані файлу;

MFT bitmap (бітова карта MFT) - цею атрибут містіть карту Використання блоків на томі;

Index Root (корінь індексу) - корінь В-дерева, что вікорістовується для поиска файлів в каталозі;

Index Allocation (размещения індексу) - нерезідентні Частини індексного списку У-дерева;

Standard Information (стандартна інформація) - цею атрибут зберігає всю іншу стандартність інформацію, якові Важко пов'язати з Якім-небудь з других атрібутів файлу, Наприклад, годину создания файлу, годину оновлення та Другие.

Ім'я файлу. Цей атрибут завжди резидентам. Допускається кілька атрибутів цього типу, наприклад, «довге» ім'я (до 255 символів, включаючи літери будь-якої мови) і ім'я «8 + 3» для того ж файлу.

Стандартна інформація. Це приблизно та інформація про фото, яка зберігалася в записі каталогу FAT: розмір файлу, тимчасові штампи та бітові прапори.

Дескриптор захисту. Він служить для завдання прав доступу до даного файлу для різних користувачів і груп, докладніше див п. 3.8.4.2. У нових версіях NTFS запис MFT містить не сам дескриптор, а посилання на його місце в системному файлі. Так виходить компактніше, оскільки зазвичай на диску є багато файлів з однаковими дескрипторами захисту і краще зберігати кожен дескриптор один раз, у спеціально відведеному для цього файлі метаданих.

Дані. Це саме несподіване при першому знайомстві з NTFS: самі дані файлу розглядаються як один з типів атрибутів цього файлу. Наступна несподіванка полягає в тому, що атрибут даних невеликого файлу може зберігатися резидентно у складі запису MFT. Нагадаємо, що розмір цього запису - від 1 Кб і більше, так що місце для даних маленького файлу може знайтися. Безумовно, резидентне зберігання даних дозволяє прискорити доступ до них, оскільки запис MFT так чи інакше завжди читається при відкритті файлу.

Ще одна цікава особливість NTFS полягає в тому, що один файл може мати декілька атрибутів даних, що визначають декілька потоків даних (streams). Один з потоків безіменний, інші повинні мати імена. Виходить як би цілий каталог файлів усередині одного файлу. Безумовно, для цієї можливості можна придумати цікаві застосування, проте ні в одній версії Windows, включаючи XP, поки не передбачені API-функції, що працюють з потоками даних.

Якщо запис MFT описує не файл, а каталог, то замість атрибуту даних в ній міститься інший атрибут, що містить або весь каталог, або його частину. Якщо каталог занадто великий, то інші його частини зберігаються в нерезидентних атрибутах ще одного типу. Тут ми не будемо розглядати це питання детально, проте слід зазначити, що атрибути, що описують великий каталог, утворюють структуру даних, відому як Б-дерево (B-tree). Ця структура дозволяє прискорити пошук файлу в каталозі.

Запис каталогу містить лише ім'я файлу, номер запису про цей файл в MFT і копію атрибуту «стандартна інформація». Ця копія дозволяє відображати вміст каталогу без читання записів MFT про кожен файл.

При порівнянні структури NTFS з раніше розглянутої структурою s5fs можна знайти деяку аналогію між таблицею MFT і масивом індексних дескрипторів, що містять всю інформацію про фото в s5fs. При цьому NTFS має значно складнішу структуру і надає багато додаткових можливостей.