sonyps4.ru

Файловой системы ntfs чем лучше. Форматирование флешки в FAT32 или NTFS — что лучше

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

Файловая система, созданная на основе FAT16. По сути, эта файловая система представляет собой электронную таблицу размещения файлов, использующую 32-разрядные записи. Кстати, аббревиатура расшифровывается как File Allocation Table.

Файловая система, представляющая собой определенную структуру: в начале диска сводную таблицу (или каталог) всех файлов, далее - собственно данные. Аббревиатура расшифровывается как New Technology File System.

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

В общем и целом NTFS работает ощутимо медленнее FAT32, зато NTFS эффективнее при обращении к файлам больших размеров. Фрагментация никак не влияет на NTFS, тогда как FAT32 производительность заметно снизит (особенно это касается работы с каталогами средних размеров).

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

Для работы с файловой системой NTFS требуется значительный объем оперативной памяти, так что слабые системы с ОЗУ менее 64 Мб на нее не рассчитаны. Хотя в настоящее время подобные сборки можно встретить разве что в музеях или созданные ради экспериментов. Однако помнить о том, что требований к объему ОЗУ система FAT32 не предъявляет - стоит, особенно если учитывать вариант расширения штатной памяти мобильных устройств. Телефон просто не сможет работать с картой памяти, отформатированной в NTFS, даже при возможности доступа из операционной системы.

Максимальный объем файла в FAT32 - 4 Гб. NTFS теоретически поддерживает работу с файлами размером около 16 Тб. Теоретический максимум размера диска для FAT32 - 8 Тб, тогда как для NTFS - около 16 эксабайт. Правда, до использования этих свойств на практике технологии пока не дошли.

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

NTFS рациональнее использует дисковое пространство.
FAT32 работает быстрее.
NTFS обеспечивает высокую производительность при работе с файлами больших размеров.
FAT32 поддерживает работу с файлами размером до 4 Гб.
FAT32 не требует большого объема ОЗУ.
NTFS обеспечивает высокую надежность работы системы.

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

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

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

Файловых систем на самом деле существует намного больше, чем было представлено выше. Из неупомянутых можно выделить, например, ext4 и HFC, которые используются в операционных системах Linux и Mac OS соответственно. Но в статье разобраны будут всего три: FAT32, NTFS и exFAT, потому что они являются самыми популярными, если не единственными, в рамках операционной системы Windows.

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

Совместимость

Начнем мы, пожалуй, с самого важного аспекта - с совместимости. Отличие FAT32 от NTFS и exFAT в этом плане довольно большое, но обо всем по порядку.

Данная файловая система является самой старой из представленных. Соответственно, поддерживают ее по большей мере все устройства, начиная от стационарных компьютеров на базе операционной системы Windows XP и заканчивая магнитолами, установленными в автомобилях. С ней работают все передовые операционные системы: Windows, Linux, Mac OS. При желании флешки с этой файловой системой можно посмотреть и на смартфонах, правда, для этого понадобится специальный переходник OTG.

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

Эта файловая система новомодная. Отсюда вытекает ее главный недостаток - плохая совместимость. Использовать флешку с этой файловой системой можно только в рамках ОС Windows и на смартфонах Android и iOS.

Влияние на износ чипа

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

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

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

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

Ограничения на размер записываемых данных

Если вы записывали большие файлы на флешку, то, скорее всего, вам знакома ситуация, когда появляется ошибка в таких случаях. Связано это с ограничениями файловой системы. Какие отличия FAT32 от NTFS имеются в этом плане?

Пожалуй, FAT32 снова проигрывает своим «конкурентам» в этом вопросе. Ввиду ее «возраста» не способна поместить в себя файл размером больше 4 гигабайт. В те времена, когда она создавалась, данный показатель являлся недосягаемым, однако все изменилось, и 4 гигабайта сейчас — очень маленькое значение. Помимо всего прочего, вы не сможете на флешку с FAT32 записать более 512 файлов в корневой каталог.

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

Если NTFS не имеет ограничений, то exFAT и подавно. Вы столкнетесь с ошибкой только в том случае, если попытаетесь записать файл размером больше 16 зеттабайт, что просто нереально, ведь нет такого файла и нет флешки такого объема. Ну а о количестве файлов в корневой директории лучше промолчать.

Какую файловую систему выбрать

Вот мы и рассмотрели все отличия FAT32 от NTFS и exFAT. В результате можно дать некоторые рекомендации к выбору файловой системы:

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

Заключение

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

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

В эпоху DOS и Windows 3.1 не было возможности выбирать файловую систему (ФС) - все работали в FAT16 и были довольны. Конечно, не из-за того, что причин для недовольства не было, просто альтернативы на то время не существовало. С выходом в свет Windows 95 OSR2 альтернатива появилась, но выбор между FAT16 и FAT32 был настолько очевиден, что без лишних вопросов более новая версия одержала верх. Операционные системы Windows NT/2000, несмотря на поддержку NTFS, революцию в умах обладателей домашних ПК так и не совершили, поскольку это были системы, больше ориентированные на серверы.

А вот с появлением Windows XP на беззащитные головы пользователей таки свалилась проблема выбора между FAT32 и NTFS. Ведь каждому из нас хочется, как минимум, не отставать от прогресса и применять к своему железному другу последние достижения научно-технического прогресса. Однако кое-что все-таки заставляет нас размышлять на тему "Стоит или не стоит?", и это кое-что - увы, отнюдь не безграничные ресурсы нашего компьютера. Итак, какую же из двух ФС предпочесть? Как вы убедитесь далее, ответ на этот вопрос сугубо индивидуален.

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

ФС управляет хранением и доступом к файлам на компьютере - и этим все сказано. Одним из базовых понятий ФС является кластер - минимальный размер данных на диске. Например, если ваш файл "весит" всего 1 байт, а размер кластера на винчестере - 8 Кб, то в итоге на жестком диске размер файла будет тоже 8 Кб (один кластер). Если же файл реально занимает 8,1 Кб, на диске он будет "весить" все 16 Кб (два кластера). Теперь попробуйте прикинуть, сколько сотен файлов хранится на винчестере, и вам покажется, что все прошедшие годы вы просто недооценивали роль кластера в вашей жизни.

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

FAT32

Теоретически размер логического диска FAT32 ограничен 8 Тб. На практике же встроенные в Windows 2000/XP средства администрирования дисков не позволят создать раздел размером более 32 Гб. Но даже этого для сегодняшних ПК хватает с лихвой.

Имена файлов в FAT32 могут содержать до 255 символов. Максимально возможный размер одного файла составляет 4 Гб.

Пожалуй, одной из важнейших характеристик ФС является стабильность, то есть устойчивость к ошибкам. У FAT32 с этим дела обстоят, прямо говоря, не важно. Наиболее распространенная ошибка, которая знакома всем обладателям Windows 98, - неправильно записанные данные о количестве свободного места. Она возникает по причине того, что данные о количестве свободного места не вычисляются, как это происходило в FAT16, а просто записываются в загрузочную область. И когда возникает сбой в процессе копирования (удаления, перемещения) файла, ОС не успевает записать обновленные данные о свободном месте на диске, хотя на самом деле оно изменилось. В результате возникает ошибка, исправить которую можно лишь полной проверкой винчестера специальной программой.

К тому же FAT32 довольно сильно подвержен фрагментации (особенно при заполнении диска более чем на 80%) - это существенно замедляет работу. В особо запущенных случаях фрагментация может привести даже к "падению" всей ФС.

NTFS

Ограничения на размер жесткого диска, выставляемые NTFS, сегодня недостижимы - 2 000 000 Гб, так что, можно сказать, ограничений попросту нет. Первые 12% диска под управлением NTFS отводятся под основную таблицу файлов MFT (Master File Table). Она представляет собой каталог всех имеющихся файлов, причем файлы небольшого размера (100 байт) хранятся прямо в MFT - это заметно ускоряет доступ к ним. Для работы ФС очень важны первые 16 элементов MFT (указатели на системные файлы) и поэтому на диске хранится копия этих записей. В результате "снести" NTFS довольно непросто: система в состоянии обойти серьезные неисправности поверхности диска и пережить даже повреждение MFT (аналогичная ситуация для FAT закончилась бы фатально).

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

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

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

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

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

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

В этой статье я попытаюсь дать оценку быстродействию файловых систем, используемых в операционных системах Windows95/98/ME, а также WindowsNT/2000. Статья не содержит графиков и результатов тестирований, так как эти результаты слишком сильно зависят от случая, методик тестирования и конкретных систем, и не имеют почти никакой связи с реальным положением дел. В этом материале я вместо этого постараюсь описать общие тенденции и соображения, связанные с производительностью файловых систем. Прочитав данный материал, вы получите информацию для размышлений и сможете сами сделать выводы, понять, какая система будет быстрее в ваших условиях, и почему. Возможно, некоторые факты помогут вам также оптимизировать быстродействие своей машины с точки зрения файловых систем, подскажут какие-то решения, которые приведут к повышению скорости работы всего компьютера. В данном обзоре упоминаются три системы - FAT (далее FAT16), FAT32 и NTFS, так как основной вопрос, стоящий перед пользователями Windows2000 - это выбор между этими вариантами. Я приношу извинение пользователям других файловых систем, но проблема выбора между двумя, внешне совершенно равнозначными, вариантами со всей остротой стоит сейчас только в среде Windows2000. Я надеюсь, всё же, что изложенные соображения покажутся вам любопытными, и вы сможете сделать какие-то выводы и о тех системах, с которыми вам приходится работать.

Данная статья состоит из множества разделов, каждый из которых посвящен какому-то одному вопросу быстродействия. Многие из этих разделов в определенных местах тесно переплетаются между собой. Тем не менее, чтобы не превращать статью в кашу, в соответствующем разделе я буду писать только о том, что имеет отношение к обсуждаемый в данный момент теме, и ни о чем более. Если вы не нашли каких-то важных фактов в тексте - не спешите удивляться: скорее всего, вы встретите их позже. Прошу вас также не делать никаких поспешных выводов о недостатках и преимуществах той или иной системы, так как противоречий и подводных камней в этих рассуждениях очень и очень много. В конце я попытаюсь собрать воедино всё, что можно сказать о быстродействии систем в реальных условиях.1. Теория

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

Для начала хотелось бы заметить, что любая файловая система так или иначе хранит файлы. Доступ к данным файлов - основная и неотъемлемая часть работы с файловой системой, и поэтому прежде всего нужно сказать пару слов об этом. Любая файловая система хранит данные файлов в неких объемах - секторах, которые используются аппаратурой и драйвером как самая маленькая единица полезной информации диска. Размер сектора в подавляющем числе современных систем составляет 512 байт, и все файловые системы просто читают эту информацию и передают её без какой либо обработки приложениям. Есть ли тут какие-то исключения? Практически нет. Если файл хранится в сжатом или закодированном виде - как это возможно, к примеру, в системе NTFS - то, конечно, на восстановление или расшифровку информации тратится время и ресурсы процессора. В остальных случаях чтение и запись самих данных файла осуществляется с одинаковой скоростью, какую файловую систему вы не использовали бы.

Обратим внимание на основные процессы, осуществляемые системой для доступа к файлам:

Поиск данных файла

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

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

  • NTFS способна обеспечить быстрый поиск фрагментов, поскольку вся информация хранится в нескольких очень компактных записях (типичный размер - несколько килобайт). Если файл очень сильно фрагментирован (содержит большое число фрагментов) - NTFS придется использовать много записей, что часто заставит хранить их в разных местах. Лишние движения головок при поиске этих данных, в таком случае, приведут к сильному замедлению процесса поиска данных о местоположении файла.
  • FAT32, из-за большой области самой таблицы размещения будет испытывать огромные трудности, если фрагменты файла разбросаны по всему диску. Дело в том, что FAT (File Allocation Table, таблица размещения файлов) представляет собой мини-образ диска, куда включен каждый его кластер. Для доступа к фрагменту файла в системе FAT16 и FAT32 приходится обращаться к соответствующей частичке FAT. Если файл, к примеру, расположен в трех фрагментах - в начале диска, в середине, и в конце - то в системе FAT нам придется обратиться к фрагменту FAT также в его начале, в середине и в конце. В системе FAT16, где максимальный размер области FAT составляет 128 Кбайт, это не составит проблемы - вся область FAT просто хранится в памяти, или же считывается с диска целиком за один проход и буферизируется. FAT32 же, напротив, имеет типичный размер области FAT порядка сотен килобайт, а на больших дисках - даже несколько мегабайт. Если файл расположен в разных частях диска - это вынуждает систему совершать движения головок винчестера столько раз, сколько групп фрагментов в разных областях имеет файл, а это очень и очень сильно замедляет процесс поиска фрагментов файла.

Вывод: Абсолютный лидер - FAT16, он никогда не заставит систему делать лишние дисковые операции для данной цели. Затем идет NTFS - эта система также не требует чтения лишней информации, по крайней мере, до того момента, пока файл имеет разумное число фрагментов. FAT32 испытывает огромные трудности, вплоть до чтения лишних сотен килобайт из области FAT, если файл разбросан разным областям диска. Работа с внушительными по размеру файлами на FAT32 в любом случае сопряжена с огромными трудностями - понять, в каком месте на диске расположен тот или иной фрагмент файла, можно лишь изучив всю последовательность кластеров файла с самого начала, обрабатывая за один раз один кластер (через каждые 4 Кбайт файла в типичной системе). Стоит отметить, что если файл фрагментирован, но лежит компактной кучей фрагментов - FAT32 всё же не испытывает больших трудностей, так как физический доступ к области FAT будет также компактен и буферизован.

Поиск свободного места

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

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

  • Для определения того, свободен ли данный кластер или нет, системы на основе FAT должны просмотреть одну запись FAT, соответствующую этому кластеру. Размер одной записи FAT16 составляет 16 бит, одной записи FAT32 - 32 бита. Для поиска свободного места на диске может потребоваться просмотреть почти всего FAT - это 128 Кбайт (максимум) для FAT16 и до нескольких мегабайт (!) - в FAT32. Для того, чтобы не превращать поиск свободного места в катастрофу (для FAT32), операционной системе приходится идти на различные ухищрения.
  • NTFS имеет битовую карту свободного места, одному кластеру соответствует 1 бит. Для поиска свободного места на диске приходится оценивать объемы в десятки раз меньшие, чем в системах FAT и FAT32.

Вывод: NTFS имеет наиболее эффективную систему нахождения свободного места. Стоит отметить, что действовать «в лоб» на FAT16 или FAT32 очень медленно, поэтому для нахождения свободного места в этих системах применяются различные методы оптимизации, в результате чего и там достигается приемлемая скорость. (Одно можно сказать наверняка - поиск свободного места при работе в DOS на FAT32 - катастрофический по скорости процесс, поскольку никакая оптимизация невозможна без поддержки хоть сколь серьезной операционной системы).

Работа с каталогами и файлами

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

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

  • FAT16 и FAT32 имеют очень компактные каталоги, размер каждой записи которых предельно мал. Более того, из-за сложившейся исторически системы хранения длинных имен файлов (более 11 символов), в каталогах систем FAT используется не очень эффективная и на первый взгляд неудачная, но зато очень экономная структура хранения этих самих длинных имен файлов. Работа с каталогами FAT производится достаточно быстро, так как в подавляющем числе случаев каталог (файл данных каталога) не фрагментирован и находится на диске в одном месте.
    Единственная проблема, которая может существенно понизить скорость работы каталогов FAT - большое количество файлов в одном каталоге (порядка тысячи или более). Система хранения данных - линейный массив - не позволяет организовать эффективный поиск файлов в таком каталоге, и для нахождения данного файла приходится перебирать большой объем данных (в среднем - половину файла каталога).
  • NTFS использует гораздо более эффективный способ адресации - бинарное дерево, о принципе работы которого можно прочесть в другой статье («Файловая система NTFS»). Эта организация позволяет эффективно работать с каталогами любого размера - каталогам NTFS не страшно увеличение количества файлов в одном каталоге и до десятков тысяч.
    Стоит заметить, однако, что сам каталог NTFS представляет собой гораздо менее компактную структуру, нежели каталог FAT - это связано с гораздо большим (в несколько раз) размером одной записи каталога. Данное обстоятельство приводит к тому, что каталоги на томе NTFS в подавляющем числе случаев сильно фрагментированы. Размер типичного каталога на FAT-е укладывается в один кластер, тогда как сотня файлов (и даже меньше) в каталоге на NTFS уже приводит к размеру файла каталога, превышающему типичный размер одного кластера. Это, в свою очередь, почти гарантирует фрагментацию файла каталога, что, к сожалению, довольно часто сводит на нет все преимущества гораздо более эффективной организации самих данных.

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

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

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

2.1. Объем оперативной памяти (кэширование)

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

  • Данные о физическом местоположении всех открытых файлов. Это, прежде всего, позволит обращаться к системным файлам и библиотекам, доступ к которым идет буквально постоянно, без чтения служебной (не относящейся к самим файлам) информации с диска. Это же относится к тем файлам, которые исполняются в данный момент - т. е. к выполняемым модулям (.exe и.dll) активных процессов в системе. В эту категорию попадают также файлы системы, с которыми производится работа (прежде всего реестр и виртуальная память, различные.ini файлы, а также файлы документов и приложений).
  • Наиболее часто используемые каталоги. К таковым можно отнести рабочий стол, меню «пуск», системные каталоги, каталоги кэша интернета, и т. п.
  • Данные о свободном месте диска - т. е. та информация, которая позволит найти место для сохранения на диск новых данных.

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

  • FAT16 имеет очень мало данных, отвечающих за организацию файловой системы. Из служебных областей можно выделить только саму область FAT, которая не может превышать 128 Кбайт (!) - эта область отвечает и за поиск фрагментов файлов, и за поиск свободного места на томе. Каталоги системы FAT также очень компактны. Общий объем памяти, необходимый для предельно эффективной работы с FAT-ом, может колебаться от сотни килобайт и до мегабайта-другого - при условии огромного числа и размера каталогов, с которыми ведется работа.
  • FAT32 отличается от FAT16 лишь тем, что сама область FAT может иметь более внушительные размеры. На томах порядка 5 - 10 Гбайт область FAT может занимать объем в несколько Мбайт, и это уже очень внушительный объем, надежно кэшировать который не представляется возможным. Тем не менее, область FAT, а вернее те фрагменты, которые отвечают за местоположение рабочих файлов, в подавляющем большинстве систем находятся в памяти машины - на это расходуется порядка нескольких Мбайт оперативной памяти.
  • NTFS, к сожалению, имеет гораздо большие требования к памяти, необходимой для работы системы. Прежде всего, кэширование сильно затрудняет большие размеры каталогов. Размер одних только каталогов, с которыми активно ведет работу система, может запросто доходить до нескольких Мбайт и даже десятков Мбайт! Добавьте к этому необходимость кэшировать карту свободного места тома (сотни Кбайт) и записи MFT для файлов, с которыми осуществляется работа (в типичной системе - по 1 Кбайт на каждый файл). К счастью, NTFS имеет удачную систему хранения данных, которая не приводит к увеличению каких-либо фиксированных областей при увеличении объема диска. Количество данных, с которым оперирует система на основе NTFS, практически не зависит от объема тома, и основной вклад в объемы данных, которые необходимо кэшировать, вносят каталоги. Тем не менее, уже этого вполне достаточно для того, чтобы только минимальный объем данных, необходимых для кэширования базовых областей NTFS, доходил до 5 - 8 Мбайт.

К сожалению, можно с уверенностью сказать: NTFS теряет огромное количество своего теоретического быстродействия из-за недостаточного кэширования. На системах, имеющих менее 64 Мбайт памяти , NTFS просто не может оказаться быстрее FAT16 или FAT32. Единственное исключение из этого правила - диски FAT32, имеющие объем десятки Гбайт (я бы лично серьезно опасался дисков FAT32 объемом свыше, скажем, 30 Гбайт). В остальных же случаях - системы с менее чем 64 мегабайтами памяти просто обязаны работать с FAT32 быстрее.

Типичный в настоящее время объем памяти в 64 Мбайта , к сожалению, также не дает возможности организовать эффективную работу с NTFS. На малых и средних дисках (до 10 Гбайт) в типичных системах FAT32 будет работать, пожалуй, немного быстрее. Единственное, что можно сказать по поводу быстродействия систем с таким объемом оперативной памяти - системы, работающие с FAT32, будут гораздо сильнее страдать от фрагментации, чем системы на NTFS. Но если хотя бы изредка дефрагментировать диски, то FAT32, с точки зрения быстродействия, является предпочтительным вариантом. Многие люди, тем не менее, выбирают в таких системах NTFS - просто из-за того, что это даст некоторые довольно важные преимущества, тогда как типичная потеря быстродействия не очень велика.

Системы с более чем 64 Мбайтами , а особенно - со 128 Мбайт и более памяти, смогут уверенно кэшировать абсолютно всё, что необходимо для работы систем, и вот на таких компьютерах NTFS, скорее всего, покажет более высокое быстродействие из-за более продуманной организации данных.

2.2. Быстродействие накопителя

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

  • Время случайного доступа (random seek time). К сожалению, для доступа к системным областям на типичном диске более сложной файловой системы (NTFS) приходится совершать, в среднем, больше движений головками диска, чем в более простых системах (FAT16 и FAT32). Гораздо большая фрагментация каталогов, возможность фрагментации системных областей - всё это делает диски NTFS гораздо более чувствительными к скорости считывания произвольных (случайных) областей диска. По этой причине использовать NTFS на медленных (старых) дисках не рекомендуется, так как высокое (худшее) время поиска дорожки дает еще один плюс в пользу систем FAT.
  • Наличие Bus Mastering. Bus Mastering - специальный режим работы драйвера и контроллера, при использовании которого обмен с диском производится без участия процессора. Стоит отметить, что система запаздывающего кэширования NTFS сможет действовать гораздо более эффективно при наличии Bus Mastering, т.к. NTFS производит отложенную запись гораздо большего числа данных. Системы без Bus Mastering в настоящее время встречаются достаточно редко (обычно это накопители или контроллеры, работающие в режиме PIO3 или PIO4), и если вы работаете с таким диском - то, скорее всего, NTFS потеряет еще пару очков быстродействия, особенно при операциях модификации каталогов (например, активная работа в интернете - работа с кэшем интернета).
  • Кэширование как чтения, так и записи на уровне жестких дисков (объем буфера HDD - от 128 Кбайт до 1-2 Мбайт в современных дорогих дисках) - фактор, который будет более полезен системам на основе FAT. NTFS из соображений надежности хранения информации осуществляет модификацию системных областей с флагом «не кэшировать запись», поэтому быстродействие системы NTFS слабо зависит от возможности кэширования самого HDD. Системы FAT, напротив, получат некоторый плюс от кэширования записи на физическом уровне. Стоит отметить, что, вообще говоря, всерьез принимать в расчет размер буфера HDD при оценке быстродействия тех или иных файловых систем не стоит.

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

2.4. Размер кластера

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

  • Типичный размер кластера для NTFS - 4 Кбайта. Стоит отметить, что при большем размере кластера отключается встроенная в файловую систему возможность сжатия индивидуальных файлов, а также перестает работать стандартный API дефрагментации - т. е. подавляющее число дефрагментаторов, в том числе встроенный в Windows 2000, будут неспособны дефрагментировать этот диск. SpeedDisk, впрочем, сможет - он работает без использования данного API. Оптимальным с точки зрения быстродействия, по крайней мере, для средних и больших файлов, считается (самой Microsoft) размер 16 Кбайт. Увеличивать размер далее неразумно из-за слишком больших расходов на неэффективность хранения данных и из-за мизерного дальнейшего увеличения быстродействия. Если вы хотите повысить быстродействие NTFS ценой потери возможности сжатия - задумайтесь о форматировании диска с размером кластера, большим чем 4 Кбайта. Но имейте в виду, что это даст довольно скромный прирост быстродействия, который часто не стоит даже уменьшения эффективности размещения файлов на диске.
  • Быстродействие системы FAT32, напротив, можно довольно существенно повысить, увеличив размер кластера. Если в NTFS размер кластера почти не влияет на размер и характер данных системных областей, то в системе FAT увеличивая кластер в два раза, мы сокращаем область FAT в те же два раза. Вспомните, что в типичной системе FAT32 эта очень важная для быстродействия область занимает несколько Мбайт. Сокращение области FAT в несколько раз даст заметное увеличение быстродействия, так как объем системных данных файловой системы сильно сократиться - уменьшается и время, затрачиваемое на чтение данных о расположении файлов, и объем оперативной памяти, необходимый для буферизирования этой информации. Типичный объем кластера для систем FAT32 составляет тоже 4 Кбайт, и увеличение его до 8 или даже до 16 Кбайт - особенно для больших (десяток и более гигабайт) дисков - достаточно разумный шаг.

2.3. Другие соображения

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

  • Диск NTFS был получен преобразованием раздела FAT16 или FAT32 (команда convert). Данная процедура в большинстве случаев представляет собой тяжелый случай для быстродействия, так как структура служебных областей NTFS, скорее всего, получится очень фрагментированной. Если есть возможность - избегайте преобразования других систем в NTFS, так как это приведет к созданию очень неудачного диска, которому не поможет даже типичный (неспециализированный) дефрагментатор, типа Diskeeper-а или встроенного в Windows 2000.
  • Активная работа с диском, заполненным более чем на 80% - 90%, представляет собой катастрофический для быстродействия NTFS случай, так как фрагментация файлов и, самое главное, служебных областей, будет расти фантастически быстро. Если ваш диск используется в таком режиме - FAT32 будет более удачным выбором при любых других условиях.
3. Выводы

В данной заключительной части «одной строчкой» собраны ключевые особенности быстродействия этих трех файловых систем.

FAT - плюсы:

  • Для эффективной работы требуется немного оперативной памяти.
  • Быстрая работа с малыми и средними каталогами.
  • Диск совершает в среднем меньшее количество движений головок (в сравнении с NTFS).
  • Эффективная работа на медленных дисках.

FAT - минусы:

  • Катастрофическая потеря быстродействия с увеличением фрагментации, особенно для больших дисков (только FAT32).
  • Сложности с произвольным доступом к большим (скажем, 10% и более от размера диска) файлам.
  • Очень медленная работа с каталогами, содержащими большое количество файлов.

NTFS - плюсы:

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

NTFS - минусы:

  • Существенные требования к памяти системы (64 Мбайт - абсолютный минимум, лучше - больше).
  • Медленные диски и контроллеры без Bus Mastering сильно снижают быстродействие NTFS.
  • Работа с каталогами средних размеров затруднена тем, что они почти всегда фрагментированы.
  • Диск, долго работающий в заполненном на 80% - 90% состоянии, будет показывать крайне низкое быстродействие.

Хотелось бы еще раз подчеркнуть, что на практике основной фактор, от которого зависит быстродействие файловой системы - это, как ни странно, объем памяти машины. Системы с памятью 64-96 Мбайт - некий рубеж, на котором быстродействие NTFS и FAT32 примерно эквивалентно. Обратите внимание также на сложность организации данных на вашей машине. Если вы не используете ничего, кроме простейших приложений и самой операционной системы - может случиться так, что FAT32 сможет показать более высокое быстродействие и на машинах с большим количеством памяти.

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

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

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

Что такое файловая система? Грубо говоря, это метод организации информации, который понимает та или иная ОС, с разделением на привычные пользователям документы и директории. Основных типов файловых систем на сегодня существует 3: FAT32, NTFS и exFAT. Системы ext4 и HFS (варианты для Linux и Mac OS соответственно) мы рассматривать не будем по причине малой совместимости.

По важности характеристик той или иной файловой системы можно разделить на такие критерии: системные требования, влияние на износ чипов памяти и ограничения на размеры файлов и директорий. Рассмотрим каждый критерий для всех 3 систем.

Совместимость и системные требования

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

FAT32
FAT32 – старейшая из все еще актуальных система организации документов и папок, изначально разработанная под MS-DOS. Отличается самой высокой совместимостью из всех – если флешка отформатирована в ФАТ32, то, скорее всего, её распознают большинство устройств вне зависимости от операционной системы. К тому же для работы с FAT32 не требуется большого количества оперативной памяти и процессорной мощности.

NTFS
Файловая система Виндовс по умолчанию со времен перехода этой операционки на архитектуру NT. Инструменты для работы с этой системой присутствуют как в Windows, так и в Линукс, Мак ОС. Однако есть определенные трудности с подключением отформатированных в НТФС накопителей к автомагнитолами или проигрывателям, особенно от брендов второго эшелона, а также к Android и iOS посредством OTG. Кроме того, возросли, сравнительно с ФАТ32, необходимые для работы количество RAM и частота CPU.

exFAT
Официальное название расшифровывается как «Extended FAT», что соответствует сути – эксФАТ и есть более расширенная и улучшенная ФАТ32. Разработанная компанией Microsoft специально для флешек, эта система наименее совместима: такие флешки можно подключать только к компьютерам под управлением Windows (не ниже XP SP2), а также и . Соответственно возросли и требуемые системой количество оперативки и скорость процессора.

Как видим, по критерию совместимости и системным требованиям FAT32 бесспорный лидер.

Влияние на износ чипов памяти

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

FAT32
По критерию влияния на износ эта система проигрывает всем остальным: из-за особенностей организации она хорошо работает с мелкими и средними файлами, однако значительно фрагментирует записанные данные. Это приводит к более частому обращению операционной системы к разным секторам и, как следствие, увеличению количества циклов Read-Write. Поэтому флешка, отформатированная в ФАТ32, прослужит меньше.

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

exFAT
Поскольку эксФАТ была разработана специально для использования на флешках, именно уменьшению количества циклов перезаписи разработчики уделили наибольшее внимание. В силу особенностей организации и хранения данных значительно уменьшает количество циклов перезаписи, особенно если сравнивать с FAT32 — в exFAT добавлена бит-карта доступного места, что уменьшает фрагментацию, которая и является основным фактором уменьшения срока службы флешки.

Вследствие вышесказанного, можно сделать вывод — меньше всего на износ памяти влияет exFAT.

Ограничения на размеры файлов и директорий

Этот параметр с каждым годом становится все важнее: объемы хранимой информации, как и емкость накопителей, неуклонно растут.

FAT32
Вот мы и дошли до главного минуса данной файловой системы — в ней максимальный занимаемый одним файлом объем ограничен 4 Гб. Во времена MS-DOS это наверняка бы считалось астрономическим значением, но на сегодняшний день такое ограничение создает неудобства. Кроме того, есть лимит и на количество файлов в корневом каталоге — не более 512. С другой стороны, в некорневых папках файлов может быть сколько угодно.

NTFS
Главное отличие НТФС от используемой ранее ФАТ32 – практически неограниченный объем, который может занимать тот или иной файл. Конечно, техническое ограничение есть, но в обозримом будущем его достичь получится еще нескоро. Точно так же практически не ограничено количество данных в директории, хотя превышение определенного порога чревато сильным падением производительности (особенность NTFS). Также стоит отметить, что в этой файловой системе присутствует лимит символов в имени директории.



Загрузка...