Сегодня при инсталляции Windows 2000, или Windows XP перед тобой неизменно встает вопрос: "Какую файловую систему предпочесть - FAT 32 или NTFS?". И многие, решив, что "с FAT я уже знаком" останавливают свой выбор именно на FAT32. Да что далеко ходить - даже в X в одной из статей автор писал, что "при установке Win 2000 я оставил FAT32, потому что на ней система работает быстрее"… Что здесь неправильно? Да то, что быстрее она работать попросту не может… Так что тебе, чтобы не повторять подобных ошибок, было бы полезно хотя бы понимать "как все устроено". Надеюсь этот краткий обзор тебе поможет - мы рассмотрим FAT16, FAT32 и NTFS.(FAT16 полезно рассмотреть по той
причине, что от FAT32 ее отличает очень не многое и полезно эти отличия хотя бы знать).
FAT16
Файловая система FAT работает с единицами дискового пространства, называемыми кластер. Каждый кластер может включать один или несколько секторов жесткого диска (твой хард обычно разбит на сектора по 512 байт). Из чего следует, что минимальный размер кластера - 512 байт. Для хранения одного файла можно использовать один или несколько кластеров. Каждому кластеру диска в таблице FAT соответствует отдельная запись, которая либо указывает на следующий кластер файла, либо содержит метку конца файла. В составе каждого каталога хранятся имена входящих в него файлов. Вместе с именем файла хранится указатель на первый кластер этого файла. Помимо этого в каталоге хранится дата создания файла, его размер и атрибуты. Атрибуты могут указывать на то, что файл является скрытым, зарезервированным для использования операционной системой, требует архивирования (резервного копирования) или предназначен только для чтения.
Это теория, а теперь недостатки: ты никогда не задумывался, что значит "16" в названии файловой системы? А значат они то, что таблица размещения файлов FAT (File Allocation Table) идентифицирует записи, соответствующие дисковым кластерам, при помощи 16-разрядных чисел. Таким образом, в таблице можно разместить не более 65 536 записей (2 в 16-ой степени). А если учитывать то, что максимальный размер кластера - 32 Кбайта, то выходит, что максимальный раздел дискового тома - 2 Гбайта. У тебя логические диски на винте наверное ГОРАЗДО большего размера? Это недостаток номер "раз"(хотя надо отметить, что FAT32 этот недостаток почти что преодолела). Недостаток номер два - это то, что для хранения ВСЕХ файловых атрибутов система FAT использует всего 1 байт. Как ты думаешь много ли можно засунуть в один байт? Правильно именно по этой причине нельзя хранить ни сведения о праве доступа к файлу, ни о его владельце… Недостаток номер "три" кроется в том, что при использовании FAT больший размер дискового тома означает больший размер кластера, а одна из главных "невкусностей FAT" - это то, что один файл = как минимум один кластер. Пример: имеем размер кластера 32 Кбайта и файл размером в 2 Кбайта - в результате файл занимает весь кластер, т.е. мы теряем 30 Кбайт…Примерно тоже самое получится, если файл будет размером 34 Кбайта - тогда он займет два кластера и во втором мы опять потеряем 30 Кбайт… Недостатки номер "четыре и пять" - сведения о физическом расположении файлов хранятся в одном месте - таблице размещения файлов FAT, что: а) увеличивает вероятность повреждения и потери всей информации; б) снижает скорость поиска, т.к. для поиска определенного файла нужно обработать всю таблицу.
Нужно признать, что FAT16 создавалась давно, во времена MS-DOS и требованиям того времени вполне удовлетворяла…
FAT32
Эта файловая система пришла на смену FAT16. Если ты внимательно читал предыдущий параграф, то уже понял, что ее отличие в том, что таблица размещения файлов FAT (File Allocation Table) идентифицирует записи, соответствующие дисковым кластерам, при помощи 32-разрядных чисел. В соответствии с этим максимальное количество записей становится равным 4 294 967 296 (2 в 32-ой степени). В связи с чем максимальный размер дискового тома существенно увеличивается (до 2 Тбайт). Однако это позволяет преодолеть лишь недостаток номер "раз", однако все остальные - увы остаются… И что особенно обидно для владельцев небольших винтов - нерациональное расходование дискового пространства… а также частые повреждения разнообразной природы и т.д. Скандиск у любителей FAT не знает, что такое отдых….
NTFS
Расшифровывается как New Technology File System - как ты наверное понял из названия - это круто и здорово… и причем это не только слова! По сравнению с FAT файловая система NTFS обладает куда более сложной структурой и куда более широкими
возможностями. В отличии от FAT, файловая система NTFS не хранит всю информацию о расположении файлов в одном месте. Вместо этого сведения о распределении дискового пространства между файлами сохраняются в составе специальных пакетов, которые могут располагаться в любом месте раздела
(помнишь недостаток "четыре" у системы FAT?). Структура каталогов NTFS также отличается от структуры каталогов FAT. Дисковые каталоги NTFS лучше приспособлены для осуществления поиска файлов, так как записи о файлах сохраняются с использованием бинарного дерева, а не простого линейного списка (как это было в FAT). Это означает, что для того, чтобы обнаружить файл, требуется проанализировать меньшее количество записей (теперь подумай прав ли автор, которого я упомянул вначале статьи). А если к этому еще прибавить возможность индексирования, то система будет просто летать!
Файловая система NTFS обладает встроенной поддержкой длинных имен и расширяемых файловых атрибутов. Благодаря этому разделы NTFS могут хранить информацию, связанную с защитой файлов (например, списки ACL), аудитом доступа к файлам, а также сведения, связанные с правами на владение файлами. (теперь, ты можешь поставишь запрет на доступ к каталогу с порнушкой для всех, кроме себя и тебя не
понадобиться для этого какие-либо дополнительные проги, которых так много расплодилось для Win9X c ее FAT32!)
Задание дисковой квоты - еще одна возможность NTFS, связанная с возможностью сохранения расширенного количества атрибутов файла. Заключается она в том, что определенному пользователю можно назначить определенный размер дискового пространства, который он может использовать для хранения своих файлов (ты наверно уже сталкивался с этим, если имел дело с каким
либо хостингом). Если же ты подобного опыта не имел, то объясняю: при попытке сохранения файла, система анализирует размер всех файлов, которые уже принадлежат тебе (ага, по тому самому атрибуту "владелец" о котором говорилось только что) и сравнивает с назначенной тебе дисковой квотой. Если остаток квоты достаточен для размещения этого файла, то будет выполнено сохранение, в противном случае тебя пошлет подальше сообщением "превышена дисковая квота". Какая польза от этого? Конечно ты не собираешься открывать на своем компе бесплатный хостинг… но вот не позволить младшему братишке забить весь винт своими
дурацкими игрушками - это запросто (выдели ему 500 Мегабайт - пусть попробует погамится ;-)).
Если при использовании FAT самое лучшее на что ты мог рассчитывать - это то, что файл будет занимать на диске не более, чем собственный размер, то при использовании NTFS можешь об этом забыть! В NTFS минимальная единица равна сектору жесткого диска и один файл не означает один кластер! Помимо этого файловая система поддерживает атрибут, позволяющий осуществлять индивидуальную компрессию файлов и каталогов. Пример: У меня есть каталог размером 80 мегабайт. После компрессии он занимает на диске 30 мегабайт "c кепкой"…
Новые возможности NTFS5 и Windows 2000 позволяют
задействовать архитектуру открытых ключей
для шифрования файлов, каталогов или томов
с помощью EFS. Кроме того наверняка всех
порадует возможность монтирования. С
помощью данной фишки можно подсоединить
любой диск/хард в любое место файловой
системы - например папку C:\XXX\ назначить на
твой логический диск Р: (что значит порно :).
Ну и в довершение всего NTFS поддерживает ОЧЕНЬ большие диски - до 16 экзабайт. (экзабайт - это 1 073 741 824 Гигабайт). Простой пример: Если жесткий диск способен записать 1 мегабайт данных в секунду, то для того, чтобы записать один экзабайт (заметь один, а не шестнадцать), ему потребуется 1000 миллиардов секунд. В одном году 3 миллиона секунд. Следовательно, чтобы сохранить один экзабайт данных потребуется 300 000 лет… Я тут слышал, что собираются запустить корабль к ближайшей звезде - Альфа-Центавра. Предполагают, что он долетит туда за 200 лет…
Итак, если ты идешь в ногу со временем, то твой выбор - NTFS. Но не забывай, что за всеми ее "вкусностями" таится одна проблема - ее из под DOS не видно. Поэтому раньше те, кто боялся падения системы на NTFS не переходили. Но это было раньше! Теперь с приходом Windows 2000 появилась новая возможность - "консоль восстановления", которая позволить тебе получить доступ к разделу NTFS, даже если операционка повреждена. Установить сие чудо довольно просто: после установки ОСи, просто запусти программу установки заново с ключом "/cmdcons", после чего консоль восстановления добавится в меню выбора операционной системы.
Ну а если тебе по душе старое и простое - то FAT создан именно для тебя….