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 КБ, то при форматировании раздела надо специально указать требуемый размер кластера.