≪
≫

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

На уровне базовой системы ввода-вывода дисковый раздел содержит только сектора, нумерованные 0, 1, 2 и т. д. Без дополнительной поддержки каждый раздел был бы большим монолитным набором данных. Для разбиения разделов на большие файлы — директории, меньшие файлы — пользовательские единицы информации, назначения имен каждому файлу и управления свободным пространством, доступным для создания новых файлов, операционные системы манипулируют файловыми структурами.

Файловая структура и совокупность методов организации и управления пространством раздела называются файловой системой. Разные файловые системы отражают требования своих операционных систем или различные аспекты производительности. В Unix, например, имеется соглашение о значимости в именах файлов регистра литер, так что здесь «readme.txt» и «Readme.txt» — два разных файла. DOS и системы, которые унаследованы из нее (Windows 9х, OS/2 и Windows NT/ХР), игнорируют различия в регистре в именах файлов. Некоторые файловые системы лучше работают на малых машинах, другие — на больших серверах.

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

На одном жестком диске могут быть разделы с файловыми системами, принадлежащими DOS, Windows 9х, OS/2, NT/ХР и Linux (или другим аналогам Unix). Обычно операционная система игнорирует разделы, идентификатор типа которых представляет файловую систему неизвестного типа. (Имея достаточно большой диск, можно поэкспериментировать и установить разные операционные системы и типы.)

В следующих разделах описываются файловые системы, поддерживаемые Windows ХР.

FAT

Файловая система FAT (File Allocation Table) используется DOS и поддерживается всеми операционными системами для PC. Она проста и требует немного места на диске.

Система FAT была разработана в течение нескольких дней в феврале 1976 года Биллом Гейтсом (глава корпорации Microsoft). Такая система потребовалась ему для создания среды программирования BASIC, в которой можно было бы хранить программы и данные на гибких дисках. Эта разработка FAT была включена Тимом Паттерсоном из компании Seattle Computer Products в раннюю версию операционной системы для процессора Intel 8088. В 1981 году Билл Гейтс выкупил права на систему, затем переписал ее, создав первую версию MS-DOS.

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

Блок начальной загрузки

Корневая директория - информация FAT I I Управляющая

Пространство тома -директории и файлы

Та6лица11 Таблица2| информация

Рис. 7.15. Размещение информации FAT

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

ПРИМЕЧАНИЕ.____________________________________________________

Разделы FAT хорошо анализируются соответствующими программами всех операционных систем Microsoft. В Windows ХР — это программа проверки диска Chkdsk (см. раздел «Проверка диска на наличие ошибок»),

В соответствии с изначальной разработкой, FAT, как и все 16-разрядные файловые системы, поддерживает максимум 64К (точнее, 65 518) единиц распределения, или кластеров. Так как каждый файл занимает (минимум) один или больше кластеров, каждое вхождение файла в FAT содержит информацию об адресах всех кластеров, занятых файлом. Когда дисковый раздел — 32 Мб или меньше, то кластер FAT — это сектор размером 512 байт. Однако если размер диска больше, кластеры также увеличиваются. Раздел 64-мегабайтового диска имеет кластеры размером 1К. Кластеры 128-мегабайтового раздела имеют размер 2К. Кластеры 256-мегабайтового раздела имеют размер уже 4К. Жесткий диск объемом 1—2 Гб будет иметь кластеры, которые занимают 32 Кб дискового пространства. В результате файл, размер которого равен 33 Кб, займет два полных кластера, причем 31 Кб будет потрачено впустую. Умножив это на количество файлов, получим потенциальные потери пространства жесткого диска.

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

Классическая файловая структура FAT (до Windows NT и Windows 95) ограничивает имена файла восьмью символами плюс три символа расширения через точку (например, как в имени «Autoexec.bat»). Это соглашение именования «8.3» было заимствовано из ранних мини-компьютеров моделей PDP фирмы Digital Equipment. Структура FAT для каждого файла поддерживает также набор атрибутов. Атрибуты файла сообщают, системный ли это файл, должен ли он быть скрыт в листинге каталога, должен ли он архивироваться при следующем резервном копировании диска; доступен ли этот файл только для чтения. Имеются также отметки о дате и времени последнего изменения файла.

Система FAT поддерживается в Windows ХР лишь для целей обратной совместимости, так как рассматривается как неэффективная на томах больших, чем приблизительно 500 Мб. Это объясняется не только нерациональным использованием больших кластеров, но также большими затратами ресурсов, привлекаемых для поддержания самой таблицы распределения файлов. FAT также более уязвима перед лицом вирусных атак, так как самые «лучшие», «классические» вирусы были написаны «для FAT».

В то же время система FAT использовалась длительное время, так что проблемы ее тщательно изучены. Каждая версия MS-DOS и Windows содержит программу дефрагментации (см. раздел «Дефрагментация диска»), которая оптимизирует пространство директорий, файлов и свободное пространство, что положительно сказывается на производительности системы. Эффективное использование оперативной памяти в качестве дискового кэша помогает решить некоторые из проблем ввода-вывода.

FAT32

Операционные системы Windows 98/МЕ и Windows 2000/ХР поддерживают также 32-разрядную FAT32. FAT32 — дальнейшее развитие файловой системы FAT.

FAT32 была разработана для поддержки больших разделов диска. Она может разбивать большие кластеры на меньшие части, что существенно повышает эффективность использования дискового пространства. Вспомним, что для FAT размер кластера в разделе объемом от 1 до 2 Гб возрастает до 32К. FAT32 решает эту проблему, уменьшая до 4К умолчательный размер кластера для разделов от 260 Мб до 8 Гб. Для дисков или разделов до 260 Мб используются кластеры размером 0,5К; для разделов до 16 Гб размер кластера — 8К; до 32 Гб — 16К; и для разделов 32 Гб и выше размер кластера постоянен и равен 32К.

FAT32 позволяет управлять разделами объемом до 2 терабайт (2048 Гб).

ПРИМЕЧАНИЕ.____________________________________________________

Систему FAT32 не следует путать с версией 16-разрядной системы FAT, реализованной в Windows 95 — VFAT (Virtual FAT). Технически VFAT не является новой файловой системой. В этой системе используется та же структура директорий и файлов и тип разделов, как и в обычной FAT. VFAT — лишь способ хранения в директории FAT большего количества информации. В то же время в среде Windows она позволяет преодолеть ограничение соглашения «8.3», принятое в DOS, и поддерживает длинные имена файлов. Это наиболее важная черта VFAT. Так как эта система надстроена на обычной FAT, каждый файл в ней должен иметь до 8 символов в имени и до 3 символов в расширении. Однако, распределяя дополните-льные блоки, VFAT позволяет хранить длинные имена файлов.

Программы, выполняющиеся под DOS и Windows 95, не будут видеть ни длинных имен файлов, ни вообще разделов FAT32. Длинные имена, созданные в FAT32, видны только для программ среды Win32 в Windows 98/МЕ, Windows 95 OSR2, Windows NT/XP, а также OS/2 и Linux.

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

NTFS

NTFS — файловая система, разработанная специально для Windows NT. NTFS может «все»: она поддерживает длинные имена файлов, большие тома, защиту данных и ряд серьезных возможностей, которых нет в других системах.

NTFS оперирует длинными именами в кодировке Unicode. В этой кодировке каждый символ описывается двумя байтами. Это означает, что файл в NTFS может иметь даже китайское имя. В то же время NTFS поддерживает имена формата «8.3», так что они могут использоваться программами DOS. NTFS также обеспечивает регистр—чувствительный доступ к файлам (для программ Unix) и регистр—нечувствительный доступ (для программ DOS, OS/2 и Windows).

NTFS поддерживает наборы томов', литера диска может ассоциироваться с томом, распределенным по ряду отдельных областей свободного пространства на нескольких дисках. Если том NTFS заполняется, его можно расширить, добавив дополнительный объем свободного дискового пространства с того же или другого жесткого диска. При этом не требуется выполнять никакой реорганизации и переформатирования разделов, резервного копирования или восстановления данных. (См. также раздел «Расширение пространства тома».)

В то время как имеющиеся в DOS и Windows драйверы (Dblspace, Drvspace) сжимают весь диск, NTFS позволяет индивидуально выбирать для сжатия диски, файлы или папки. Файлы при использовании автоматически декомпрессируются, а новые файлы, если они создаются в сжатой директории, автоматически сжимаются. Во избежание снижения производительности системы часто используемые файлы могут быть оставлены несжатыми. (Подробно о сжатии в Windows ХР см. в разделе «Сжатие дисков и файлов».)

Вспомним, что файловая система FAT уходит корнями к ранним версиям DOS, прошла путь до FAT32, но так и не избавилась от всех своих недостатков. Разработка же NTFS была начата изначально с целью обеспечения защищенной и эффективной системы для управления данными в больших разделах. В NTFS данные также организуются в кластерах, но умолчательный размер кластера для диска 1—2 Гб — 4 Кб. На разделах размером больше 8 Гб NTFS управляет пространством более эффективно, чем FAT32. Максимальный размер раздела FAT32, создаваемый в Windows ХР, — 32 Гб. С другой стороны, используя умолчательные параметры, можно создать том NTFS размером до 16 терабайт (16,384 Гб), а за счет изменения размеров кластера можно довести размер тома до 256 терабайт.

Технически файловая система NTFS позволяет восстанавливать тома после дисковых ошибок гораздо эффективнее, чем системы FAT/FAT32. Для управления данными, сохраненными на дисководе, NTFS использует главную таблицу файлов (Master File Table — MFT) и ряд других системных файлов. В MFT перечислено все содержимое тома, в том числе атрибуты всех файлов и директорий. NTFS также использует журналы, в которых фиксируется все дисковое функционирование. MFT и файлы системных журналов постоянно дублируются. В случае системного отказа Windows ХР может использовать эти журналы для восстановления важной информации конфигурации и автоматического исправления ошибок файловой системы при следующем перезапуске системы.

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

На томе NTFS можно ограничивать доступ к файлам и папкам, используя разрешения NTFS. В Windows ХР можно также использовать дополнительный уровень защиты, шифруя файлы. Файлы восстановления системы также защищены от случайного удаления в соответствии с разрешениями NTFS и хранятся в скрытых папках System Volume Information. Обратиться к этим папкам уполномочен только пользователь с учетной записью System. В то же время на томах FAT или FAT32 любой пользователь, имея физический доступ к компьютеру, может обратиться к любым файлам на диске. Случайно или преднамеренно удалив точки восстановления, можно разрушить механизмы восстановления системы.

Замечания по выбору файловой системы

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

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

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

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

NTFS используется для обеспечения максимальной защиты на серверных системах Windows NT/2000/XP. В таких системах все разделы выгоднее форматировать под NTFS. До недавнего времени данные на томах NTFS могли использовать только системы линии Windows NT. Ввиду того что развитие систем Windows 9х компанией Microsoft прекращается, a Windows ХР становится базовой линией развития операционных систем Microsoft, файловая система NTFS будет приобретать все более доминирующую позицию.

Сегодня поддержка NTFS расширяется и на других системах: полную поддержку обеспечивает Linux (ядро 2.2—2.4), OS/2 работает с разделами NTFS с некоторыми ограничениями. С учетом этого и на персональных рабочих станциях и портативных компьютерах, где еще недавно NTFS была не столь привлекательна, принося больше проблем, чем пользы, перспективы применения NTFS расширяются.

 
Посмотреть оригинал