NTFS была разработана специально для систем, базирующихся на технологиях Windows NT. Она имеет ряд серьезных преимуществ по сравнению с файловыми системами типа FAT:
· отказоустойчивость (способность к восстановлению; все операции с файлами обрабатываются как транзакции — любое действие с файлом либо завершается до конца, либо, в случае сбоя, файл возвращается в исходное состояние);
· управление доступом к папкам (каталогам) и файлам;
· аудит доступа к файловым ресурсам;
· сжатие и разреженные файлы;
· квоты на дисковое пространство;
· шифрование.
В отличие от FAT, в NTFS нет специальных разделов на томе, в которых отражается файловая структура данного тома. В NTFS все данные хранятся в файлах, в том числе и информация о файлах и папках.
На томе NTFS есть несколько файлов, они скрыты от администратора, в которых описана файловая структура тома. Основной файл, в котором отражена файловая структура, — Главная файловая таблица (master file table, MFT). Имена файлов, описывающих том NTFS, начинаются с символа $. Перечислим некоторые из них:
· $Mft — таблица MFT;
· $MftMirr — зеркальная копия MFT;
· $LogFile — журнал транзакций;
· $Bitmap —карта распределения кластеров тома;
· $Quota — файл пользовательских квот тома.
В NTFS нет разделения на атрибуты (свойства) файла и данные. Вся информация, связанная с файлом, хранится в тех или иных атрибутах. Содержимое файла является одним из атрибутов этого файла. Например, имя файла хранится в атрибуте $FILE_NAME, данные — в атрибуте $DATA.
Таблица MFT состоит из записей о файлах, размер записи — 1 КБ, каждый файл в MFT — набор атрибутов. Маленькие файлы (до 1 КБ) целиком помещаются в одной записи MFT. Первые 16 записей являются служебными, а с семнадцатой записи и далее идет описание прочих файлов тома. Для большей отказоустойчивости спецификацией предусмотрены копии MFT и сектора начальной загрузки.
Структура MFT показана в табл. 8.2:
| Таблица 8.2. | |
| № записи | Содержимое |
| $Mft | |
| $MftMirr | |
| ,,, | |
| File1 (attr1, attr2, …, attrn) | |
| File2 (attr1, attr2, …, attrn) | |
| File3 (attr1, attr2, …, attrn) | |
| ,,, |
Первые две записи MFT содержат ссылки на саму MFT и ее зеркальную копию. Начиная с 17-й записи, идет информация о файлах. Атрибуты файла, хранящиеся в MFT, называются резидентными. Если файл имеет размер более 1КБ, то в соответствующей данному файлу записи в таблице MFT содержатся ссылки на кластеры тома, в которых размещены остальные атрибуты файла.
Каталог (папка с файлами) содержит не просто линейный список файлов, а индекс, в котором имена файлов упорядочены и организованы в виде B-дерева. Таким образом, поиск файла на больших томах (разделах) в NTFS осуществляется намного быстрее, чем на томах с FAT.
Размер кластера в NTFS вместе с размером тома растет гораздо медленнее, чем в системах FAT, что приводит к меньшим потерям дискового пространства. В табл. 8.3 приводятся данные о размере кластера на томе NTFS в зависимости от размера тома (для сравнения приведены аналогичные данные для системы FAT32):
| Таблица 8.3. | ||
| Размер тома | Размер кластера для NTFS | Размер кластера для FAT32 |
| До 32 Мбайт включительно | 512 байт (1 сектор) | Не поддерживается |
| 33–64 МБ | 512 байт (1 сектор) | 512 байт (1 сектор) |
| 65–128 МБ | 512 байт (1 сектор) | 1 КБ (2 сектора) |
| 129–256 МБ | 512 байт (1 сектор) | 2 КБ (4 сектора) |
| 257–512 МБ | 512 байт (1 сектор) | 4 КБ (8 секторов) |
| 513 МБ–1 ГБ | 1 КБ (2 сектора) | 4 КБ (8 секторов) |
| 1 ГБ–2 ГБ | 2 КБ (4 сектора) | 4 КБ (8 секторов) |
| 2 ГБ–4 ГБ | 4 КБ (8 секторов) | 4 КБ (8 секторов) |
| 4 ГБ–8 ГБ | 4 КБ (8 секторов) | 4 КБ (8 секторов) |
| 8 ГБ–16 ГБ | 4 КБ (8 секторов) | 8 КБ (16 секторов) |
| 16 ГБ–32 ГБ | 4 КБ (8 секторов) | 16 КБ (32 сектора) |
| Более 32 ГБ | 4 КБ (8 секторов) | Не поддерживается |
Из таблицы видно, что, начиная с томов размером более 2 ГБ, размер кластера равен 4 КБ. Отметим особо, что на томах с размером кластера более 4 КБ не поддерживается технология сжатия данных и дефрагментация тома (дефрагментация не поддерживается в Windows 2000). Поэтому при форматировании больших разделов размер кластера всегда по умолчанию равен 4 КБ. Если для более эффективной работы с файлами для каких-то задач необходимо, чтобы размер кластера был более 4 КБ, то при форматировании раздела надо специально указать требуемый размер кластера.






