В чём разница между FAT32, NTFS и exFAT. Что такое файловая система exFAT? Программный дисковый массив RAID

Эту файловую систему используют такие операционные системы, как Windows NT/2000/XP. При установке NTFS, диск разделяется на две неравные части: первая отводиться под MFT (Master File Table - общая таблица файлов), называется MFT - зоной и занимает порядка 12% от общего размера диска, вторую часть занимают собственно Ваши данные. Есть еще и третья зона, но о ней позже. Что за зверь этот MFT? Это основа NTFS. Он лежит, как было сказано ранее, в MFT - зоне т. е. в начале диска. Каждая запись в MFT соответствует какому-либо файлу и занимает около 1 Kb. По своей сути это каталог всех файлов находящихся на диске. Надо заметить, что любой элемент данных в NTFS рассматривается как файл, даже MFT. Первые 16 файлов (метафайлы) в MFT - зоне являются особой кастой. В них содержится служебная информация, они имеют фиксированное положение и они недоступны даже операционной системе. Кстати, первым из этих 16 является сам MFT - файл. Существует копия первых трех записей. Помните, я говорил о третьей зоне, так вот там она и лежит и своим положением, если можно так выразиться, делит диск пополам. Зачем это сделано? Да для надежности, в случае утери информации в MFT - файле, всегда можно восстановить информацию, а там уже дело техники, как говориться. Все остальные файлы в MFT - зоне могут располагаться произвольно. Надо заметить, что в MFT - зоне теоретически кроме служебных файлов ничего не находиться. Но бывают случаи, когда места на той части диска, что отведена для пользователя не остается:-(и тогда MFT - зона уменьшается. Соответственно появляется место во второй половине диска для записи данных. Когда же в этой зоне освобождается достаточное количество свободного места, MFT - зона опять расширяется. И вот тут то появляется проблема. В MFT - зону попадают обычные файлы и она начинает фрагментироваться. Это не смертельно конечно, но и приятного тут мало. Но вернемся к нашим баранам, то бишь метафайлам. Каждый из них отвечает за какую-либо область работы. Начинаются они с символа имени $ (тем, кто занимается программированием значок известен). Приведу пример некоторых из них:

  • MFT - не что иное как сам MFT
  • MFTmirr - та самая копия, что по серединке диска
  • LogFile - это файл журналирования
  • Boot - как видно из названия, его величество загрузочный сектор
  • Bitmap - карта свободного места раздела

Ну и так далее. Информация о метафайлах находиться в MFT - файле. Сложно? Есть такое дело. Но вся эта фигня придумана для увеличения надежности NTFS и себя оправдывает. Едем дальше. NTFS практически не имеет ограничения на размеры диска (во всяком случае при нынешних технологиях производства жестких дисков). Размер кластера может варьироваться от 512 b до 64 Kb, хотя обычный его размер равен 4 Kb.

Поговорим теперь о каталоге. Это метофайл с обозначением $. . Он разделен на части в каждой из которых содержится имя файла, его атрибуты и ссылка на MFT - файл. А там уже есть вся остальная информация. Каталог представляет собой бинарное дерево. Попробуем разобраться, что это за фигня такая. В каталоге информация о данных на диске расположена таким образом, что при поиске какого-либо файла каталог разбивался на две части и ответ заключался в том, в какой именно части находиться искомое. Затем та же самая операция повторяется в выбранной половине. И так до тех пор, пока не будет найден нужный файл.

А теперь о файлах. Их как таковых нет. Нормально, да! Есть так называемые стримы, или говоря нормальным русским языком - потоки. То есть, любая единица информации представляет собой несколько потоков. Один поток - это сами данные, он является основным. Другие потоки - атрибуты файла. К любому файлу можно прикрепить любой другой файл. Проще говоря, к потокам одних данных можно прикрепить совершенно новый поток и записать туда новые данные. Вот только информация по объему файла берется по объему основного потока. Пустые или малоразмерные файлы на диске отображены только в метафайлах. Сделано это в целях экономии дискового пространства. Вообще надо отметить, что понятие файл намного глубже и шире и все свойства описать довольно сложно. Отмечу, что максимальная длина имени файла может достигать 255 символов.

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

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

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

И наконец в NTFS есть еще две такие функции, как Symbolic Links - возможность создания виртуальных каталогов, и Hard Links - поддержка нескольких имен для одного и того же файла.Вот пожалуй что и все.

На данный момент времени эта файловая система является самой распространенной, хотя и сдает постепенно свои позиции после выхода Windows XP. Поддерживают FAT 32 все операционные системы семейства Windows начиная с Windows 95 OSR2. Итак, FAT 32 (File Allocation Table) - это электронная таблица размещения файлов. Находиться она практически в самом начале диска. Структура диска FAT:

    1. загрузочные секторы главного и дополнительного разделов;
    3. корневой каталог;
    4. область данных;
    5. цилиндр для выполнения диагностических операций чтения/записи;

Основное преимущество FAT 32 перед FAT 16 заключается в том, что вместо 16 разрядных записей используются 32х разрядные. Это в свою очередь увеличивает количество кластеров в разделе до 268 435 456 (в FAT - 65 536). При использовании FAT 32 размер тома равен 2 Tb, а размер одного файла может достигать 4 Gb. Заметное отличие FAT 32 от предшествующих таблиц заключается в том, что корневой каталог не занимает фиксированного места на диске и может иметь любой размер.

Размер кластера при использовании FAT 32 в разделе размером 2 Gb с 5 000 файлами равен 4 Kb (в FAT 16 - 32 Kb), в таблице будет использоваться до 524 288 записей. При этом сама таблица будет весить порядка 2 Мb.

Сравнение NTFS и FAT 32.

Ну что, займемся неблагодарным делом - сравнением двух файловых систем.

Достоинства:

    2. Размер дискового пространства на сегодняшний день практически не ограничен;
    3. Фрагментация файлов не влияет на саму файловую систему;
    4. Высокая надежность сохранения данных и собственно самой файловой структуры;

Недостатки:

    2. Работа с каталогами средних размеров затруднена из-за их фрагментации;

Достоинства:

    2. Низкое требование к объему оперативной памяти;
    3. Эффективная работа с файлами средних и малых размеров;
    4. Более низкий износ дисков, вследствие меньшего количества передвижений головок чтения/записи.

Недостатки:

    1. Низкая защита от сбоев системы;
    3. Ограничение по максимальному объему раздела и файла;
    4. Снижение быстродействия при фрагментации;
    5. Снижение быстродействия при работе с каталогами, содержащими большое количество файлов;

Итак, некоторые соображения. Обе файловые системы хранят данные в кластерах минимальный размер которого равен 512 b. Как правило обычный размер кластера равен 4 Kb. На этом сходства пожалуй и заканчиваются. Кое-что о фрагментации: скорость работы NTFS резко снижается при заполнении диска на 80 - 90 %. Это связано с фрагментацией служебных и рабочих файлов. Чем больше Вы работаете с таким загруженным диском, тем сильнее фрагментация и тем ниже производительность. В FAT 32 фрагментация рабочей области диска происходит и на более ранних этапах. Дело тут зависит от того, насколько часто Вы записываете/стираете данные. Как и в NTFS, фрагментация сильно снижает производительность. Теперь об оперативной памяти. Объем самой электронной таблицы FAT 32 может занимать в ОЗУ порядка нескольких мегабайт. Но на помощь приходит кэширование. Что записывается в кэш:

    1. Наиболее используемые каталоги;
    2. Данные о всех используемых в данный момент времени файлах;
    3. Данные о свободном пространстве диска;

А что же NTFS? Кэшированию трудно поддаются каталоги больших размеров, а они могут достигать размеров нескольких десятков мегабайт. Плюс MFT, плюс информация о свободном месте на диске. Хотя надо заметить, что NTFS все же довольно экономно расходует ресурсы оперативной памяти. В наличии удачная система хранения данных, в MFT каждая запись примерно равна 1 Kb. Но все же требования к объему ОЗУ выше, чем для FAT 32. Короче, если Ваша память меньше или равна 64 Mb, то эффективнее с точки зрения скорости окажется FAT 32. Если больше - разница в скорости будет маленькая, а зачастую вообще никакой. Теперь о самом жестком диске. Для использования NTFS желательно наличие Bus Mastering. Что это? Это особый режим работы драйвера и контроллера. При использовании BM обмен происходит без участия процессора. Отсутствие ВМ скажется на производительности системы. Кроме этого, вследствие использования более сложной файловой системы количество движений головок чтения/записи возрастает, что так же влияет на скорость. Наличие дискового кэша одинаково положительно сказывается, как на NTFS, так и на FAT 32.

О файловых системах читайте в данной статье.

Система управления файлами является основной в абсолютном большинстве со­временных операционных систем. Все современные операционные сис­темы используют файлы и соответствующее программное обеспечение для рабо­ты с ними. Дело в том что, во-первых, через файловую систему связываются по данным многие системные обрабатывающие программы. Во-вторых, с помощью этой системы решаются проблемы централизованного распределения дискового пространства и управления данными. Наконец, пользователи получают более про­стые способы доступа к своим данным, которые они размещают на устройствах внешней памяти.

Существует большое количество файловых систем, созданных для разных уст­ройств внешней памяти и разных операционных систем. В них используются, соответственно, разные принципы размещения данных на носителе. Это системы FAT, FAT32 и NTFS.

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

Файловая система FAT (File Allocation Table - таблица размещения файлов) по­лучила свое название благодаря простой таблице, в которой указываются:

  • непосредственно адресуемые участки логического диска, отведенные для раз­мещения в них файлов или их фрагментов; О свободные области дискового пространства;
  • дефектные области диска (эти области содержат дефектные участки и не га­рантируют чтение и запись данных без ошибок).

В файловой системе FAT дисковое пространство любого логического диска де­лится на две области (рис.) системную область и область данных.

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

  • загрузочной записи (Boot Record, BR);
  • зарезервированных секторов (Reserved Sectors, ResSec);
  • таблицы размещения файлов (File Allocation Table, FAT);
  • корневого каталога (Root Directory, RDir).

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

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

Каждый файл занимает целое число кластеров. Последний кластер при этом мо­жет быть задействован не полностью, что при большом размере кластера может приводить к заметной потере дискового пространства. На дискетах кластер зани­мает один или два сектора, а на жестких дисках его размер зависит от объема раз­дела. В таблице FAT кластеры, принадлежащие одному файлу (или файлу-каталогу), связываются в цепочки. Для указания номера кластера в файло­вой системе FAT16 используется 16-разрядное слово, следовательно, можно иметь до 2 16 = 65 536 кластеров (с номерами от 0 до 65 535).

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

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

С разными видами файловых систем мы сталкиваемся преимущественно при форматировании накопителей — сегодня почти исключительно жестких дисков и USB-флешек. Как правило, для первых почти автоматически выбирают NTFS, для вторых — FAT32 или exFAT. Иногда в свойствах подключенного диска файловая система обозначается как FAT. На самом деле такой файловой системы не существует, а FAT — это название общего типа, в который входят FAT8, FAT12, FAT16 и FAT32. На сегодняшний день первые ушли далеко в прошлое, и FAT в свойствах диска обозначает файловую систему FAT16.

Определение

FAT (в контексте FAT16) — 16-битная архитектура файловой системы, применяющаяся для жестких дисков и других накопителей малого объема.

FAT32 — 32-битная архитектура файловой системы, применяющаяся для накопителей и жестких дисков объема от 512 МБ до 2 ТБ, использующаяся в операционных системах Windows 98, Windows 95 OSR2 и Windows 2000.

Сравнение

Файловая система FAT потеряла актуальность с увеличением объемов накопителей. Сегодня ее применяют разве что в дискетах формата 3,5 дюйма. В FAT32 форматируются флеш-накопители, карты памяти и жесткие диски для старых операционных систем. FAT поддерживается и распознается всеми популярными ОС, FAT32 — только ОС семейства Windows до 2000 версии и последние версии DOS.

В FAT32 не поддерживаются логические диски (не путать с физическими накопителями), объем которых меньше 512 МБ, FAT неэффективна с логическими дисками объемом свыше 256 МБ. Соответственно, максимальный объем тома для FAT32 составляет 2 ТБ, для FAT — 2 ГБ. FAT32 эффективнее использует дисковое пространство за счет меньшего размера кластеров.

Файловая система FAT32 не поддерживает сжатие диска, тогда как в FAT сжать диск можно с помощью специальных утилит. Зато в FAT ограничено количество папок и файлов в корневом каталоге до 512 записей. Файловая система FAT32 считается более надежной и устойчивой за счет возможности перемещения корневого каталога и использования резервной копии файловой таблицы. Загрузочный сектор FAT32 больше, чем в FAT, и хранит бэкапы структуры данных.

Выводы сайт

  1. Файловая система FAT предназначена для накопителей малого объема (до 2 ГБ), FAT32 — до 2 ТБ.
  2. В FAT32 размер кластера меньше.
  3. FAT поддерживается всеми операционными системами, FAT32 — только Windows от 95 до 2000 версий и последними версиями DOS.
  4. В FAT32 не поддерживаются логические диски объемом менее 512 МБ.
  5. FAT32 эффективнее использует дисковое пространство.
  6. FAT32 не поддерживает сжатие диска.
  7. В FAT ограничено количество записей в корневом каталоге до 512.
  8. FAT32 более устойчивая и надежная.

До возникновения операционной системы Microsoft Windows NT у пользователей персональных компьютеров редко возникала проблема выбора файловой системы. Все владельцы операционных систем (ОС) MS-DOS и Microsoft Windows применяли одну из разновидностей файловой системы с названием FAT (FAT-12, FAT-16 или FAT-32).

Теперь же ситуация изменилась. Устанавливая ОС Microsoft Windows NT/2000/XP, при форматировании диска Вам необходимо сделать выбор между тремя файловыми системами - FAT-16, FAT-32 или NTFS.

В этой статье мы расскажем о внутреннем устройстве перечисленных файловых систем, рассмотрим присущие им недостатки и достоинства. Вооружившись этими знаниями, Вы сможете сделать осознанный выбор в пользу той или иной файловой системы для ОС Microsoft Windows.

Кратко о файловой системе FAT

Файловая система FAT появилась на заре развития персональных компьютеров и первоначально предназначалась для хранения файлов на дискетах.

Информация хранится на дисках и дискетах порциями, в секторах размером 512 байт. Все пространство дискеты разделялось на области фиксированной длины, называемые кластерами. Кластер может содержать один или больше секторов.

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

Помимо корневого каталога, в файловой системе FAT могут создаваться и другие каталоги. Вместе с корневым каталогом они образуют дерево каталогов, содержащих информацию о файлах и каталогах. Что же касается расположения кластеров файла на диске, то эта информация хранится в начальной области дискеты, называемой таблицей размещения файлов (File Allocation Table, FAT) .

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

В каталоге хранится номер первого кластера, распределенного файлу или вложенному каталогу. Номера остальных кластеров можно найти при помощи таблицы размещения файлов FAT.

При разработке формата таблицы FAT стояла задача экономии места, т.к. дискета имеет весьма небольшой объем (от 180 Кбайт до 2,44 Мбайт). Поэтому для хранения номеров кластера было отведено всего 12 двоичных разрядов. В результате таблицу FAT удалось упаковать так плотно, что она занимала всего один сектор дискеты.

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

Различные версии FAT

После появления жестких дисков большого объема (в те времена большими считались диски размером 10-20 Мбайт) количество кластеров увеличилось, и 12 разрядов стало недостаточно для хранения их номеров. Был разработан новый 16-разрядный формат таблицы размещения файлов, где для хранения номера одного кластера выделялось два байта. Старая файловая система, разработанная для дискет, стала называться FAT-12, а новая - FAT-16.

Увеличенная в размерах таблица FAT-16 перестала помещаться в одном секторе, однако при больших объемах диска этот недостаток не играл существенной роли. По-прежнему для страховки на диске хранилось две копии таблицы FAT.

Однако когда объем диска стал измеряться в сотнях Мбайт и даже в гигабайтах, файловая система FAT-16 опять стала неэффективной. Чтобы номера кластеров помещались в 16 разрядов, при форматировании дисков большого объема приходится увеличивать размер кластера до 16 Кбайт и даже больше. Это вызывало проблемы при необходимости хранения на диске большого количества маленьких файлов. Так как пространство для хранения файлов выделяется кластерами, даже для очень маленького файла приходится отводить слишком много дисковой памяти.

В результате была предпринята еще одна, по всей видимости, последняя попытка усовершенствования файловой системы FAT - размер ячейки таблицы размещения файлов был увеличен до 32. Это позволило форматировать диски размером в сотни Мбайт и единицы Гбайт с использованием относительно небольшого размера кластера. Новая файловая система стала называться FAT-32.

Стандарт 8.3

До появления ОС Microsoft Windows 95 пользователи персональных компьютеров были вынуждены использовать для именования файлов весьма неудобный "стандарт 8.3", в котором имя файла должно было состоять из 8 символов плюс 3 символа расширения. Это ограничение накладывалось не только программным интерфейсом операционной системы MS-DOS, но и структурой записи каталога файловой системы FAT.

После модификации структуры записей каталога ограничение на количество символов в имени файла было практически снято. Теперь длина имени файла может достигать 255 символов, что, очевидно, достаточно в большинстве случаев. Однако такая модифицированная файловая система FAT стала несовместима с операционной системой MS-DOS, а также с работающей в ее среде оболочкой Microsoft Windows версий 3.1 и 3.11.

Более подробно о форматах внутренних структур FAT Вы можете прочитать в нашей статье "Восстановление данных в разделах FAT", опубликованных на этом сайте.

Ограничения файловой системы FAT

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

Максимальный размер логического диска FAT-16 составляет 4 Гбайт, что очень мало по современным понятиям. Компания Microsoft, однако, не рекомендует создавать диски FAT-16 размером более 200 Мбайт, т.к. при этом дисковое пространство будет использоваться очень неэффективно.

Теоретически максимальный размер диска FAT-32 может составлять 8 Тбайт, что должно хватить для развертывания любых современных приложений. Это значение получается путем перемножения максимального количества кластеров (268 435 445) на максимальный размер кластера, допустимый в FAT-32 (32 Кбайт).

Однако на практике ситуация выглядит немного по-другому.

Из-за внутренних ограничений утилита ScanDisk в ОС Microsoft 95/98 не способна работать с дисками, превышающими по своему объему значение 127.53 Гбайт. Еще год назад такое ограничение не вызвало бы проблем, однако сегодня на рынке уже появились недорогие диски объемом 160 Гбайт, и скоро их объем будет еще больше.

Что же касается новых операционных систем Microsoft Windows 2000/XP, то они не способны создавать разделы FAT-32 с объемом, превышающим 32 Гбайт. Если Вам нужны разделы такого или большего объема, компания Microsoft предложит Вам использовать файловую систему NTFS.

Другое существенное ограничение FAT-32 накладывается на размер файлов - он не может превышать 4 Гбайт. Это ограничение будет сказываться, например, при записи на диск видеофрагментов или при создании объемных файлов баз данных.

В каталоге FAT-32 может хранить не более 65534 файлов.

Недостатки FAT

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

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

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

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

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

Современная файловая система NTFS, разработанная компанией Microsoft для своей операционной системы Microsoft Windows NT, лишена ограничений и недостатков FAT. С момента своего возникновения развивающаяся файловая система NTFS претерпела несколько усовершенствований, последние из которых (на момент создания этой статьи) были сделаны в ОС Microsoft Windows XP.

В файловой системе NTFS все атрибуты файлов (имя, размер, расположение экстентов файла на диске и т.д.) хранятся в скрытом системном файле $MFT. На хранение информации о каждом файле (и каталоге) в $MFT отводится от одного до нескольких Кбайт. При большом количестве файлов, хранящихся на диске, объем файла $MFT может достигать десятков или даже сотен Мбайт.

Файлы небольшого размера (порядка сотен байт) хранятся непосредственно в $MFT, что существенно ускоряет доступ к ним.

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

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

Перечислим некоторые, наиболее интересные возможности NTFS современных версий.

Средства разграничения доступа

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

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

Шифрование файлов

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

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

Программный дисковый массив RAID

Средствами NTFS можно создать так называемый программный массив RAID 1 (Mirrored set). Этот массив, составляемый из двух физических или логических дисков одинакового объема, позволяет дублировать (или, как еще говорят, "зеркалировать") файлы.

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

Наборы Volume Set

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

Наборы, созданные из нескольких разделов или физических дисков, называются Volume Set (в терминологии ОС Microsoft Windows NT) или Spanned Volume (в терминологии ОС Windows 2000/XP).

Упаковка файлов

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

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

Многопоточные файлы

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

Жесткие связи

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

Заметим, что подобные возможности характерны для файловых систем, применяемых в Unix-подобных ОС, например, в Linux, FreeBSD и т.д.

Точки переопределения

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

Переходы

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

Квотирование дискового пространства

Файловая система NTFS, использованная в ОС Microsoft Windows 2000/XP, позволяет квотировать, или ограничивать дисковое пространство, предоставляемое в распоряжение пользователей. Такая возможность особенно полезна при создании файловых серверов.

Ведение журнала изменений

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

Ограничения NTFS

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

Максимальный размер логического диска NTFS составляет примерно 18 446 744 Тбайт, что, очевидно, достаточно для всех современных приложений, а также приложений, которые появятся в ближайшем будущем. Максимальный размер файла еще больше, так что это ограничение также несущественно.

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

Сравнение NTFS и FAT по скорости доступа к файлам

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

Так как принципы работы и внутренние структуры FAT намного проще, чем NTFS, при работе с небольшими каталогами FAT будет, скорее всего, быстрее. Однако если содержимое каталога настолько мало, что он полностью помещается в одну или несколько записей файла $MFT, или напротив, если каталог очень большой, "победит" NTFS.

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

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

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

Так что же выбрать - FAT или NTFS?

Как видите, NTFS имеет многочисленные преимущества перед FAT, а ее ограничения в большинстве случаев несущественны. Если Вы стоите перед выбором файловой системы, рассмотрите в первую очередь возможность использования NTFS, и только потом - FAT.

Какие могут быть препятствия, затрудняющие замену FAT на NTFS?

Наиболее серьезное препятствие - необходимость использования ОС Microsoft Windows NT/2000/XP. Для нормальной работы этой ОС требуется как минимум 64 Мбайт оперативной памяти и процессор с тактовой частотой не ниже 200-300 Мгц. Впрочем, этим требованиям не удовлетворяют лишь очень старые компьютеры, не способные работать под управлением ОС Microsoft Windows современных версий.

Если же Ваш компьютер может работать в среде Microsoft Windows 2000/XP, и у Вас нет ни одного прикладного приложения, рассчитанного исключительно на ОС Microsoft Windows 95/98/ME, мы рекомендуем Вам при первой же возможности перейти к новой операционной системе, заменив при этом FAT на NTFS.

При этом Вы также получите заметное увеличение надежности работы, т.к. после установки всех необходимых пакетов исправлений (Service Pack), а также корректных версий драйверов периферийных устройств, ОС Microsoft Windows 2000/XP будет работать очень стабильно.

В некоторых случаях приходится совмещать в рамках одного физического диска несколько файловых систем. Например, если на Вашем компьютере установлено три операционные системы Microsoft Windows ME, Microsoft Windows XP и Linux, можно создать три файловые системы - FAT, NTFS и Ext2FS. Первая из них будет "видна" при работе в Microsoft Windows ME и Linux, вторая - только в Microsoft Windows XP, и третья - только в Linux (заметим, что в ОС LINUX существует также возможность доступа к разделам NTFS).

Но если Вы создаете сервер (файловый, базы данных или Web) на базе ОС Microsoft Window NT/2000/XP, то единственным разумным выбором будет NTFS. Только в этом случае удастся добиться необходимой стабильности, надежности и защищенности сервера.

Существует также общепринятое (и на наш взгляд, ошибочное) мнение, что домашним пользователям компьютеров не нужна ни ОС Microsoft Window NT/2000/XP, ни файловая система NTFS.

Конечно, если компьютер применяется исключительно для игр, из соображений совместимости лучше всего установить Microsoft Windows 98/ME и отформатировать диски в FAT. Однако если Вы работаете не только в офисе, но и дома, лучше использовать современные, профессиональные и надежные решения. Это позволит, в частности, организовать защиту от вторжения на Ваш компьютер через Интернет, ограничить доступ к каталогам и файлам с критичными данными, а также повысит шансы на успешное восстановление информации при возникновении различного рода сбоев.

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

Для того, чтобы на физическом носителе можно было сохранить информацию, его нужно подготовить для использования в компьютерной операционной системе. Операционная система для сохранения информации выделяет свободную область диска. Для этого необходимо поделить диск на малые контейнеры – сектора. Форматирование диска на низком уровне выделяет для каждого сектора определенный размер. Операционная система группирует эти сектора в кластеры. Форматирование на высшем уровне задает всем кластерам одинаковый размер, обычно в интервале от 2 до 16 секторов. В дальнейшем на каждый файл выделяется по одному или несколько кластеров. Размер кластера зависит от операционной системы, ёмкости диска, а также требуемой скорости работы.

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

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

Файловая система FAT появилась вместе с операционной системой Microsoft DOS, после чего была несколько раз усовершенствована. У нее есть версии FAT12, FAT16 и FAT32. Само название FAT происходит от использования файловой системой своеобразной базы данных в виде «таблицы размещения файлов» (File Allocation Table), которая содержит запись для каждого кластера на диске. Номера версий ссылаются на количество бит, используемых в номерах элементов в таблице. Таким образом файловая система имеет ограничение на поддерживаемый размер диска. В 1987 году она не поддерживала диске размером свыше 32 Мб. С появлением Windows 95 вышла новая версия файловой системы FAT32 с теоретической поддержкой дисков емкостью до 2 ТБ. Постоянные проблемы с поддержкой дисков больших размеров появляются из-за фиксированного количества элементов, ограниченного количеством бит, используемых в определении положения кластера. Например, версия FAT16 не поддерживает более 2 16 или 65536 кластеров. Количество секторов в кластере тоже ограничено.

Еще одна проблема с большими дисками заключалась в невозможности использования огромного пространства, выделенного для мелких файлов. Из-за того, что количество кластеров ограничено, увеличивался их размер, чтобы можно было охватить всю емкость диска. Это приводит к неэффективному использованию пространства при хранении большинства файлов, размер которых не кратен размеру кластера. Например, FAT32 выделяет кластеры размером 16 Кб для разделов диска в интервале от 16 до 32 ГБ. Для хранения файла размером 20 Кб потребуется два кластера размером 16 Кб, которые займут на диске 32 Кб. Файлы размером 1 Кб занимают 16 Кб на диске. Таким образом в среднем 30-40% размера емкости диска пропадает для хранения мелких файлов. Разбиение диска на мелкие разделы позволяет уменьшить размер кластера, но для дисков емкостью более 200 Гб на практике не применяется.

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

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

В начале 90-х Microsoft начала разработку совершенно нового ПО, предназначенного для окружения с большим потреблением ресурсов, чем обычные домашние пользователи. Для потребностей бизнеса и индустрии ресурсов, предоставляемых операционными системами Windows основанных на DOS, стало недостаточно. Корпорация Microsoft совместно с IBM работали над операционной системой OS/2 с файловой системой HPFS (High Performance File System – файловая система высокой эффективности). Корпоративная разработка не принесла успеха и в скором времени каждая компания вновь пошла своим путем. Microsoft разработала различные версии операционной системы Windows NT, на основе которых построены Windows 2000 и Windows XP. В каждой из них используется собственная версия файловой системы NTFS, которая продолжает развитие.

NTFS (New Technology File System – «файловая система новой технологии») является стандартной файловой системой для операционных систем на основе Windows NT. Она была разработана для замены FAT. NTFS наиболее гибкая по сравнению с FAT. В ее системных областях хранятся в основном файлы, а не фиксированные структуры как в FAT, что позволяет их изменять, расширять или перемещать в процессе использования. Простым примером является Master File Table (MFT) – «главная таблица файлов». MFT - это своеобразная база данных с различной информацией о файлах на диске. Файлы малого размера (1 Кб и менее) могут хранится непосредственно в MFT. Для больших файлов NTFS выделяет кластеры, но в отличие от FAT размер кластера обычно не превышает 4 Кб, а встроенный метод сжатия избавляет от проблем с неиспользованным местом, выделенным под файлы. А ещё в NTFS можно использовать .

Файловая система NTFS разработана для многопользовательского окружения и имеет встроенные механизмы защиты и разграничения прав доступа. Например, операционные системы Windows 2000 и Windows XP (кроме «Домашней редакции») позволяют устанавливать разрешения доступа к отдельным файлам и шифровать их. Однако высокий уровень безопасности усложняет работу обычных пользователей с компьютером. Необходимо быть предельно осторожным при установке паролей и разрешений на файлы, чтобы не потерять важные данные.