Рекомендации по выбору файловой системы для флешки. Сравнение Fat32, NTFS, exFAT на флешках и внешних жестких дисках

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

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

На сегодняшний день для флешек существует около десятка файловых систем, я предлагаю остановиться на трех самых популярных из них:

  • FAT32
  • exFAT

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

Файловая система для флешки и ее разновидности

FAT32

Данная фс создана корпорацией Microsoft для замены морально устаревшей FAT16. На сегодня эта фс является самой распространенной. Практически все карты памяти и usb флешки продаются в FAT32. Бытовые устройства, например видеокамера, поддерживают только FAT32. В такой совместимости и заключается главный плюс данной файловой системы. Используя такое flash устройство в DVD – плеере, музыкальном центре, телевизоре – вы будете уверены что такое устройство точно будет читаться. На этом все «плюсы» этой фс заканчиваются.

Самый главный недостаток этой системы является ограничение на максимальный размер копируемого файла в 4 Гб. Поэтому скопировать файл большого размера (например, фильм в BDRip качестве или iso – образ большой игры) не получится.

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

exFAT

Данная файловая система для флешки разработана все той же Microsoft. Она предназначена в первую очередь для flash-устройств. По сути данная фс является той же FAT32, но со снятыми ограничениями на: размер файлов, размер разделов и количество файлов находящихся в папке. По моему данная файловая система как никак лучше подходит для накопителей и карт памяти. Но данная система так же имеет свой недостаток. Она не поддерживается многими бытовыми устройства, а так же старыми версиями Windows XP. Но корпорация Microsoft анонсировала патч KB955704 , для совместимости exFAT и Windows XP. Новые же операционные системы без проблем поддерживают эту систему.

Если вы постоянно пользуетесь флешкой на большом количестве компьютеров, среди которых имеются ПК на Windows XP старой версии (service pack 1), то прийдется носить с собой еще одну флешку с патчем, а это, согласитесь, неудобно.

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

NTFS

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

Однако на flash — устройствах и съемных винчестерах NTFS работает мягко говоря «своеобразно». При записи информации на такой носитель Windows включает инструмент кэширования (сначала файлы копируются в специально отведенную память (кэш), а далее на конечный носитель). В жестких дисках компьютера или ноутбука это позволяет повысить скорости копирования и сгладить кривую задержек. В портативных устройствах (карты памяти, флешки съемные диски) это будет выглядеть так: сначала скорость записи будет высокой и может доходить до 100 Мб/с (как при копировании с одного жесткого диска компьютера на другой), потом, когда кэш будет заполнен — скорость резко снизится.

К тому же, перед копированием нового файла, система должна дописать текущий файл из кэша. Поэтому кажется что копирование зависло на 99%, но индикатор жесткого диска будет показывать активность. Из за этого будет выводится неверная информация о скорости копирования (1):

Такую скорость выдает флешка на 2 Гб, реальная скорость записи которой составляет 5 МБт.

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

Если посмотреть с другой стороны – NTFS — это надежная фс, способная выдержать несколько внезапных сбросов. Эту надежность обеспечивает протокол журналирования. Это приводит к частому обращению системы к определенным областям flash-устройства. Для usb-флешек и карт памяти этот подход критичен, так как происходит более быстрый износ данных устройств.

Из этого видно, что данная файловая система для флешки не очень подходит.

Сравнения производительности файловых систем:

Ниже хочу наглядно показать характеристики флешки A-Data на 8 Гб отформатированную в разных файловых системах.

1. Максимальный объем флешки, доступный после форматирования:
2. Средняя скорость записи/чтения:

Как видно exFAT опережает своих конкурентов.

Изменяется файловая система для флешки через форматирование. Если вы не знаете как это делается — переходите по ссылке ниже:

В окончании хотелось – бы привести несколько полезных рекомендаций владельцам накопительных устройств. У вас флешка небольшого объема (до 4 Гб)? Смело форматируйте ее в FAT32. Если flash-устройство большого объема (от 4 Гб) — используйте exFAT. А NTFS оставьте для стационарных и портативных жестких дисков.

Надеюсь из данной статьи вы поняли какая файловая система для флешки вам подойдет.

Разберем виды файловой системы для флешки, какой же все таки лучше. Один пользователь прислал мне фото с ошибкой "Файл слишком велик для конечной файловой системы" и решил написать статью в каких случаях нужно использовать системы FAT32, NTFS и exFAT. Он перемещал файл размером более 4 Гб на флешку размером 8 Гб. Дело в том, что система FAT32 не может обрабатывать информацию более 4 Гб, если у вас флешка имеет объем 32 Гб и файловая система у нее FAT32, то вы не сможете записать на нее файл более 4 Гб. Рассмотрим все три файловые системы в windows, разберем их минусы и плюсы.

FAT32

Старый режим файловой системы, который обычно используется при покупке флешки с магазина и причина тому-совместимость. Совместимость заключается в том, что FAT32 можно использовать на любом компьютере под управлением MAC, Windows, Linux, старые ПК. Самым большим ограничением является то, что она имеет ограничения на размер файла в 4 Гб, который в сегодняшний день имеет проблемы с такими форматами, как 4к-видео, Blu-ray. Одним словом, если вы собираетесь работать с файлами, размер которых составляет менее 4 Гб и флешка используется на разных компьютерах, с разными операционными системами, то файловая система FAT32 очень подходит.

exFAT

Обновленная файловая система созданная компанией microsoft на замену FAT32. Начала использоваться в Windows Vista SP1 и имеет максимальный размер файла 16 эксабайт (ЭБ), который равен 1 Эб = 10 18 байтам. Совместима с Mac OS и Windows, является очень хорошей системой для обмена большими файлами.

Минусы:

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

Плюсы:

  • Перезаписывает меньшее количество раз один и тот же сектор, что важно для флешек, продлевая жизнь ячейкам памяти. Как известно флешки имеют N-количества перезаписей, потом выходят из строя.
  • Большой лимит на размер файла 16 эксабайт.
  • Размер кластера 32 мегабайта.
  • Улучшено распределение свободного место, что уменьшает дефрагментацию диска.

NTFS

Новейшая файловая система созданная microsoft и является современной структурой сегодняшнего дня практически для любого современного внутреннего жесткого диска, флешки или ssd-диска. NTFS-новая технология файловой системы. Система windows может быть установлена только на NTFS. Является по умолчанию для дисков с операционной системой, в связи с многофункциональностью. Она имеет все технологии microsoft: ведение журнала, ни одного ограничение по размерам файла, поддержка сжатие файлов, длинные имена, файл контроля доступа для админов сервера и многое другое. В домашних условиях это самый лучший вариант использования этой системы на дисках и флешках. Есть одна загвоздка, когда вы вставите флешку в Mac OS, информацию с флешки вы скопировать сможете, но изменить-нет.

Вывод:

Для USB флешек вы должны использовать exFAT , если вы постоянно находитесь в среде Mac OS, Windows, переставляя флешку с одной операционной системы в другую. Если вы используете только windows, то NTSF отличное решение.

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

Эту файловую систему используют такие операционные системы, как 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. загрузочные секторы главного и дополнительного разделов;
    2. загрузочный сектор логического диска;
    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.

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

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

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

Недостатки:

    1. Более высокие требования к объему оперативной памяти по сравнению с FAT 32;
    2. Работа с каталогами средних размеров затруднена из-за их фрагментации;
    3. Более низкая скорость работы по сравнению с FAT 32

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

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

Недостатки:

    1. Низкая защита от сбоев системы;
    2. Не эффективная работа с файлами больших размеров;
    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.

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

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

На сегодняшний день в мире существует огромное количество файловых систем, но среди них можно выделить основные, о которых вы возможно даже слышали. Речь идет о файловой системе exFAT и NTFS.

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

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

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

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

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

И эту файловую систему подарила нам компания Microsoft. NTFS и по сей день используется как современный аналог системы FAT 32.

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

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

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

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

Это была одна из первых очень удачных файловых систем, ей даже сейчас все еще пользуются. Но как вы уже узнали вы у нее было несколько неприятных ограничений: максимальный размер файла 4ГБ, логический диск может быть не больше 8ТБ, но различные программы да и сами Windows не могут создать том более 250ГБ, так же есть ограничения на количество файлов в разделе или одной папке.

Какая файловая система лучше exFAT, NTFS или FAT32?

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

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: