Файловые системы. Что такое FAT и NTFS? Что такое NTFS, и как она работает

NTFS выросла из файловой системы HPFS, разрабатываемой совместно IBM и Microsoft для проекта OS/2. Она начала использоваться вместе с Windows NT 3.1 в 1993 году. Windows NT 3.1 должна была составить конкуренцию серверам на базе NetWare и Unix, поэтому NTFS вобрала в себя все тогдашние технологические достижения. Вот основные из них:

1. Работа с большими дисками. NTFS имеет размер кластера 512 байт, что в принципе оптимально, но его можно менять до 64К. Более важно то, что NTFS способна теоретически работать с томами размером в 16,777,216 терабайт. Теоретически, потому что таких жестких дисков пока просто не существует, и появятся они весьма не скоро.

2. Устойчивость. NTFS содержит две копии аналога FAT, которые называются MFT (Master File Table). В отличие от FAT MSDOS, MFT больше напоминает таблицу базы данных. Если оригинал MFT повреждён в случае аппаратной ошибки (например, появления bad-сектора), то система при следующей загрузке использует копию MFT, и автоматически создаёт новый оригинал, уже с учётом повреждений. Но это не самое главное. Главное, что NTFS использует систему транзакций при записи файлов на диск. Эта система пришла из СУБД, где защита целостности данных - жизненно важное дело. Уже это говорит о её эффективности. В упрощённом виде она работает так:

  • Драйвер ввода/вывода NTFS инициирует процесс записи, одновременно сообщая сервису Log File Service вести лог всего происходящего.
  • Данные пишутся в кэш, под управлением сервиса Cache Manager.
  • Cache Manager посылает данные Virtual Memory Manager-у (менеджеру виртуальной памяти), для записи на диск в фоновом режиме.
  • Virtual Memory Manager посылает данные драйверу диска, пропустив их через Fault Tolerant Driver (если у вас массив дисков RAID).
  • Драйвер диска шлёт их контроллеру, который уже пишет их либо в кэш, либо прямо на диск.
  • Если эта операция проходит без ошибок, запись лога удаляется.
  • Если происходит сбой, запись лога остается в таблице транзакций, и при следующем доступе к диску Log File Service обнаруживает эту запись, и просто восстанавливает всё как было до этой операции.

Такая система гарантирует абсолютную сохранность данных в случае копирования, перемещения и удаления файлов или директорий. При внесении изменений в файл, вы теряете те изменения, которые находились в момент сбоя в памяти или в кэше контроллера, и не успели записаться на диск.

3. Защищенность. NTFS рассматривает файлы, как объекты. Каждый файловый объект обладает свойствами, такими как его имя, дата создания, дата последнего обновления, архивный статус, и дескриптор безопасности. Файловый объект также содержит набор методов, которые позволяют с ним работать, такие как open, close, read и write. Пользователи, включая сетевых, для обращения к файлу вызывают эти методы, а Security Reference Monitor определяет, имеет ли пользователь необходимые права для вызова какого-либо из этих методов. Кроме этого, файлы можно шифровать. Правда, с шифрованием стоит быть осторожнее. Если у вас рухнет система, или вы её переустановите то вы не сможете прочитать зашифрованные файлы, если не имеете ERD.

4. Компрессия данных. NTFS позволяет компрессировать отдельные каталоги и файлы, в отличие от DriveSpace, который позволял сжимать только диски целиком. Это очень удобно, для экономии пространства на диске, например можно сжимать «на лету» большие графические файлы формата BMP, или текстовые файлы, причём для пользователя всё это будет прозрачно.

5. Поддержка формата ISO Unicode. Формат Unicode использует 16bit для кодировки каждого символа, в отличие от ASCII, который использовал 8bit, или ещё хуже - 7bit. Для простого пользователя это означает то, что теперь он может называть файлы на любом языке, хоть на китайском - система это будет поддерживать, не требуя изменить кодовую страницу, как это делал DOS и W9x.

Переход с FAT32 на NTFS
Всё зависит от того, с какой целью вы используете компьютер, и сколько у вас оперативной памяти. Следует учесть, что NTFS работает несколько медленнее чем FAT, из-за дополнительно загружаемых сервисов и её системы безопасности. Если у вас мало оперативной памяти, и вы решили поставить себе XP, то вам однозначно нельзя ставить себе NTFS. Если у вас 128MB или больше, то можно уже подумать об NTFS. Следует взвесить преимущества и недостатки NTFS для простого пользователя и решить, что вам нужно. К преимуществам FAT32 можно отнести то, что она быстрее и требует меньше памяти для работы. Если система работает только с FAT32, то в память не грузятся драйвера и сервисы, необходимые NTFS. Кроме этого, при использовании FAT32 имеется возможность доступа к диску при загрузке с загрузочного флоппи W9x. Преимущества NTFS для простого пользователя можно описать одним ёмким словом: indestructible. На полном серьёзе, вышибить NTFS чрезвычайно сложно, хоть и возможно. Для опыта запускалась куча различных приложений, оптимизаторы диска, и в самые неподходящие моменты жалась кнопка reset. Повторение этого садизма добрый десяток раз никакого впечатления на систему не произвело, она продолжала работать без ошибок. Кроме этого, NTFS обладает встроенными средствами шифрования файлов, что обеспечивает определённую уверенность в сохранности данных. Конечно, при условии что система не будет переустанавливаться.

Конвеpтируем диск FAT32 в NTFS без потеpи данных.
1. Можно воспользоваться командой CONVERT том: /FS:NTFS Преобразование произойдет при следующей перезагрузке. Потери информации не при этом не будет, но нужно иметь в виду, что размер кластера после конвертации составит 512 байт, что не очень хорошо на больших разделах, кроме того, диск после конвертации будет сильно фрагментирован. Обратное преобразование (NTFS -> FAT) без потери данных средствами XP невозможно, потребуется отформатировать раздел заново.
2. Выполнить конвертацию также сможет программа Partition Magic. C NTFS 5 нормально работает, начиная с версии 6.0, но если использовать только загрузочную дискету, то подойдет и версия 5.01. Данная программа также позволяет выполнять обратное преобразование без потери данных и даже может менять размер кластера (к сожалению, только на FAT16 и FAT32). Partition Magic не работает с динамическими дисками, только с основными.

NTFS (англ. New Technology File System — «файловая система новой технологии») — это стандартная файловая система, предназначенная для семейства ОС Microsoft Windows NT .

NTFS пришла на смену файловой систем FAT, использовавшейся ранее в Microsoft Windows и MS-DOS. NTFS поддерживает систему метаданных, а также применяет для хранения информации о файлах специализированные структуры данных, позволяющие улучшить производительность, надежность, эффективность использования дискового пространства. У NTFS есть встроенные возможности, позволяющие разграничивать доступ к данным для разных групп пользователей и отдельных пользователей (ACL — списки контроля доступа), назначать квоты (ограничения по максимальному объему объём дискового пространства, которое занимается тем или иным пользователем). В целях повышения надежности NTFS использует систему журналирования .

Файловая система NTFS была разработана на основе системы HPFS (англ. High Performance File System — высокопроизводительная файловая система), которая была создана совместными усилиями IBM и Microsoft для операционной системы OS/2. Однако, с приобретением весьма полезных новшеств, таких как журналируемость, квотирование, аудит и разграничение доступа, NTFS утратила присущую HPFS высокую производительность файловых операций. На момент своего создания, NTFS включала в себя все самые современные технологические достижения, такие как:

Возможность работы с большими дисками. Размер кластера NTFS - 512 байт, но он может меняться до 64К. Гораздо более важное качество NTFS - теоретическая способность работать с томами в 16,777,216 терабайт. Теоретическая лишь потому, что пока таких жестких дисков еще не создано.

Устойчивость. В NTFS содержатся две копии аналога FAT, называемые MFT (Master File Table). MFT отличается от FAT MSDOS тем, что скорее напоминает таблицу базы данных. В случае повреждения оригинала MFT из-за аппаратной ошибки (к примеру, появления bad-сектора), при следующей загрузке система использует копию MFT, автоматически создав новый оригинал, учтя все повреждения. Но и это не основное преимущество. Основное же заключается в том, что при записи файлов на диск NTFS использует систему транзакций. Данная система пришла из СУБД, где защите целостности данных уделяется особое внимание, что уже может многое сказать о ее эффективности. Эта система обеспечивает абсолютную сохранность данных при копировании, перемещении и удалении файлов или директорий. Если в файл вносятся изменения, то будут потеряны изменения, в момент сбоя находившиеся в кэше контроллера в или памяти, и не записанные на диск.

Защищенность. В NTFS файлы рассматриваются как объекты. И у каждого файлового объекта есть свои свойства, такие как дата создания, имя, архивный статус, дескриптор безопасности и дата последнего обновления. Также файловый объект содержит набор методов, позволяющих работать с ним, таких как write, read, close и open. Пользователи, в том числе и сетевые, вызывают эти методы для обращения к файлу, а Security Reference Monitor определяет, обладает ли пользователь правами, необходимыми для вызова одного из этих методов. Помимо этого файлы можно шифровать, но делать это следует осторожно. В случае переустановки системы вам не удастся прочитать зашифрованные файлы без ERD.

Компрессия данных. В отличие DriveSpace, в котором диски можно было сжимать только целиком, NTFS позволяет компрессировать отдельные файлы и каталоги. Это позволяет экономить место на диске, к примеру, «на лету» сжимать текстовые файлы или объемные графические файлы формата BMP, и все это будет прозрачно для пользователя.

Поддержка формата ISO Unicode. В отличие от формата ASCII , использовавшего для кодировки каждого символа 7 или 8bit, Unicode использует 16bit. Обычному пользователю это позволит называть файлы абсолютно на любом языке, и система будет поддерживать это, без требований об изменении кодовой страницы, как это делал W9x и DOS .

Существует несколько версий NTFS. В Windows NT 4.0 и Windows NT 3.51 используется v1.2, с Windows 2000 поставляется v3.0, с Windows Server 2003 и Windows XP - v3.1. Некоторые последние версии обозначаются v4.0, v5.0, то есть в полном соответствии с версиями Windows NT, вместе с которыми они поставляются.

У Windows NT файловая система NTFS 4.0, у Windows 2000/XP — NTFS 5. Когда вы подключаете 2000/XP диск c NTFS 4.0, он автоматически конвертируется операционной системой в NTFS 5.0.

Спецификации файловой системы закрыты. Это представляет некоторую трудность для ее поддержки сторонними продуктами, которые не принадлежат Microsoft. Например, разработчики драйверов для свободных операционных систем вынуждены проводить реверс-инжиниринг системы.

Файловая система NTFS (New Technologies File System – файловая система новой технологии) была выпущена вместе с ОС Windows NT 3.5 в 1993 г. До выхода Windows 2000 разработка двух линий ОС была раздельной, и потребительские ОС Windows 95/98/Me были ограничены использованием FAT16 или FAT32 . В отличие от них, линейка NT , включая Windows XP , поддерживает все системы (за исключением Windows NT4 , не знакомой с FAT32 ).

Система NTFS содержит множество улучшений по сравнению с системами FAT . Наиболее важные относятся к:

· оптимизированному использованию пространства на больших томах,

· исправлению ошибок после аварий,

· защите данных от несанкционированного доступа,

· службе индексации,

· сжатию и шифрованию данных,

· восстановлению системы после серьезных сбоев.

NTFS может управлять разделами размером в несколько сотен Тбайт. Что касается безопасности, то администраторы получили возможность использовать встроенные функций защиты: политики доступа пользователей к файлам и папкам, системы шифрования файлов EFS (Encryption File System – шифрованная файловая система).

Система NTFS , используемая в версиях Windows, вплоть до Windows 2000 , не соответствовала современным требованиям, в частности:

· ограничивала число томов 26 (диски от A до Z);

· изменение раздела всегда требовало перезагрузки;

· информация о томах NTFS хранилась в реестре, что усложняло использование диска с другой системой.

Указанные проблемы были решены в Windows 2000 с помощью LDM (Logical Disk Manager – логический дисковый менеджер), который больше не требует присвоения букв дискам. Улучшения NTFS , используемой в Windows XP , были связаны с:

· улучшением пропускной способности данных,

· введением возможности устанавливать значения размера кластера, отличные от фиксированного по 512 байт;

· улучшением административных функций: индексация папок и ограничение непредвиденных расходов памяти.

Файловая система NTFS представляет собой выдающееся достижение структуризации: каждый элемент системы представляет собой файл – даже служебная информация. Самый главный файл в NTFS называется MFT (Master File Table – общая таблица файлов). В отличие от FAT , которая хранит таблицы отдельно, в начале тома, NTFS помещает MFT в скрытых файлах.

Раздел NTFS может быть почти какого угодно размера. Его максимальный размер ограничен лишь размерами жестких дисков.

NTFS делит все полезное место носителя на кластеры – блоки данных, причем размер кластера изменяется от 512 байт до 64 Кбайт (стандартом считается кластер размером 4 Кбайт).

Диск NTFS условно делится на две части. Первые 12% диска отводятся под MFT-зону - пространство, в которое растет метафайл MFT . Запись каких-либо данных в эту область невозможна. MFT-зона всегда держится пустой – это делается для того, чтобы самый главный, служебный файл (MFT ) не фрагментировался при своем росте. Остальные 88% диска представляют собой обычное пространство для хранения файлов (рис. 9).

Рис. 9. Физическая структура NTFS

Механизм использования MFT-зоны следующий: когда файлы уже нельзя записывать в обычное пространство, MFT-зона просто сокращается (в текущих версиях ОС ровно в два раза), освобождая таким образом место для записи файлов. При освобождении места в обычной области MFT-зона может снова расшириться. При этом не исключена ситуация, когда в этой зоне останутся обычные файлы.

MFT размещается в MFT-зоне и представляет собой централизованный каталог всех остальных файлов диска (в том числе, и себя самого). MFT управляет всеми файлами тома и, так называемыми, метаданными с помощью реляционной базы данных. Информация о файлах размещается в строчках, а в столбцах записаны атрибуты файлов (скрытый, шифрованный, сжатый, системный и т.д.).

MFT поделен на записи фиксированного размера (обычно 1 Кбайт), и каждая запись соответствует какому-либо файлу. Первые 16 файлов носят служебный характер и недоступны ОС – они называются метафайлами , причем самый первый метафайл – сам MFT . Файлы размером до 900 байт могут полностью помещаться в одну запись. Для файлов большего размера MFT содержит указатели на их расположение в дисковой памяти. То же самое относится и к папкам: если они имеют достаточно малый размер, то полностью входят в MFT .

Первые 16 элементов MFT – единственная часть диска, имеющая фиксированное положение. Вторая копия первых трех записей, для надежности (они очень важны) хранится ровно посередине диска. Остальной MFT-файл может располагаться, как и любой другой файл, в произвольных местах диска – восстановить его положение можно с помощью его самого, «зацепившись» за самую основу – за первый элемент MFT .

Каждый метафайл отвечает за какой-либо аспект работы системы. Преимущество такого подхода заключается в гибкости. Например, в файловой системе FAT физическое повреждение в самой области FAT фатально для функционирования всего диска, а NTFS может сместить, даже фрагментировать по диску, все свои служебные области, обойдя любые неисправности поверхности - кроме первых 16 элементов MFT .

Метафайлы находятся в корневом каталоге NTFS диска – они начинаются с символа имени «$». В настоящее время используются следующие метафайлы:

· $MFT – сам MFT;

· $MFTmirr – копия первых 16 записей MFT, размещенная посередине диска;

· $LogFile – файл поддержки журналирования;

· $Volume – служебная информация (метка тома, версия файловой системы и т.д.);

· $AttrDef – список стандартных атрибутов файлов на томе;

· $. - корневой каталог;

· $Bitmap – карта свободного места тома;

· $Boot – загрузочный сектор (если раздел загрузочный);

· $Quota - файл, в котором записаны права пользователей на использование дискового пространства;

· $Upcase – файл-таблица соответствия заглавных и прописных букв в именах файлов на текущем томе.

Все файлы, размещаемые на диске, упоминаются в MFT . В этом месте хранится вся информация о файле (за исключением собственно данных): имя файла, размер, положение на диске отдельных фрагментов, и т.д. Если для информации не хватает одной записи MFT , то используются несколько, причем не обязательно подряд.

Файлы небольшого размера (до 900 байт) хранятся прямо в MFT , в оставшемся от основных данных месте в пределах одной записи MFT . Файлы, занимающие сотни байт, обычно не имеют своего «физического» воплощения в основной файловой области - все данные такого файла хранятся в одном месте - в MFT .

Имя файла может содержать любые символы, включая полный набор национальных алфавитов, так как данные представлены в Unicode – 16-битном представлении, которое дает 65535 разных символов. Максимальная длина имени файла – 255 символов.

Каталог на NTFS представляет собой специфический файл, хранящий ссылки на другие файлы и каталоги, создавая иерархическое строение данных на диске. Файл каталога поделен на блоки, каждый из которых содержит имя файла, базовые атрибуты и ссылку на элемент MFT , который уже предоставляет полную информацию об элементе каталога. Внутренняя структура каталога представляет собой бинарное дерево (В-дерево ). Это означает следующее: для поиска файла с данным именем в линейном каталоге, таком, например, как в FAT, ОС приходится просматривать все элементы каталога, пока она не найдет нужный. Бинарное же дерево располагает имена файлов таким образом, чтобы поиск файла осуществлялся более быстрым способом – с помощью получения двухзначных ответов на вопросы о положении файла. Вопрос, на который бинарное дерево способно дать ответ, таков: в какой группе, относительно данного элемента, находится искомое имя – выше или ниже? Такой поиск начинается с вопроса к среднему элементу, и каждый ответ сужает зону поиска в среднем в два раза. Файлы отсортированы по алфавиту, и ответ на вопрос осуществляется очевидным способом – сравнением начальных букв. Область поиска, суженная в два раза, начинает исследоваться аналогичным образом, начиная опять же со среднего элемента. Пример поиска по В-дереву показан на рис. 10.

Таким образом, для поиска одного файла среди, например, 1000, FAT придется осуществить в среднем 500 сравнений (наиболее вероятно, что файл будет найден на середине поиска), а системе на основе В-дерева – всего около 10-ти (2 10 = 1024).

Главный каталог диска - корневой - ничем не отличается об обычных каталогов, кроме специальной ссылки на него из начала метафайла MFT .

NTFS – отказоустойчивая система, которая может привести себя в корректное состояние при практически любых реальных сбоях.

В табл. 4 приведены ограничения, налагаемые на файловые системы NTFS и FAT .

Таблица 4. Ограничения файловых систем

Для новой ОС Vista компания Microsoft разрабатывает новую файловую систему Windows Future Storage (WinFS – «грядущая система хранения »), призванную заменить NTFS и FAT . В основе WinFS лежит доработанная NTFS с улучшенными функциями администрирования, организации доступа к файлам, синхронизации и защиты файловых ресурсов.

Новая файловая система предназначена для хранения файлов на основе критериев их содержания, т.е. автора, содержания, имени, источника и последнего обратившегося пользователя. Структура папок, отображаемая в Проводнике , представляет собой просто виртуальную карту.

Сутью WinFS является, так называемая, модель данных – механизм, который постоянно администрирует и структурирует цифровые элементы или «предметы» (items ). Предметы используют описательные элементы, выходящие за понятие файла. Эти описательные элементы не присутствуют в файле, а полностью принадлежат и управляются WinFS . При данной схеме в качестве предметов можно регистрировать не только файлы, но и, например, контакты, ссылки в Интернете, письма и т.д.

С точки зрения пользователей, предметы снимают необходимость в использовании физического места расположения файлов. Вместо этого ОС организует данные, в зависимости от их содержания, в виртуальные папки. При поиске данных пользовательские критерии типа «Все документы по курсу ИКТ за последние два года » заменяют информацию о формате файлов, авторах и расположении.

Microsoft реализовала меняющуюся модель предметов в WinFS , т.е. пользователи могут сами определять предметы с помощью метаданных XML и указывать связи между предметами. При этом существует возможность, например, вывода всех документов данного автора вместе с информацией о его адресе и связанных с ним документов.

Задание №4 1. Определите, какие файловые системы используются на жестком диске вашей рабочей станции: · выполните команды главного меню Windows: Пуск Þ Настройка Þ Панель управления Þ Администрирование Þ Управление компьютером; · в левой панели консоли Управление компьютером раскройте раздел Запоминающие устройства и дважды щелкните мышью по опции Управление дисками; · в правой панели консоли Управление компьютером отобразится информация о структуре дисков и используемых файловых системах; · запишите эту информацию в свою рабочую тетрадь; · закройте окно консоли. 2. Определите характеристики логических и физических дисков вашей рабочей станции: · выполните команды главного меню Windows: Пуск Þ Программы Þ Стандартные Þ Служебные Þ Сведения о системе; · в левой панели консоли Сведения о системераскройте раздел Компоненты, а в нем – подраздел Запоминающие устройства; · двойным щелчком мыши выберите первую опцию Диски. В правой панели отобразятся характеристики логических дисков. Выпишите значения в свою рабочую тетрадь; · двойным щелчком мыши выберите вторую опцию Диски. В правой панели отобразятся характеристики физических дисков. Выпишите основные значения в свою рабочую тетрадь; · закройте окно консоли.

Файловые системы FAT

FAT16

Файловая система FAT16 начала свое существование еще во времена, предшествовавшие MS-DOS, и поддерживается всеми операционными системами Microsoft для обеспечения совместимости. Ее название File Allocation Table (таблица расположения файлов) отлично отражает физическую организацию файловой системы, к основным характеристикам которой можно отнести то, что максимальный размер поддерживаемого тома (жесткого диска или раздела на жестком диске) не превышает 4095 Мбайт. Во времена MS-DOS 4-гигабайтные жесткие диски казались несбыточной мечтой (роскошью были диски объемом 20-40 Мбайт), поэтому такой запас был вполне оправданным.

Том, отформатированный для использования FAT16, разделяется на кластеры. Размер кластера по умолчанию зависит от размера тома и может колебаться от 512 байт до 64 Кбайт. В табл. 2 показано, как размер кластера зависит от размера тома. Отметим, что размер кластера может отличаться от значения по умолчанию, но должен иметь одно из значений, указанных в табл. 2 .

Не рекомендуется задействовать файловую систему FAT16 на томах больше 511 Мбайт, так как для относительно небольших по объему файлов дисковое пространство будет использоваться крайне неэффективно (файл размером в 1 байт будет занимать 64 Кбайт). Независимо от размера кластера файловая система FAT16 не поддерживается для томов больше 4 Гбайт.

FAT32

Начиная с Microsoft Windows 95 OEM Service Release 2 (OSR2) в Windows появилась поддержка 32-битной FAT. Для систем на базе Windows NT эта файловая система впервые стала поддерживаться в Microsoft Windows 2000. Если FAT16 может поддерживать тома объемом до 4 Гбайт, то FAT32 способна обслуживать тома объемом до 2 Тбайт. Размер кластера в FAT32 может изменяться от 1 (512 байт) до 64 секторов (32 Кбайт). Для хранения значений кластеров FAT32 требуется 4 байт (32 бит, а не 16, как в FAT16). Это означает, в частности, что некоторые файловые утилиты, рассчитанные на FAT16, не могут работать с FAT32.

Основным отличием FAT32 от FAT16 является то, что изменился размер логического раздела диска. FAT32 поддерживает тома объемом до 127 Гбайт. При этом, если при использовании FAT16 с 2-гигабайтными дисками требовался кластер размером в 32 Кбайт, то в FAT32 кластер размером в 4 Кбайт подходит для дисков объемом от 512 Мбайт до 8 Гбайт (табл. 4).

Это соответственно означает более эффективное использование дискового пространства - чем меньше кластер, тем меньше места требуется для хранения файла и, как следствие, диск реже становится фрагментированным.

При применении FAT32 максимальный размер файла может достигать 4 Гбайт минус 2 байта. Если при использовании FAT16 максимальное число вхождений в корневой каталог ограничивалось 512, то FAT32 позволяет увеличить это число до 65 535.

FAT32 накладывает ограничения на минимальный размер тома - он должен быть не менее 65 527 кластеров. При этом размер кластера не может быть таким, чтобы FAT занимала более 16 Мбайт–64 Кбайт / 4 или 4 млн. кластеров.

При использовании длинных имен файлов данные, необходимые для доступа из FAT16 и FAT32, не перекрываются. При создании файла с длинным именем Windows создает соответствующее имя в формате 8.3 и одно или более вхождений в каталог для хранения длинного имени (по 13 символов из длинного имени файла на каждое вхождение). Каждое последующее вхождение хранит соответствующую часть имени файла в формате Unicode. Такие вхождения имеют атрибуты «идентификатор тома», «только чтение», «системный» и «скрытый» - набор, который игнорируется MS-DOS; в этой операционной системе доступ к файлу осуществляется по его «псевдониму» в формате 8.3.

Файловая система NTFS

В состав Microsoft Windows 2000 входит поддержка новой версии файловой системы NTFS, которая, в частности, обеспечивает работу с сервисами каталогов Active Directory, точки пересчета (reparse points), средства защиты информации, контроль за доступом и ряд других возможностей.

Как и при использовании FAT, основной информационной единицей в NTFS является кластер. В табл. 5 показаны размеры кластеров по умолчанию для томов различной емкости.

При формировании файловой системы NTFS программа форматирования создает файл Master File Table (MTF) и другие области для хранения метаданных. Метаданные используются NTFS для реализации файловой структуры. Первые 16 записей в MFT зарезервированы самой NTFS. Местоположение файлов метаданных $Mft и $MftMirr записано в загрузочном секторе диска. Если первая запись в MFT повреждена, NTFS считывает вторую запись для нахождения копии первой. Полная копия загрузочного сектора располагается в конце тома. В табл. 6 перечислены основные метаданные, хранимые в MFT.

Остальные записи MFT содержат записи для каждого файла и каталога, расположенных на данном томе.

Обычно один файл использует одну запись в MFT, но если у файла большой набор атрибутов или он становится слишком фрагментированным, то для хранения информации о нем могут потребоваться дополнительные записи. В этом случае первая запись о файле, называемая базовой записью, хранит местоположение других записей. Данные о файлах и каталогах небольшого размера (до 1500 байт) полностью содержатся в первой записи.

Атрибуты файлов в NTFS

Каждый занятый сектор на NTFS-томе принадлежит тому или иному файлу. Даже метаданные файловой системы являются частью файла. NTFS рассматривает каждый файл (или каталог) как набор файловых атрибутов. Такие элементы, как имя файла, информация о его защите и даже данные в нем, являются атрибутами файла. Каждый атрибут идентифицируется кодом определенного типа и, опционально, именем атрибута.

Если атрибуты файла вмещаются в файловую запись, они называются резидентными атрибутами. Такими атрибутами всегда являются имя файла и дата его создания. В тех случаях, когда информация о файле слишком велика, чтобы вместиться в одну MFT-запись, некоторые атрибуты файла становятся нерезидентными. Резидентные атрибуты хранятся в одном или более кластерах и представляют собой поток альтернативных данных для текущего тома (об этом - чуть ниже). Для описания местонахождения резидентных и нерезидентных атрибутов NTFS создает атрибут Attribute List.

В табл. 7 показаны основные атрибуты файлов, определенные в NTFS. В будущем этот список может быть расширен.

Файловая система CDFS

В Windows 2000 обеспечивается поддержка файловой системы CDFS, отвечающей стандарту ISO’9660, описывающему расположение информации на CD-ROM. Поддерживаются длинные имена файлов в соответствии с ISO’9660 Level 2.

При создании CD-ROM для использования под управлением Windows 2000 следует иметь в виду следующее:

  • все имена каталогов и файлов должны содержать менее 32 символов;
  • все имена каталогов и файлов должны состоять только из символов верхнего регистра;
  • глубина каталогов не должна превышать 8 уровней от корня;
  • использование расширений имен файлов не обязательно.

Сравнение файловых систем

Под управлением Microsoft Windows 2000 возможно использование файловых систем FAT16, FAT32, NTFS или их комбинаций. Выбор операционной системы зависит от следующих критериев:

  • того, как используется компьютер;
  • аппаратной платформы;
  • размера и числа жестких дисков;
  • безопасности информации

Файловые системы FAT

Как вы уже могли заметить, цифры в названии файловых систем - FAT16 и FAT32 - указывают на число бит, необходимых для хранения информации о номерах кластеров, используемых файлом. Так, в FAT16 применяется 16-битная адресация и, соответственно, возможно использование до 2 16 адресов. В Windows 2000 первые четыре бита таблицы расположения файлов FAT32 необходимы для собственных нужд, поэтому в FAT32 число адресов достигает 2 28 .

В табл. 8 показаны размеры кластеров для файловых систем FAT16 и FAT32.

Помимо существенных отличий в размере кластера FAT32 также позволяет корневому каталогу расширяться (в FAT16 число вхождений ограничено 512 и может быть даже ниже при использовании длинных имен файлов).

Преимущества FAT16

Среди преимуществ FAT16 можно отметить следующие:

  • файловая система поддерживается операционными системами MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000, а также некоторыми операционными системами UNIX;
  • существует большое число программ, позволяющих исправлять ошибки в этой файловой системе и восстанавливать данные;
  • при возникновении проблем с загрузкой с жесткого диска система может быть загружена с флоппи-диска;
  • данная файловая система достаточно эффективна для томов объемом менее 256 Мбайт.
Недостатки FAT16

К основным недостаткам FAT16 относятся:

  • корневой каталог не может содержать более 512 элементов. Использование длинных имен файлов существенно сокращает число этих элементов;
  • FAT16 поддерживает не более 65 536 кластеров, а так как некоторые кластеры зарезервированы операционной системой, число доступных кластеров - 65 524. Каждый кластер имеет фиксированный размер для данного логического устройства. При достижении максимального числа кластеров при их максимальном размере (32 Кбайт) максимальный объем поддерживаемого тома ограничивается 4 Гбайт (под управлением Windows 2000). Для поддержания совместимости с MS-DOS, Windows 95 и Windows 98 объем тома под FAT16 не должен превышать 2 Гбайт;
  • в FAT16 не поддерживается встроенная защита файлов и их сжатие;
  • на дисках большого объема теряется много места за счет того, что используется максимальный размер кластера. Место под файл выделяется исходя из размера не файла, а кластера.
Преимущества FAT32

Среди преимуществ FAT32 можно отметить следующие:

  • выделение дискового пространства выполняется более эффективно, особенно для дисков большого объема;
  • корневой каталог в FAT32 представляет собой обычную цепочку кластеров и может находиться в любом месте диска. Благодаря этому FAT32 не накладывает никаких ограничений на число элементов в корневом каталоге;
  • за счет использования кластеров меньшего размера (4 Кбайт на дисках объемом до 8 Гбайт) занятое дисковое пространство обычно на 10-15% меньше, чем под FAT16;
  • FAT32 является более надежной файловой системой. В частности, она поддерживает возможность перемещения корневого каталога и использования резервной копии FAT. Помимо этого загрузочная запись содержит ряд критичных для файловой системы данных.
Недостатки FAT32

Основные недостатки FAT32:

  • размер тома при использовании FAT32 под Windows 2000 ограничен 32 Гбайт;
  • тома FAT32 недоступны из других операционных систем - только из Windows 95 OSR2 и Windows 98;
  • не поддерживается резервная копия загрузочного сектора;
  • в FAT32 не поддерживается встроенная защита файлов и их сжатие.

Файловая система NTFS

При работе в Windows 2000 Microsoft рекомендуется отформатировать все разделы жесткого диска под NTFS, за исключением тех конфигураций, когда используется несколько операционных систем (кроме Windows 2000 и Windows NT). Применение NTFS вместо FAT позволяет использовать функции, доступные в NTFS. К ним, в частности, относятся:

  • возможность восстановления. Эта возможность «встроена» в файловую систему. NTFS гарантирует сохранность данных за счет того, что использует протокол и некоторые алгоритмы восстановления информации. В случае системного сбоя NTFS использует протокол и дополнительную информацию для автоматического восстановления целостности файловой системы;
  • сжатие информации. Для томов NTFS Windows 2000 поддерживает сжатие отдельных файлов. Такие сжатые файлы могут использоваться Windows-приложениями без предварительной распаковки, которая происходит автоматически при чтении из файла. При закрытии и сохранении файл снова упаковывается;
  • помимо этого можно выделить следующие преимущества NTFS:

Некоторые функции операционной системы требуют наличия NTFS;

Скорость доступа намного выше - NTFS минимизирует число обращений к диску, требуемых для нахождения файла;

Защита файлов и каталогов. Только на томах NTFS возможно задание атрибутов доступа к файлам и папкам;

При использовании NTFS Windows 2000 поддерживает тома объемом до 2 Тбайт;

Файловая система поддерживает резервную копию загрузочного сектора - она располагается в конце тома;

NTFS поддерживает систему шифрования Encrypted File System (EFS), обеспечивающую защиту от неавторизованного доступа к содержимому файлов;

При использовании квот можно ограничить объем дискового пространства, занимаемого пользователями.

Недостатки NTFS

Говоря о недостатках файловой системы NTFS, следует отметить, что:

  • NTFS-тома недоступны в MS-DOS, Windows 95 и Windows 98. Помимо этого ряд функций, реализованных в NTFS под Windows 2000, недоступен в Windows 4.0 и более ранних версиях;
  • для томов небольшого объема, содержащих много файлов небольшого размера, возможно снижение производительности по сравнению с FAT.

Файловая система и скорость

Как мы уже выяснили, для томов небольшого объема FAT16 или FAT32 обеспечивает более быстрый доступ к файлам по сравнению с NTFS, так как:

  • FAT обладает более простой структурой;
  • размер каталогов меньше;
  • FAT не поддерживает защиту файлов от несанкционированного доступа - системе не нужно проверять права доступа к файлам.

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

Одно вхождение в FAT содержит номер кластера для первого кластера каталога. Для просмотра файла FAT требуется поиск по всей файловой структуре.

Сравнивая скорость операций, выполняемых для каталогов, содержащих короткие и длинные имена файлов, следует учитывать, что скорость операций для FAT зависит от самой операции и размера каталога. Если FAT ищет несуществующий файл, поиск выполняется по всему каталогу - эта операция занимает больше времени, чем поиск по структуре, основанной на B-деревьях, используемой в NTFS. Среднее время, необходимое для поиска файла, в FAT выражается как функция от N/2, в NTFS - как log N, где N - это число файлов.

Ряд следующих факторов влияет на скорость чтения и записи файлов под управлением Windows 2000:

  • фрагментация файла. Если файл сильно фрагментирован, NTFS обычно требуется меньше обращений к диску, чем FAT для нахождения всех фрагментов;
  • размер кластера. Для обеих файловых систем размер кластера по умолчанию зависит от объема тома и всегда выражается степенью числа 2. Адреса в FAT16 - 16-битные, в FAT32 - 32-битные, в NTFS - 64-битные;
  • размер кластера по умолчанию в FAT базируется на том факте, что таблица расположения файлов может иметь не более 65 535 вхождений - размер кластера представляет собой функцию от объема тома, деленного на 65 535. Таким образом, размер кластера по умолчанию для тома FAT всегда больше, чем размер кластера для тома NTFS того же объема. Отметим, что больший размер кластера для томов FAT означает, что тома FAT могут быть менее фрагментированными;
  • расположение файлов небольшого размера. При использовании NTFS файлы небольшого размера содержатся в MFT-записи. Размер файла, помещающегося в одну запись MFT, зависит от числа атрибутов этого файла.

Максимальный размер томов NTFS

Теоретически NTFS поддерживает тома с числом кластеров до 2 32 . Но тем не менее помимо отсутствия жестких дисков такого объема существуют и другие ограничения на максимальный размер тома.

Одним из таких ограничений является таблица разделов. Индустриальные стандарты ограничивают размер таблицы разделов 2 32 секторами. Другим ограничением является размер сектора, который обычно равен 512 байт. Поскольку размер сектора может измениться в будущем, текущий размер дает ограничение на размер одного тома - 2 Тбайт (2 32 x 512 байт = 2 41). Таким образом, 2 Тбайт является практическим пределом для физических и логических томов NTFS.

В табл. 11 показаны основные ограничения NTFS.

Управление доступом к файлам и каталогам

При использовании томов NTFS можно устанавливать права доступа к файлам и каталогам. Эти права доступа указывают, какие пользователи и группы имеют доступ к ним и какой уровень доступа допустим. Такие права доступа распространяются как на пользователей, работающих за компьютером, на котором располагаются файлы, так и на пользователей, обращающихся к файлам через сеть, когда файл располагается в каталоге, открытом для удаленного доступа.

Под NTFS можно также устанавливать разрешения на удаленный доступ, объединяемые с разрешениями на доступ к файлам и каталогам. Помимо этого файловые атрибуты (только чтение, скрытый, системный) также ограничивают доступ к файлу.

Под управлением FAT16 и FAT32 тоже возможно устанавливать атрибуты файлов, но они не обеспечивают права доступа к файлам.

В версии NTFS, используемой в Windows 2000, появился новый тип разрешения на доступ - наследуемые разрешения. Вкладка Security содержит опцию Allow inheritable permissions from parent to propagate to this file object , которая по умолчанию находится в активном состоянии. Данная опция существенно сокращает время, требуемое на изменение прав доступа к файлам и подкаталогам. Например, для изменения прав доступа к дереву, содержащему сотни подкаталогов и файлов, достаточно включить эту опцию - в Windows NT 4 необходимо изменить атрибуты каждого отдельного файла и подкаталога.

На рис. 5 показаны диалоговая панель Properties и вкладка Security (раздел Advanced) - перечислены расширенные права доступа к файлу.

Напомним, что для томов FAT можно управлять доступом только на уровне томов и такой контроль возможен только при удаленном доступе.

Сжатие файлов и каталогов

В Windows 2000 поддерживается сжатие файлов и каталогов, расположенных на NTFS-томах. Сжатые файлы доступны для чтения и записи любыми Windows-приложениями. Для этого нет необходимости в их предварительной распаковке. Используемый алгоритм сжатия схож с тем, который используется в DoubleSpace (MS-DOS 6.0) и DriveSpace (MS-DOS 6.22), но имеет одно существенное отличие - под управлением MS-DOS выполняется сжатие целого первичного раздела или логического устройства, тогда как под NTFS можно упаковывать отдельные файлы и каталоги.

Алгоритм сжатия в NTFS разработан с учетом поддержки кластеров размером до 4 Кбайт. Если величина кластера больше 4 Кбайт, функции сжатия NTFS становятся недоступными.

Самовосстановление NTFS

Файловая система NTFS обладает способностью самовосстановления и может поддерживать свою целостность за счет использования протокола выполняемых действий и ряда других механизмов.

NTFS рассматривает каждую операцию, модифицирующую системные файлы на NTFS-томах, как транзакцию и сохраняет информацию о такой транзакции в протоколе. Начатая транзакция может быть либо полностью завершена (commit), либо откатывается (rollback). В последнем случае NTFS-том возвращается в состояние, предшествующее началу транзакции. Для того чтобы управлять транзакциями, NTFS записывает все операции, входящие в транзакцию, в файл протокола, перед тем как осуществить запись на диск. После того как транзакция завершена, все операции выполняются. Таким образом, под управлением NTFS не может быть незавершенных операций. В случае дисковых сбоев незавершенные операции просто отменяются.

Под управлением NTFS также выполняются операции, позволяющие «на лету» определять дефектные кластеры и отводить новые кластеры для файловых операций. Этот механизм называется cluster remapping.

В данном обзоре мы рассмотрели различные файловые системы, поддерживаемые в Microsoft Windows 2000, обсудили устройство каждой из них, отметили их достоинства и недостатки. Наиболее перспективной является файловая система NTFS, которая обладает большим набором функций, недоступных в других файловых системах. Новая версия NTFS, поддерживаемая Microsoft Windows 2000, обладает еще большей функциональностью и поэтому рекомендуется для использования при установке операционной системы Win 2000.

КомпьютерПресс 7"2000

NTFS, FAT или exFAT это совершенно разные файловые системы, которые могут использоваться для хранения данных на различных носителях. Обе созданы в компании Microsoft и в основном используются для Windows, но поддержка в ядре Linux для них тоже есть.

Чаще всего NTFS используется для установки операционной системы Windows или разделов Windows для файлов, в то время как FAT часто применяется на флешках или других внешних накопителях. Также FAT может часто использоваться в качестве основной файловой системы для Android. В этой статье мы рассмотрим различия FAT и NTFS, подробно разберем чем они отличаются и зачем нужны.

Файловая система устанавливает основные правила того как будут организованны данные при записи на носитель, независимо от того, что это - жесткий диск или флеш накопитель. Файловая система описывает каким образом будут организованы папки.

Определенная часть данных под названием файл размещается в нужной области накопителя. Файловая система выполняет все необходимые вычисления, а также определяет минимальный неделимый размер блока данных, максимальный размер файла, следит за фрагментацией. Существует множество различных типов файловых систем, это, например, файловые системы для установки ОС, для внешних носителей, для оптических дисков, распределенные файловые системы. Но в этой статье мы только выполним сравнение fat и ntfs.

Что такое файловая система FAT?

Файловые системы fat32 и ntfs очень сильно отличаются. FAT расшифровывается как File Allocation Table. Это очень давняя файловая система в истории вычислительных систем. Ее история началась в 1977 году. Тогда была разработана 8 битная файловая система, которая использовалась в NCR 7200 на основе Intel 8080. Это был терминал ввода, который работал с гибкими дисками. Файловая система была написана сотрудником Microsoft, Марком Макдональдом после обсуждения ее концепции с Билом Гейтсом.

Затем файловая система FAT начала использоваться в операционной системе MDOS для платформы Z80. Спустя несколько лет были выпущены новые версии, такие как FAT12, FAT16 и FAT32.

FAT32 увеличила максимальный размер тома до 16 Тб, по сравнению с FAT16. Также был увеличен размер файла до 4 Гб. File Allocation Table 32 бит вышла в августе 1995 года для Windows 95. Но эта файловая система все еще не может использоваться для установки тяжелых приложений или хранения больших файлов. Поэтому Microsoft разработала новую файловую систему - NTFS, которая лишена таких недостатков.

FAT32 - это отличная файловая система для внешних носителей, если вам нужно передавать файлы размером не более чем 4 Гб. Она поддерживается множеством различных устройств, таких как фотоаппараты, камеры, музыкальные плееры. Все версии Windows и дистрибутивы Linux полностью поддерживают FAT32. Даже Apple MacOS ее поддерживает.

Что такое файловая система NTFS?

Для своих новых систем Microsoft разработала новую файловую систему - New Technology File System или NTFS. Она появилась в 1993 году, в Windows NT 3.1. NTFS сняла многие ограничения на размеры файлов и диска. Ее разработка началась еще в далеком 1980 году, в результате объединения Microsoft и IBM для создания новой файловой системы с улучшенной производительностью.

Но сотрудничество компаний продлилось недолго, и IBM выпустила HPFS, которая использовалась в OS/2, а в Microsoft создали NTFS 1.0. Максимальный размер одного файла в NTFS может достигать 16 экзабайт, а это значит, что в ней поместятся даже самые большие файлы.

NTFS 3.1 была выпущена для Windows XP и получила множество интересных улучшений, таких как поддержку уменьшения размера разделов, автоматическое восстановление и символические ссылки, а максимальный размер диска с файловой системой увеличен до 256 ТБ. Это несмотря на максимальный размер файла в 16 Эб.

Из других интересных функций, которые были добавлены позже можно отметить отложенную запись на диск, поддержка дефрагментации, настройка дисковых квот, отслеживание ссылок и шифрование на уровне файлов. При всем этом, NTFS сохраняет совместимость с прежними версиями.

Сейчас это журналируемая файловая система, все действия с файлами заносятся в специальный журнал, с помощью которого файловая система может быть очень быстро восстановлена при повреждениях. NTFS поддерживается в Windows XP и более поздних версиях. Если сравнивать fat или ntfs, то последняя в Linux поддерживается не полностью, возможна запись и восстановление при повреждениях, а в MacOS поддерживается только чтение.

Что такое файловая система exFAT?

Файловая система exFAT - это еще один проект Microsoft по улучшению старой файловой системы. Ее можно исполосовать там, где не подходит FAT32. Она намного легче за NTFS, но поддерживает файлы размером более 4 Гб, и тоже часто применяется на флешках и накопителях. При ее разработке Microsoft использовала свою технологию поиска имен файлов по хэшу, что очень сильно улучшает производительность.

Большинство стран признают патентное право США, поэтому любая реализация exFAT невозможна в любых системах с закрытым или открытым исходным кодом. Но Microsoft хочет чтобы эта файловая система свободно распространялась и использовалась. Поэтому была разработана версия exFAT на основе FUSE под названием fuse-exfat. Она дает полный доступ на чтение и запись. Также была создана реализация на уровне ядра Linux в Samsung, которая сейчас тоже есть в открытом доступе.

Эта файловая система тоже имеет максимальное ограничение на размер файла 16 ЭБ, но она намного легче и не имеет никаких дополнительных возможностей. Если говорить про совместимость, то она полностью поддерживается в Windows, MacOS, Android и Linux.

Различия FAT и Ntfs

А теперь рассмотрим основные различия FAT и NTFS в виде краткого резюме по каждой из файловых систем:

FAT32

  • Совместимость: Windows, Mac, Linux, игровые консоли, практически все устройства, имеющие USB порт;
  • Плюсы: кроссплатформенность, легкость;
  • Минусы: максимальный размер файла 4 ГБ и раздела 16 ГБ, не журналируемая;
  • Использование: внешние носители.

NTFS

  • Совместимость: Windows, Linux, Xbox One, и только чтение в Mac;
  • Плюсы: журналируемая, большие лимиты на размер раздела и файла, шифрование, автоматическое восстановление;
  • Минусы: ограниченная кроссплатформенность;
  • Использование: для установки Windows.

exFAT

  • Совместимость: Windows XP и выше, MacOS X 10.6.5, Linux (fuse), Android;
  • Плюсы: большой лимит на размер раздела и файла, легкая по сравнению с NTFS;
  • Минусы: Microsoft ограничивает ее использование лицензионным соглашением;
  • Использование: для внешних носителей и внешних жестких дисков.

Выводы

В этой статье мы выполнили сравнение fat и ntfs. Это очень разные файловые системы. Но понять какая файловая система лучше fat или ntfs сложно, с одной стороны NTFS имеет намного больше возможностей, но зато FAT более легкая и поддерживается везде, где это возможно. Для разделов данных в Linux, которые должны быть доступны в Windows лучше использовать FAT, а не NTFS, поскольку она поддерживается лучше. А по-вашему что лучше fat или ntfs для Linux?

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то