Какие файловые системы используются операционной windows. Файловая система ОС Windows

Общие сведения о файловых системах

Операционная система Windows 8, поддерживает несколько файловых систем: NTFS, FAT и FAT32 . Но работать может только на NTFS , то есть установлена может быть только на раздел жесткого дис­ка, отформатированного в данной файловой системе. Обусловлено это теми особенностями и инструментами безопасности, которые преду­смотрены в NTFS , но отсутствуют в файловых системах Windows предыдущего поколения: FAT16 и FAT32 . Далее мы остановим­ся на всей линейке файловых систем для Windows, чтобы понять, какую роль они играют в работе системы и как они развивались в про­цессе становления Windows плоть до Windows 8.

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

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


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

Файловая система FAT для современных жест­ких дисков просто не подходит (ввиду ее ограниченных возможностей). Что касается FAT32 , то ее еще можно использовать, но уже с натяжкой. Если купить жесткий диск на 1000 ГБ, то вам придется разбивать его как минимум на несколько разделов. А если вы собираетесь заниматься видеомонтажом, то вам будет очень мешать ограничение в 4 Гб как максимально возможный размер файла .

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

Файловая
система
Параметры
Размеры тома Максимальный размер файла
FAT От 1.44 МБ до 4 ГБ 2ГБ
FAT32 Теоретически возможен размер тома от 512 МБ до 2 Тбайт. Сжатие не поддерживается на уровне файловой системы 4ГБ
NTFS Минимальный рекомендуемый размер составляет 1,44 МБ, а максимальный - 2 Тбайт. Поддержка сжатия на уровне файловой системы для файлов, каталогов и томов. Максимальный размер ограничен лишь размером тома (Теоретически - 264 байт минус 1 килобайт. Практически - 244 байт минус 64 килобайта)

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

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

Файловая система FAT (обычно под ней понимается FAT 16 ) была разработана достаточно давно и предназначалась для работы с небольшими дисковыми и файловыми объемами, простой структурой каталогов. Аббревиатура FAT расшифровывается как File Allocation Table (с англ. таблица размещения файлов). Эта таблица размещается в начале тома, причем хранятся две ее копии (в целях обеспечения большей устойчивости).
 Данная таблица используется операционной системой для поиска файла и определения его физического расположения на жестком диске. В случае повреждения таблицы (и ее копии) чтение файлов операционной системой становится невозможно. Она просто не может определить, где какой файл, где он начинается и где заканчивается. В таких случаях говорят, что файловая система «упала».
 Файловая система FAT изначально разрабатывалась компанией Microsoft для дискет. Только потом они стали ее применять для жестких дисков. Сначала это была FAT12 (для дискет и жестких дисков до 16 МБ), а потом она переросла в FAT16 , которая была введена в эксплуатацию с операционной системой MS-DOS 3.0.

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

Начиная с Windows 95 OSR2, компания Microsoft начинает активно ис­пользовать в своих операционных системах FAT32 - тридцатидвухраз­рядную версию FAT . Что поделать, технический прогресс не стоит на месте и возможностей FAT 16 стало явно недостаточно.
 По сравнению с ней FAT32 стала обеспечивать более оптимальный до­ступ к дискам, более высокую скорость выполнения операций ввода/вывода, а также поддержку больших файловых объемов (объем диска до 2 Тбайт).
 В FAT32 реализовано более эффективное расходование дискового пространства (путем использования более мелких кластеров). Выгода по сравнению с FAT16 составляет порядка 10...15%. То есть при использовании FAT32 на один и тот же диск может быть записано информации на 10... 15% больше, чем при использовании FAT16.
 Кроме того, необходимо отметить, что FAT32 обеспечивает более вы­сокую надежность работы и более высокую скорость запуска программ.
 Обусловлено это двумя существенными нововведениями:
  возможностью перемещения корневого каталога и резервной копии FAT (если основная копия получила повреждения)

Возможностью хранения резервной копии системных данных.

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

 Общие сведения
 Ни одна из версий FAT не обеспечивает хоть сколько-нибудь приемле­мого уровня безопасности. Это, а также необходимость в добавочных файловых механизмах (сжатия, шифрования) привело к необходимости создания принципиально новой файловой системы. И ею стала фай­ловая система NT (NTFS)
NTFS - от англ. New Technology File System - файловая система новой технологии
 Как уже упоминалось, основным ее достоинством является защищен­ность: для файлов и папок NTFS могут быть назначены права доступа (на чтение, на запись и т.д.). Благодаря этому существенно повысилась безопасность данных и устойчивость работы системы.  Назначение прав доступа позволяет запретить/разрешить каким-либо пользователям и программам проделывать какие-либо операции над файлами. Например, не обладая достаточными правами, посторонний пользователь не сможет изменить какой-либо файл. Или, опять же не обладая достаточными правами, вирус не сможет испортить файл.
 Кроме того, NTFS , как было сказано выше, обеспечивает лучшую про­изводительность и возможность работы с большими объемами данных.

Начиная с Windows 2000, используется версия NTFS 5.0 , которая, помимо стандартных, позволяет реализовывать следующие возможности:

Шифрование данных - эта возможность реализуется специальной надстройкой NTFS, которая называется Encrypting File System (EFS) - шифрующая файловая система. Благодаря этому механизму шифрованные данные могут быть прочитаны только на компьютере, на котором произошла шифровка.
Дисковые квоты - стало возможно назначать пользователям определенный (ограниченный) размер на диске, который они могут использовать.
Эффективное хранение разреженных файлов . Встречаются файлы, в которых содержится большое количество последовательных пустых байтов. Файловая система NTFS позволяет оптимизировать их хранение.

Использование журнала изменений - позволяет регистрировать все операции доступа к файлам и томам.

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

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

Устройство NTFS. Главная таблица файлов MFT.
 Как и любая другая файловая система, NTFS делит все полезное место на кластеры - минимальные блоки данных, на которые разбиваются файлы. NTFS поддерживает почти любые размеры кластеров - от 512 байт до 64 Кбайт. Однако общепринятым стандартом считается кластер размером 4 Кбайт. Именно он используется по умолчанию. Принцип существования кластеров можно проиллюстрировать следующим при­мером.
 Если у вас размер кластера составляет 4 Кбайт (что скорее всего), а вам нужно сохранить файл, размером 5 Кбайт, то реально под него будет вы­делено 8 Кбайт, так как в один кластер он не помещается, а под файл дисковое пространство выделяется только кластерами.
 Для каждого NTFS-диска имеется специальный файл - MFT (Master Allocation Table - главная таблица файлов) . В этом файле содержится централизованный каталог всех имеющихся на диске файлов. При создании файла NTFS создает и заполняет в MFT соответствующую запись, в которой содержится информация об атрибутах файла, содержимом файла, имя файла и т.п.

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

SMFT - сам MFT.
$MFTmirr - копия первых 16 записей MFT, размещенная посе­редине диска (зеркало).
$LogFile - файл поддержки журналирования.
$Volume - служебная информация: метка тома, версия файловой системы, и т.д.
$AttrDef - список стандартных атрибутов файлов на томе.
$. - корневой каталог.
$Bitmap - карта свободного места тома.
$Boot - загрузочный сектор (если раздел загрузочный).
$Quota - файл, в котором записаны права пользователей на ис­пользование дискового пространства.
$Upcase - файл-таблица соответствия заглавных и прописных букв в именах файлов на текущем томе.
Нужен в основном потому, что в NTFS имена файлов записываются в кодировке Unicode , которую составляют 65 тысяч различных символов, искать большие и малые эквиваленты которых очень нетривиально.
 Что касается принципа организации данных на диске NTFS, то он условно делится на две части. Первые 12% диска отводятся под так называемую MFT-зону - пространство, в которое растет метафайл MFT.
 Запись каких-либо пользовательских данных в эту область невозможна. MFT-зона всегда держится пустой. Это делается для того, чтобы самый главный служебный файл (MFT) не фрагментировался при своем росте. Остальные 88% диска представляют собой обычное пространство для хранения файлов.
  Однако при нехватке дискового пространства MFT-зона может сама уменьшаться (если это возможно), так что никакого дискомфорта вы замечать не будете. При этом новые данные уже будут записываться в бывшую MFT-зону.
В случае последующего высвобождения дискового пространства MFT-зона снова будет увеличиваться, однако в дефрагментированном виде (то есть не единым блоком, а несколькими частями на диске). В этом нет ничего страшного, просто считается, что система более надежна, когда MFT-файл не дефрагментирован. Кроме того, при не дефрагментированном MFT-файле вся файловая система работает быстрее. Соответственно чем более дефрагментированным является MFT-файл, тем медленней работает файловая система.

Что касается размера MFT-файла, то он примерно вычисляется, исходя из 1 МБ на 1000 файлов.

Конвертирование разделов FAT32 в NTFS без потери данных. Утилита convert

Вы можете без особого труда конвертировать существующий FAT32-раздел в NTFS. Для этого в Windows 8, Windows 8.1 предусмотрена утилита командной строки convert

Параметры ее работы показаны на скриншоте

Таким образом, чтобы конвертировать в NTFS диск D:, в командную строку следует ввести следующую команду:

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

convert e : /fs:ntfs /nosecurity /x

В операционной системе Windows логической единицей для хранения информации является файл.

Файл - поименованный набор данных. Как правило, эти данные хранятся на магнитных или лазерных дисках. Основными атрибутами файла являются:

    собственное имя - строка букв и цифр. Предельная длина имени файла составляет 255 символов, включая пробелы. Имена не должны содержать следующих символов: \ / : * ? " < > |;

    тип (расширение) – указывает тип файла. Расширение записывается через точку после имени файла и содержит три буквы. Файлы можно разбить на два класса информационные и исполняемые. Для того чтобы открыть информационный файл нужна другая программа. Например, файлы с расширением doc открываются с помощью текстового процессора Ms Word. Исполняемый файл, не требует специальной программы, а содержит программу в виде исполнимого кода. Исполняемые файлы в операционной системе Windows, имеют расширение exe , com.

    размер - размер файла в байтах;

    дата создания или изменения содержит дату и время создания (последнего изменения) файла.

Собственное имя файла плюс его расширение плюс путь доступа к файлу называется полным именем файла. В операционной системе Windows оно уникально. Например, C:\DOC\PROBA.TXT полное имя файла с собственным именем PROBA, имеющим расширение TXT и расположенным на диске С в папке DOC. Кроме полного имени может использоваться короткое имя файла, длина его не более 12 символов включающих в себя две части: урезанное до 8 символов собственное имя и расширение.

На диске файл храниться в одном или нескольких фрагментах, называемых кластерами . Адреса всех кластеров содержаться в специальнойFATтаблице диска. В каталоге (перечне) всех файлов содержится номер первого кластера, а в соответствующей ячейкеFATтаблицы номер второго кластера или кодFFF(FFFF) если этот кластер последний. Если в ячейкеFATтаблицы записано значение 0, то кластер будет свободным. Размер кластера зависит от типа файловой системы, определяющей, кроме того, размещение фрагментов файлов на диске, возможность их сжатия при записи, проверки целостности и восстановления после сбоев, защиты от несанкционированного доступа и т.д. Известны несколько разновидностей файловых систем в различных версиях ОС Windows используются следующие:FATилиFAT16 – с 16 разрядными полями вFATтаблицах, числом записей 2 16 =65536, например для диска объёмом от 1 до 2Г длина кластера составляет 32К(64 сектора);FAT32 – с 32 разрядными полями вFATтаблицах, числом записей 2 32 -более 4 млрд., например для диска объёмом 8Г длина кластера составляет 4К(8 секторов);NTFSиNTFS5 быстрые, надёжные и безопасные файловые системы, в которых размер кластера может устанавливаться по усмотрению пользователя при форматировании диска. С помощью стандартных средств поздних версий ОС Windows возможна конвертация разделов FAT, FAT32 в NTFS без потери данных, только в прямом направлении.

Папка. Память любого диска может быть разбита на поименованные участки, называемые каталогами или папками. Папка предназначена для группировки данных и не позволяет запутаться в большом количестве файлов. Намного легче сначала выбрать одну из 10 групп, а затем один из 10 файлов, чем производить выборку одного файла из 100. Для того чтобы раскрыть папку, делают двойной щелчок по её значку. В ОС Windows имеется специальная папка, называемая корзиной, в которую помещаются файлы после их удаления . До тех пор пока корзина не будет очищена , удалённый файл можно восстановить.

Удобным средством для работы в OC Windows

является «Ярлык» - это ссылка на любой элемент, доступный на компьютере или в сети. Он служит для быстрого запуска программы, открытия файла или папки без поиска их расположения. Особенно полезно создавать ярлыки для часто используемых программ, файлов или папок и располагать их на рабочем столе. Можно создать несколько ярлыков для одного и того же файла и расположить их в разных местах. Если с рабочего стола удаляют ярлык, то будет удалён только ярлык, а сам объект, на который он ссылается, останется на своём месте.

Диск (том) - долговременная память компьютера, выполнена в виде магнитных (МД) или лазерных дисков. Каждый диск имеет имя в виде одной латинской буквы. Чаще всего используются следующие буквы: A, B - сменные МД или дискеты C, D, E .... - встроенный в компьютер МД (винчестер) лазерные диски илиФлэш-память. Перед использованием каждый диск форматируют. Форматированием диска называется процесс разбиения его поверхности на сектора и дорожки. Одна дорожка состоит из нескольких секторов.Таким образом, сектор является наименьшей физической единицей хранения данных на жестком диске. В процессе эксплуатации необходимо проводить обслуживание диска, запуская следующие программы: ПРОВЕРКА ДИСКА, которая выявляет логические ошибки в файловой структуре и физические ошибки, связанные с дефектами жесткого диска и программу, производящую дефрагментация диска, которая улучшает его структуру. При многократных операциях записи и стирания файлов их фрагментация резко усиливается (кластеры, в которых записан один файл, могут быть разбросаны по всему диску) и время считывания файла сильно замедляется. При дефрагментации этот недостаток ликвидируется - кластеры, где записан один файл, размещаются подряд.Эти программы могут выполняться в любое время независимо от необходимости выполнения данной операции .

Для облегчения взаимодействия пользователя с операционной системой(поиска и корректировки информации на дисках в папках и файлах) используются операционные (файловые) оболочки или менеджеры файлов. Например, встроенная в ОС Windows, Программа "Проводник" предназначена выполнения действий с папками и файлами. Кроме того, широко известны менеджеры файлов : Total Commander; Norton Commander; DOS Navigator; Far Manager; Windows 3.11.

Диск физический

Диск логический

Папка

Файл

Кластер

первый

второй

Последний

сектор

Последний

Рисунок 5 -Состав диска

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

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

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

Как же компьютер "понимает", где ему, например, искать наш текстовый документ, который лежит, скажем, на Рабочем столе? За это, оказывается, отвечает файловая система жёсткого диска. И сегодня мы с Вами узнаем, какие бывают файловые системы и каковы их особенности.

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

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

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

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

В первом случае все файлы отображаются в виде единого плоского списка, а во втором - в виде иерархического. Уровень вложений при этом, как правило, неограничен, а ветвление идёт либо только от одного ("root" в UNIX), либо от нескольких корневых каталогов (логические диски в Windows):

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

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

Гораздо же более часто журналируются только логические операции и (опционально) состояние кластеров файловой системы. То есть, в журнал записывается только то, что, скажем, файл с именем "file.txt" размером 52 КБ был записан в такие-то кластеры. Содержимое же самого файла в логе никак не значится. Такой подход позволяет избежать дублирования данных, ускоряет процессы работы с файлами и уменьшает в разы размеры самого журнала. Единственный недостаток при таком способе журналирования - при сбое могут быть потеряны записываемые данные (поскольку их копии нет), но само состояние файловой системы останется работоспособным.

Форматирование

Поскольку мы говорим о файловых системах в контексте современных компьютеров с их жёсткими или SSD-дисками, то большее внимание мы уделим именно многоуровневым ФС с произвольным доступом к кластерам. Наиболее популярными в компьютерном мире сегодня являются: FAT32, NTFS, exFAT, ext3/ext4, ReiserFS и HFS+.

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

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

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

Осуществляется оно сейчас при помощи специального софта (HDD Low Level Format Tool для Windows) или команд (DD для Linux). При его применении все кластеры жёсткого диска перезаписываются нулями и полностью уничтожается любая разметка. После этого файловая система фактически исчезает и в Windows отображается как RAW . Чтобы получить доступ к диску после такого форматирования, нужно отформатировать его в одной из доступных традиционных файловых систем более высокого уровня.

Особенности файловых систем

Ну а теперь рассмотрим некоторые особенности самых распространённых файловых систем.

FAT32

Одна из самых старых файловых систем для дисков, которая ещё широко используется в наши дни - FAT32 (сокр. англ. "File Allocation Table" - "таблица размещения файлов"). В силу своей распространённости, она поддерживается максимальным числом всевозможного оборудования, начиная с автомагнитол, кончая мощными современными компьютерами. Большинство флеш-накопителей, продаваемых сегодня, тоже отформатированы в FAT32.

Впервые данная ФС появилась в Windows 95 OSR2 в 1996 году, став логическим развитием ещё более ранней FAT16 (1983 год). Одной из основных причин перехода на новую файловую систему стало появление ёмких (по тем временам) жёстких дисков объёмом более 2 ГиБ (гибибайт - более точный вариант гигабайта (109 ) - 230 байт) (максимально возможный размер раздела в FAT16). FAT32 позволила использовать до 268 435 445 кластеров максимум по 32 КБ, что эквивалентно 8 ТиБ на том. Однако, если размер кластера будет стандартным (512 Б), то максимальный размер тома будет лишь чуть более 127 ГБ.

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

Главным же недостатком FAT32 на данный момент является ограничение на максимальный размер файла - 4 ГиБ. Файлы, превышающие данный порог, должны быть разбиты на части, что в свою очередь, затрудняет доступ к ним. Кроме того, FAT32 имеет ещё некоторые ограничения в среде Windows. Например, штатными средствами Вы не сможете создать разделы более 32 ГБ. Поэтому флешки на 64 ГБ и более придётся форматировать либо при помощи специального софта, либо на Linux.

Однако, и в этом случае, хоть доступ к носителю и сохранится, но он будет затруднён "тормозами" как при чтении, так и при записи данных. Поэтому при использовании накопителей объёмом более 32 ГБ лучше отформатировать их в иных файловых системах, вроде exFAT или NTFS.

NTFS

Если линейка Windows 95/98 продолжала традиции уже на тот момент устаревающей операционной системы DOS, то новая линейка NT изначально была направлена на инновации. Поэтому с появлением Windows NT 3.1 в 1993 году специально под неё была создана новая файловая система NTFS (сокр. англ. "New Technology File System" - "файловая система новой технологии").

Эта файловая система до сих пор является основной для всех современных версий Windows, поскольку обеспечивает неплохую скорость работы, поддерживает накопители объёмом до 16 ЭиБ (эксбибайт - 260 ) (при максимальном размере кластера в 64 КБ) без ограничений по размерам файлов и имеет в своём арсенале довольно неплохой функционал. Например, NTFS является журналируемой файловой системой, а также поддерживает распределение ролей пользователей для доступа к отдельным данным, чего не было в той же FAT32.

Как и в FAT32, основой NTFS является таблица, но она являет собой более совершенную базу данных и называется MFT (сокр. англ. "Master File Table" - "главная файловая таблица"). Строки в этой таблице соответствуют файлам, хранящимся на конкретном разделе, а столбцы содержат атрибуты этих файлов (дата создания, размер, права доступа и т.п.).

Кроме того, для повышения отказоустойчивости в NTFS ведётся журнал USN (сокр. англ. "Update Sequence Number" - досл. "номер порядка обновления"). В этот журнал, аналогично таблице FAT32, записываются данные об изменениях того или иного файла. Однако, если в таблице FAT32 записывалось только время последнего доступа к данным, что не давало никаких особых практических выгод, то в USN может сохранятся предыдущее состояние файловой системы, что позволяет восстанавливать его в случае сбоев.

Ещё одной особенностью NTFS является поддержка альтернативных потоков данных (англ. "Alternate Data Streams" - ADS). Изначально они были задуманы для разграничения выполнения различных процессов. Потом (в Windows 2000) использовались для хранения некоторых атрибутов файлов (имя автора, иконка и т.п.), аналогично тому, как это делалось в HFS от MacOS. В современных Windows альтернативные потоки могут хранить практически любую информацию. Этим даже пользуются некоторые вирусы для скрытия своего присутствия в системе.

Дело в том, что альтернативные потоки не пеленгуются Проводником Windows и, по сути, невидимы для пользователей и большинства программ. Однако, Вы можете их просматривать и даже пользоваться ими, например, для скрытия каких-либо данных при помощи специального ПО. Смотреть данные в альтернативных потоках удобно при помощи программы NTFS Stream Explorer , а использовать их для сокрытия файлов при помощи Xp-lore :

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

NTFS изначально была создана исключительно для Windows, однако, сегодня поддерживается большинством медиаплееров (флешки могут быть тоже отформатированы в ней), операционными системами Linux и MacOS (правда, с некоторыми ограничениями на запись). Стоит, однако, отметить слабую поддержку NTFS на популярных игровых консолях. Из них поддержка её есть только у Xbox One.

exFAT

С увеличением во второй половине 2000-х годов объёмов флеш-накопителей стало ясно, что повсеместно используемая файловая система FAT32 скоро исчерпает свой потенциал. Использовать журналируемую NTFS для флешек с их ограниченным количеством циклов перезаписи и более медленной работой оказалось не совсем целесообразно. Поэтому в 2006 году всё та же корпорация Microsoft выпустила в свет новую файловую систему exFAT (сокр. англ. "Extended FAT" - "расширенная FAT") в комплекте с операционной системой Windows Embedded CE 6.0:

Она стала логическим продолжением развития FAT32, поэтому иногда её называют также FAT64. Главным козырем новой файловой системы стало снятие ограничения на размеры файлов и увеличение теоретического предела для дискового раздела до 16 ЭиБ (как в NTFS). При этом, в силу отсутствия журналирования, exFAT сохранила высокую скорость доступа к данным и компактность.

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

В силу того, что exFAT - относительно новая ФС, имеются некоторые ограничения по её использованию. В Windows полная её поддержка появилась лишь в Vista SP1 (хотя есть обновление для Windows XP SP2 - ). MacOS поддерживает exFAT с версии 10.6.5, а для Linux требуется устанавливать отдельный драйвер (в некоторых дистрибутивах он встроен, а в некоторых поддерживается только чтение).

ext2, ext3 и ext4

Если в среде Windows уже не первое десятилетие "правит бал" NTFS, то в лагере Linux традиционно царит очень большое разнообразие, в том числе и среди применяемых файловых систем. Правда, есть одна их линейка, которая используется большинством дистрибутивов по умолчанию. Это файловые системы семейства ext (англ. сокр. "Extended File System" - "расширенная файловая система"), которые с 1992 года изначально создавались именно под Linux.

Наибольшее распространение получила вторая версия ext2 , которая, как и NTFS, появилась ещё в 1993 году. Правда, в отличии от NTFS, ext2 не является журналируемой файловой системой. Это одновременно и её плюс, и минус. Плюс в том, что она является одной из самых быстрых ФС на запись данных. Также отсутствие журналирования делает предпочтительным её использование на флеш-накопителях и SSD-дисках. Платой же за быстродействие является низкая отказоустойчивость.

С целью улучшить стабильность ext2 в 2001 году была разработана её улучшенная версия ext3 . В ней появилось журналирование, которое может работать в трёх режимах: "writeback" (записываются только метаданные файловой системы), "ordered" (запись в журнал производится всегда ПЕРЕД изменением ФС) и "journal" (полный бэкап метаданных и самих изменяемых файлов).

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

Из других новшеств стоит отметить увеличение максимального объёма раздела диска до 1 ЭиБ (с 32 ТиБ в ext2 и ext3), увеличение максимального размера файла до 16 ТиБ (с 2 ТиБ в более ранних версиях) и появление механизма экстентов (от англ. "extent" - "пространство"). Последний позволяет обращаться не к одиночным блокам, как это реализовано в других ФС (и в ext3 в частности), а к объединённым пространствам диска из последовательно идущих кластеров, общим объёмом до 128 МБ, что существенно повышает производительность и уменьшает фрагментацию данных.

На сегодняшний день поддержка файловых систем семейства ext той или иной версии присутствует по умолчанию почти во всех Linux"ах. Из них, практически все системы 2010 года выпуска и старше поддерживают ext4. Для доступа к ext-разделам в Windows и MacOS требуется устанавливать специальное ПО и/или драйверы.

ReiserFS

Ещё одной молодой и перспективной файловой системой "родом" из мира Linux является ReiserFS . Стараниями команды американского разработчика Ганса Райзера она стала первой журналируемой ФС, которая была добавлена в ядро Linux версии 2.4.1 в 2001 году, как раз перед добавлением поддержки ext3.

Фактически, как и появившаяся вслед за ней ext3, ReiserFS дала возможность использовать в Linux полное или частичное журналирование. Однако, в отличие от ext3, имела больший допустимый размер файла (до 8 ТиБ против 2) и максимальную длину имени файла равную 255 символам, а не байтам (4032 байт).

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

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

Правда, несмотря на ряд нововведений, улучшений и исправлений, новая файловая система осталась уделом немногих энтузиастов. Дело в том, что в 2006 году Ганс Райзер совершил убийство собственной жены и был взят под стражу, а позднее и заключён в тюрьму. Соответственно, его компания Namesys, которая занималась разработкой Reiser4, была расформирована. С тех пор поддержку и доработку файловой системы осуществляет группа разработчиков под курированием русского разработчика Эдуарда Шишкина.

В конечном итоге поддержка Reiser4 в ядро Linux до сих пор так и не добавлена, но ReiserFS имеется. Поэтому многие продолжают использовать её в различных сборках как файловую систему по умолчанию.

HFS

Говоря о файловых системах, характерных для различных операционок, нельзя не упомянуть о MacOS с её HFS (сокр. англ. "Hierarchical File System" - "иерархическая файловая система"). Первые версии данной системы появились ещё в 1985 году вместе с операционной системой Macintosh System 1.0:

По современным меркам данная файловая система была весьма малоэффективной, поэтому в 1998 года вместе с MacOS 8.1 появилась её улучшенная версия под названием HFS+ или Mac OS Extended , которая поддерживается до сегодняшнего дня.

Как и предшественница, HFS+ делит диск на блоки по 512 КБ (по умолчанию), которые объединяет в кластеры, ответственные за хранение тех или иных файлов. Однако, новая ФС имеет 32-битную адресацию (вместо 16-битной). Это позволяет избежать ограничений на размер записываемого файла и обеспечивает поддержку максимального размера тома до 8 ЭиБ (а в последних ревизиях до 16 ЭиБ).

Из других преимуществ HFS+ нужно отметить журналирование (под него выделяется целый скрытый том под названием HFSJ), а также многопоточность. Причём, если в NTFS альтернативные потоки не имеют особо чёткой регламентации на типы хранимой информации, то в HFS+ конкретно выделяется два потока: поток данных (хранит основные данные файлов) и поток с ресурсами (хранит метаданные файлов).

HFS+ практически идеальна для традиционных HDD, однако, как и рассмотренная выше ReiserFS, имеет не самые эффективные алгоритмы борьбы с фрагментацией данных. Поэтому с распространением SSD-накопителей и внедрением их в технику Apple всё чаще на смену ей приходит файловая система, разработанная в 2016 году APFS (сокр. англ. "Apple File System" - "Файловая система Apple"), появившаяся в настольной macOS High Sierra (10.13) и мобильной iOS 10.3.

Во многом APFS сходна с exFAT в плане оптимизации процессов чтения/записи, однако, в отличие от неё, имеет журналирование, поддерживает распределение прав доступа к данным, имеет улучшенные алгоритмы шифрования и сжатия данных, а также может работать с томами размером аж до 9 ЙиБ (не смейтесь - "йобибайт ") за счёт 64-битной адресации!

Единственным минусом APFS является то, что она поддерживается лишь современной техникой Apple и пока недоступна на других платформах.

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

Сегодня мы рассмотрели много различных популярных файловых систем, поэтому не мешало бы свести все данные о них в единую таблицу:

Характеристики / ФС FAT32 NTFS exFAT ext2 ext4 ReiserFS HFS+ APFS
Год внедрения 1996 1993 2008 1993 2006 2001 1998 2016
Сфера применения Windows, съёмные накопители, Linux съёмные накопители, Windows Vista+, Linux Linux, съёмные накопители Linux Linux MacOS MacOS
Максимальный размер файла 4 ГиБ 16 ЭиБ 16 ЭиБ 2 ТиБ 16 ТиБ 8 ТиБ 16 ЭиБ 9 ЙиБ
Максимальный размер тома 8 ТиБ 16 ЭиБ 64 ЗиБ (зебибайт) 32 ТиБ 1 ЭиБ 16 ТиБ 16 ЭиБ 9 ЙиБ
Журналирование - + - - + + + +
Управление правами доступа - + - - + + + +

Выводы

Как видим, для каждой операционной системы существует своя оптимальная файловая система, которая позволяет наиболее эффективно работать с данными. Например, для Windows - это NTFS, для MacOS - HFS+ или APFS. Исключением из правила можно считать лишь многочисленные дистрибутивы Linux. Здесь имеется не один десяток файловых систем, каждая со своими преимуществами и недостатками.

Большинству же пользователей Windows стоит запомнить лишь три наиболее распространённые ФС: FAT32 - для небольших флешек и старого оборудования, NTFS - для большинства компьютеров и exFAT - для ёмких флеш-накопителей и внешних SSD-дисков (об актуальности форматирования системного диска в exFAT до сих пор спорят в виду отсутствия журналирования и большей подверженности сбоям).

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.

Рано или поздно начинающий пользователь компьютера сталкивается с таким понятием, как файловая система (ФС). Как правило, впервые знакомство с данным термином происходит при форматировании носителя информации: логические диски и подключаемые носители (флешки, карты памяти, внешний жесткий диск).

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

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

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

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

Основные функции файловой системы

Основными функциями файловой системы являются:

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

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

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

Виды файловых систем

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

  1. FAT32
  2. ISO9660

Последние две системы предназначены для работы с компакт дисками. Файловые системы Ext3 и Ext4 работают с операционными системами на основе Linux. NFS Plus – это ФС для операционных систем OS X, используемых в компьютерах фирмы Apple.

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

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

Файловая система NTFS поддерживает работу с дисками объемом в сотни терабайт и размером одного файла до 16 терабайт.

Файловая система FAT32 поддерживает диски до 8 терабайт и размер одного файла до 4Гб. Чаще всего данную ФС используют на флешках и картах памяти. Именно в FAT32 форматируют внешние накопители на заводе.

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

Поделиться.

FAT16

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

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

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

FAT32

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Недостатки NTFS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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