Выберите файловые системы windows fat32 ntfs fat12 fat16 linux

Содержание FAT12, FAT16 и FAT32 NTFS exFAT Ext2, Ext3 и Ext4 HFS, HFS+ и APFS ZFS Выбор файловой системы В данной статье речь пойдёт о компьютерных файловых системах. Это стандарты для организации данных на нашем жестком диске или SSD в качестве устройства хранения, которые применяются при форматировании дисков или разделов. На сегодняшний день используется множество

Post Views: 1 941

Содержание

    1. FAT12, FAT16 и FAT32
    2. NTFS
    3. exFAT
    4. Ext2, Ext3 и Ext4
    5. HFS, HFS+ и APFS
    6. ZFS
    7. Выбор файловой системы

В данной статье речь пойдёт о компьютерных файловых системах. Это стандарты для организации данных на нашем жестком диске или SSD в качестве устройства хранения, которые применяются при форматировании дисков или разделов. На сегодняшний день используется множество различных файловых систем, выбор которых зависит от используемой операционной системы и типа форматируемого диска. Так, например, в Windows пользуются файловой системой NTFS или exFAT. Для Linux же, при надобности отформатировать флешку, параметры файловой системы — FAT32, NTFS или ext4. В чем же разница между файловыми системами и какую из них стоит выбрать?

FAT12, FAT16 и FAT32

Файловые системы делят пространство хранения на диске на виртуальные отсеки, известные как кластеры, и поддерживают индекс расположения отдельных файлов и доступного свободного места. Первая файловая системая эксплуатировалась Windows MSDOS  и была названа таблицей размещения файлов (file allocation table) или FAT с тремя основными версиями: FAT12, FAT16 и FAT32. Каждый вариант может разделить диск на все большее число кластеров и поддерживать увеличивающийся максимальный размер файла.

Например, FAT12 поддерживает максимальный размер файла и тома 32 мегабайта. FAT32 может хранить отдельные файлы размером до 4 гигабайт и ограничивается объемом 32 ГБ при форматировании в Windows, объемом до 2 терабайт при форматировании в других операционных системах и имеет абсолютный максимальный размер тома 16 терабайт. FAT32 остается популярной файловой системой из-за высокого уровня совместимости с операционными системами и до сих пор широко используется для форматирования USB-накопителей, карт памяти и некоторых других внешних устройств хранения данных.

NTFS

На сегодняшний день самой популярной файловой системой для Windows является New Technology File System или NTFS. Появился он в 1993 году для преодоления ограничений FAT32 и имеет границы на размер файла 16 эксабайт (ЭБ). Эксабайт равен 1 миллиону терабайт, поэтому на практике ограничений по размеру файла нет. NTFS также является файловой системой с журналированием, что означает возможность поддерживать запись изменений для шанса восстановления после сбоя системы или питания. В отличие от FAT32, NTFS также поддерживает права доступа к файлам, позволяя пометить файл как доступный только для чтения. Также поддерживается шифрование и другие функции, которые делают NTFS более удобной для использования на системном диске. По этим причинам все современные версии Windows необходимо устанавливать на диск, отформатированный в NTFS. Единственным реальным недостатком данной файловой системы является отсутствие совместимости со старыми версиями Windows и другими операционными системами. Например, по умолчанию тома NTFS доступны только для чтения в Mac OS и в старых дистрибутивах Linux, а также могут вовсе не читаться на некоторых устройствах, таких как автономные медиаплееры.

exFAT

exFAT, иначе именуемая расширенная таблица размещения файлов, разработана ​​Microsoft в 2006 году в качестве оптимизированной для USB-накопителей большой емкости и карт памяти файловой системы. exFAT менее сложен, чем NTFS, но имеет значительные преимущества по сравнению с FAT32. Не в последнюю очередь, максимальный размер файла составляет 16 ЭБ или фактически неограничен, что делает exFAT лучшим выбором в форматировании карт памяти для записи видео. По этой причине exFAT была принята Ассоциацией SD Card Association в качестве файловой системы по умолчанию для карт памяти SDXC. С точки зрения совместимости, exFAT поддерживает системы Windows, Mac OS и последние версии Android. Однако большинство систем Linux требуют установки дополнительных драйверов для доступа к устройствам exFAT.

Ext2, Ext3 и Ext4

Специально для операционной системы Linux в 1992 году была запущена расширенная файловая система или Ext (extended file system). В 1993 году было выпущено обновление под названием Extended File System 2, или Ext2, которое в течение многих лет было файловой системой по умолчанию во многих дистрибутивах Linux.

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

Ext4, наиболее актуальная специализированная файловая система для Linux, выпущена в 2008 году. Ext4 обладает максимальным размером файла 16 ТБ и максимальным размером тома 1 ЭБ. Однако, как можно догадаться, ни Windows, ни MacOS не поддерживают Ext2, Ext3 или Ext4.

HFS, HFS+ и APFS

HFS, или иерархическая файловая система (Hierarchical File System), выпущена ​​Apple в 1985 году для использования в MacOS. Он предлагает максимальный размер файла 2 гигабайта и максимальный размер тома 2 терабайта и также известен как «Mac OS standard». В 1998 году HFS была обновлена ​​до новой версии под названием HFS+ или «HFS Extended», иначе известной как «MacOS Extended». В новой версии добавлено журналирование, а максимальный размер файла и размер тома составляет 8ЭБ при использовании MacOS 10.4 или выше. В 2017 году Apple представила новую файловую систему под названием APFS или Apple File System, которая оптимизирована для SSD и других твердотельных носителей.

HFS, HFS+ и APFS разрабатывались для Apple систем, потому изначально не поддерживаются Windows или другими операционными системами.

ZFS

Рассмотрим также ZFS или Zed File System. Первоначально выпущенная в 2006 году, она была создана Sun Microsystems, но с 2013 года разрабатывается в рамках проекта OpenZFS. Файловая система отличается от других вариантов тем, что в нее встроен диспетчер томов для управления устройствами хранения, подключенными к компьютеру. Интегрируя управление физическими дисками с функциями файловой системы, ZFS обеспечивает повышенную защиту от потери или повреждения данных. В настоящее время ZFS доступна для Linux, FreeBSD и TrueOS, а в будущем может быть перенесена на Windows.

Выбор файловой системы

Какая файловая система подойдет вам? Для любого системного диска файловая система выбирается на основе используемой вами операционной системы. Так, NTFS подойдет для Windows, Ext4 для дистрибутивов Linux, а HFS+ или APFS для MacOS. Для USB-накопителей и карт флэш-памяти FAT32 остается лучшим выбором устройств емкостью менее 32 ГБ, чтобы обеспечить максимальную совместимость между платформами. exFAT — лучший выбор для флэш-накопителя или карты памяти емкостью 32 ГБ и более, а также в случае необходимости хранить файлы размером более 4 ГБ.

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

Чтобы проверить, какая файловая система находится на диске, зайдите в операционную систему, выберите нужный диск, щелкните правой кнопкой мыши и выберите «Свойства», через которые и можно увидеть файловую систему. Если система не та, которую хотелось бы иметь, то изменить ее можно путём форматирования диска.

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

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

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

      1. Различие файловых систем

У
Windows файловые системы — NTFS и FAT32. Минус
Windows в том, что он не различает другие
файловые системы.FAT32 — последняя версия
файловой системы FAT и улучшение предыдущей
версии, известной как FAT16. Она была
создана, чтобы преодолеть ограничения
на размер тома в FAT16, позволяя при этом
использовать старый код программ MS-DOS
и сохранив формат. FAT32 использует
32-разрядную адресацию кластеров. FAT32
появилась вместе с Windows 95 OSR2.

Linux
имеет более ста различных файловых
систем. Самые популярные это EXT3, reiserfs и
другие. Распознает файловые системы
Windows. Файловую систему reiserfs разработали
сотрудники МГУ. Файлы всех пользователей
в Linux хранятся раздельно, у каждого
пользователя есть собственный домашний
каталог, в котором он может хранить свои
данные. Доступ других пользователей к
домашнему каталогу пользователя может
быть ограничен. Информация о домашнем
каталоге обязательно должна присутствовать
в учётной записи, потому что именно с
него начинает работу пользователь,
зарегистрировавшийся в системе. Файловая
система не только систематизирует
данные, но и является основой метафоры
«рабочего места» в Linux. Каждая
выполняемая программа «работает»
в строго определённом каталоге файловой
системы. Такой каталог называется
текущим каталогом, можно представлять,
что программа во время работы «находится»
именно в этом каталоге, это её «рабочее
место». В зависимости от текущего
каталога может меняться поведение
программы: зачастую программа будет по
умолчанию работать с файлами, расположенными
именно в текущем каталоге — до них она
«дотянется» в первую очередь.
Текущий каталог есть у любой программы,
в том числе и у командной оболочки
(shell) пользователя. Поскольку взаимодействие
пользователя с системой обязательно
опосредовано командной оболочкой, можно
говорить о том, что пользователь
«находится» в том каталоге, который
в данный момент является текущим
каталогом его командной оболочки.

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

Создатель

Год

Родная
ОС

ext2

Rémy
Card

1993

Linux

ext3

Stephen
Tweedie

1999

Linux

ext4

Andrew
Morton

2006

Linux

exFAT

Microsoft

2008

Windows
Vista SP1+

FAT12

Microsoft

1977

Microsoft
Disk BASIC

FAT16

Microsoft

1983

MS-DOS
2.0

FAT32

Microsoft

1996

Windows
95

NTFS

Microsoft,

Gary Kimura, Tom Miller

1993

Windows
NT

Таблица
4. Основная информация

Ограничения

Максимальная
длина
имен файлов

Доп.символы

в названиях

Макс.длина

пути файла

Макс.размер
файла

ext2

255
байт

Любые
символы, кроме NUL, /

Нет
ограничений

16GiB
— 2TiB

ext3

255
байт

Любые
символы, кроме NUL, /

Нет
ограничений

16GiB
— 2TiB

ext4

255
байт

Любые
символы, кроме NUL, /

Нет
ограничений

16GiB
— 16TiB

exFAT

Неизвестно

Любые
символы Юникода,
кроме NUL

Нет
ограничений

16EiB

FAT12

8+3
символов (255
байт для VFAT)

Любые
символы ANSI (Unicode для VFAT), кроме NUL

Нет
ограничений

32MiB

FAT16

8+3
символов (255 байт для VFAT)

Любые
символы ANSI (Unicode для VFAT), кроме NUL

Нет
ограничений

2GiB

FAT32

255
байт

Любые
символы Юникода, кроме NUL

Нет
ограничений

4GiB

NTFS

255
символов

Любые
символы Юникода,
кроме NUL, » / * ?
< > | :

32
767 символов Юникода; каталог
или имя
файла — до 255 символов

16
EiB

Таблица
5. Ограничения

Измерения
в байтах

Символ

Название

Степень

Mib

мебибайт

2^20

Gib

гибибайт

2^30

Tib

тебибайт

2^40

Eib

эксбибайт

2^60

Таблица
6. Измерения в байтах

Мета-данные

Запись
владельца
файла

Права
файлов
POSIX

Временные
метки
созд.файла

Временные
метки
доступачтения

Временные
метки
изм.метаданных

Временные
метки
посл.архивир.

Метки

безопасности

Контрольные
суммы

ext2

Да

Да

Нет

Да

Да

Нет

Да

Нет

ext3

Да

Да

Нет

Да

Да

Нет

Да

Нет

ext4

Да

Да

Да

Да

Да

Нет

Да

Да

exFAT

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

FAT12

Нет

Нет

Да

Да

Нет

Нет

Нет

Нет

FAT16

Нет

Нет

Да

Да

Нет

Нет

Нет

Нет

FAT32

Нет

Нет

Да

Да

Нет

Нет

Нет

Нет

NTFS

Да

Нет

Да

Да

Да

Нет

?

Нет

Таблица
7. Мета-Данные

POSIX
(англ. Portable Operating System Interface for Unix —
Переносимый интерфейс операционных
систем Unix) — набор стандартов, описывающих
интерфейсы между операционной системой
и прикладной программой. Стандарт создан
для обеспечения совместимости различных
UNIX-подобных операционных систем и
переносимости прикладных программ на
уровне исходного кода, но может быть
использован и для не-Unix систем.

Особенности

Жесткие

ссылки

Символьные
ссылки

Журналирование
блоков

Журналир.только
мета-данных

Чувствително
к
регистру

Сохр.регистра
символов

Лог
изм.
Файлов

ext2

Да

Да

Нет

Нет

Да

Да

Нет

ext3

Да

Да

Да

Да

Да

Да

Нет

ext4

Да

Да

Да

Да

Да

Да

Нет

exFAT

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

Неизвестно

FAT12

Нет

Нет

Нет

Нет

Нет

Нет

Нет

FAT16

Нет

Нет

Нет

Нет

Нет

Частично

Нет

FAT32

Нет

Нет

Нет

Нет

Нет

Частично

Нет

NTFS

Да

Да

Да

Да

Да

Да

Да

Таблица
8. Особенности

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #

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

     FAT16

     FAT32

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

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

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

Universal Disk Format

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

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

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

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

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

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

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

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

Начнем с того, что вспомним, какие файловые системы поддерживаются в различных операционных системах фирмы Microsoft (табл. 1).

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

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

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 Гбайт.

На рис. 1 показано, как организован том при использовании файловой системы FAT16.

В файловой системе FAT16 кластеры могут иметь различное значение. Например, это может быть свободный (неиспользуемый) кластер, кластер, занятый файлом, дефектный кластер или последний кластер файла.

Единственным различием между корневым и другими каталогами является то, что первый располагается в определенном месте и имеет фиксированное число вхождений. Каждый каталог и файл используют одно или более вхождений. Например, если число фиксированных вхождений для корневого каталога равно 512 и создано 100 подкаталогов, в корневом каталоге можно создать не более 412 файлов (512 – 100).

Для каждого файла и каталога в файловой системе хранится информация (в табл. 3 приведены данные для коротких имен файлов).

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

Как видно из рис. 2, в папке расположены три файла. Первый из них — FILE1.EXT занимает три кластера (файл не фрагментирован, кластеры 2, 3 и 4 расположены последовательно), второй файл — FILE2.EXT фрагментирован и располагается в кластерах 5, 6 и 8, а третий — FILE2.EXT занимает всего один кластер. Вхождение для каждого файла содержит адрес его начального кластера (2, 5 и 7 соответственно). Последний кластер каждого файла (4, 8 и 7) в качестве адреса следующего кластера содержит значение FFFF, указывающее на то, что это последний кластер для данного файла.

Так как все вхождения имеют одинаковый размер информационного блока, они различаются по байту атрибутов. Один из битов в данном байте может указывать, что это каталог, другой — что это метка тома. Для пользователей доступны четыре бита, позволяющих управлять атрибутами файла — архивный (archive), системный (system), скрытый (hidden) и доступный только для чтения (read-only) (рис. 3).

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 уровней от корня;
  • использование расширений имен файлов не обязательно.

Universal Disk Format

Поддержка файловой системы UDF является одним из новшеств в Windows 2000. Universal Disk Format — это файловая система, отвечающая стандарту ISO’13346 и используемая для обмена данными с накопителями CD-ROM и DVD. В настоящее время поддерживаются только диски версий UDF 1.02 и 1.50.

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

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

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

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

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

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

В табл. 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, зависит от числа атрибутов этого файла.

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

Максимальный размер тома зависит от используемой файловой системы. Windows
2000 позволяет форматировать тома для трех файловых систем: FAT16, FAT32 и NTFS.

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

Как мы уже отмечали, FAT16 поддерживает до 65 535 кластеров на одном томе.
Из этого факта вытекают ограничения, показанные в табл.
9.

Под управлением Windows NT и Windows 2000 размер кластера FAT16 для томов размером
от 2 до 4 Гбайт равен 64 Кбайт. Этот размер кластера используется для обеспечения
совместимости с некоторыми приложениями (например, с программами установки,
которые неверно высчитывают объем свободного пространства). Поэтому рекомендуется
использовать FAT32 для томов размером от 2 до 4 Гбайт.

FAT32 работает с томами, на которых есть как минимум 65 527 кластеров, а максимальное
число кластеров, поддерживаемых этой файловой системой для одного тома, — 4
177 918. Windows 2000 позволяет создавать тома размером до 32 Гбайт.

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

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

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

Одним из таких ограничений является таблица разделов. Индустриальные стандарты
ограничивают размер таблицы разделов 232 секторами. Другим ограничением является
размер сектора, который обычно равен 512 байт. Поскольку размер сектора может
измениться в будущем, текущий размер дает ограничение на размер одного тома —
2 Тбайт (232 x 512 байт = 241). Таким образом, 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

Литература

  • Современные операционные системы, Э. Таненбаум, 2002, СПб, Питер, 1040 стр., (в djvu 10.1Мбайт) подробнее>>
  • Сетевые операционные системы Н. А. Олифер, В. Г. Олифер (в zip архиве 1.1Мбайт)
  • Сетевые операционные системы Н. А. Олифер, В. Г. Олифер, 2001, СПб, Питер, 544 стр., (в djvu 6.3Мбайт) подробнее>>

3.1 Файловой системы CD-дисков

3.1.1 Файловая система ISO 9660

Более подробная информация — http://ru.wikipedia.org/wiki/ISO_9660

Стандарт принят в 1988 г.

По стандарту диски могут быть разбиты на логические разделы, но мы будем рассматривать диски с одним разделом.

Как вы знаете из предыдущих лекций: блоки записываются последовательно; по спирали; сектора по 2352 байта.

Порядок записи информации:

  1. Каждый CD-ROM начинается с 16 блоков (неопределенных ISO 9660), эта область может быть использована для размещения загрузчика ОС или для других целей.

  2. Дальше один блок основного описателя тома — хранит общую информацию о CD-ROM, в нее входит:
    — идентификатор системы (32байта)
    — идентификатор тома (32байта)
    — идентификатор издателя (128байт)
    — идентификатор лица, подготовившего данные (128байт)
    — имена трех файлов, которые могут содержать краткий обзор, авторские права и библиографическая информация.
    — ключевые слова: размер логического блока (как правило 2048, но могут быть 4096, 8192 и т.д.); количество блоков; дата создания; дата окончания срока службы диска.
    — описатель корневого каталога (номер блока содержащего каталог).

  3. Могут быть дополнительные описатели тома, подобные основному.

Каталоговая запись стандарта ISO 9660.

Каталоговая запись стандарта ISO 9660.

Расположение файла — номер начального блока, т.к. блоки располагаются последовательно.

L — длина имени файла в байтах

Имя файла — 8 символов, 3 символа расширения (из-за совместимости с MS-DOS). Имя файла может встречаться несколько раз, но с разными номерами версий.

Sys — поле System use (используется различными ОС для своих расширений )

Порядок каталоговых записей:

  1. Описатель самого каталога (аналог «.»)

  2. Ссылка на родительский каталог (аналог «..»)

  3. Остальные записи (записи файлов) в алфавитном порядке

Количество каталоговых записей не ограничено, но ограничено количество вложенности каталогов — 8.

В стандарте ISO 9660 определены три уровня ограничений:

  1. — имена файлов = 8-3
    — имена каталогов 8 символов, каталоги без расширений
    — глубина вложенности каталогов ограничена восемью
    — файлы должны быть непрерывными

  2. имена файлов и каталогов до 31 символа

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

3.1.2 Рок-ридж расширения для UNIX

Это расширение было создано, чтобы файловая система UNIX была представлена на CD-ROM.

Для этого используется поле System use.

Расширения содержат следующие поля:

  1. PX — атрибуты POSIX (стандартные биты rwxrwxrwx, (чтение, запись, запуск) (владелец, группа, все) )

  2. PN — старший и младший номер устройств (чтобы можно было записать каталог /dev, который содержит устройства)

  3. SL — символьная связь

  4. NM — альтернативное имя, позволяет использовать произвольные имена, без ограничений

  5. CL — расположение дочернего узла (чтобы обойти ограничение на вложенность каталогов)

  6. PL — расположение дочернего узла (чтобы обойти ограничение на вложенность каталогов)

  7. RE — перераспределение (чтобы обойти ограничение на вложенность каталогов)

  8. TF — временные штампы (время создания, последнее изменение , последний доступ)

3.1.3 Joliet расширения для Windows

Это расширение было создано, чтобы файловая система ОС Windows 95 была представлена на CD-ROM.

Для этого используется поле System use.

Расширения содержат следующие поля:

  1. Длинные имена файлов (до 64 символов)

  2. Набор символов Unicode (поддержка различных языков)

  3. Преодоление ограничений на вложенность каталогов

  4. Имена каталогов с расширениями

3.1.4 Romeo расширения для Windows

Стандарт Romeo предоставляет другую возможность записи файлов с длинными именами на компакт-диск. Длина имени может составлять 128 символов, однако использование кодировки Unicode не предусмотрено. Альтернативные имена в этом стандарте не создаются, поэтому программы MS-DOS не смогут прочитать файлы с такого диска.

Вы можете выбрать стандарт Romeo только в том случае, если диск предназначен для чтения приложениями Windows 95 и Windows NT.

3.1.5 HFS расширения для Macintosh

Иерархическая файловая система компьютеров Macintosh, не совместима ни с какими другими файловыми системами и называется Hierarchical File System (HFS).

3.1.6 Файловая система UDF (Universal Disk Format)

Более подробная информация — http://ru.wikipedia.org/wiki/Universal_Disk_Format

Изначально созданная для DVD, с версии 1.50 добавили поддержку CD-RW и CD-R.

Сейчас последняя версия 2.60. Официальную информацию (и спецификацию) можно получить на сервере www.osta.org — сервер Optical Storage Technology Association.

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

3.2 Файловая система CP/M

CP/M (Control Program for Microcomputers) — операционная система, предшественник MS-DOS.

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

Имена файлов — 8+3 символов верхнего регистра.

После каждой перезагрузки рассчитывается битовый массив занятых и свободных блоков. Массив находится постоянно в памяти (для 180Кбайтного диска 23 байта массива). После завершения работы, он не записывается на диск.

Каталоговая запись CP/M

Видно, что максимальный размер файла 16Кбайт (16*1Кбайт).

Для файлов размером от 16 до 32 Кбайт можно использовать две записи. Для до 48 Кбайт три записи и т.д.

Порядковый номер записи хранится в поле экстент.

Код пользователя — каждый пользователь мог работать только со своими файлами.

Порядок чтения файлов:

  1. Файл открывается системным вызовом open

  2. Читается каталоговая запись, из которой получает информацию о всех блоках.

  3. Вызывается системный вызов read

3.2 Файловая система MS-DOS (FAT-12,16,32)

В первых версиях был только один каталог (MS-DOS 1.0).

С версии MS-DOS 2.0 применили иерархическую структуру.

Каталоговые записи, фиксированны по 32 байта.

Имена файлов — 8+3 символов верхнего регистра.

Порядок чтения файлов:

  1. Файл открывается системным вызовом open, которому указывается путь к файлу (может быть абсолютным и относительным).

  2. Файловая система открывает каталоги (согласно пути), считывает последний каталог в память.

  3. Ищет описатель файла.

  4. Читается дескриптор файла, из которого получает информацию о всех блоках.

  5. Вызывается системный вызов read

Каталоговая запись MS-DOS, обратите внимание на пустые 10 байт, они будут задействованы в Windows 98

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

Поле время (16 разрядов) разбивается на три подполя:

  1. секунды — 5бит (2^5=32 поэтому хранятся с точностью до 2-х секунд)

  2. минуты — 6бит

  3. часы — 5бит

Поле даты (16 разрядов) разбивается на три подполя:

  1. день — 5бит

  2. месяц — 4бита

  3. год — 7бит (начинается с 1980г, т.е. максимальный 2107г.)

Теоретически размер файлов может быть до 4Гбайт (32 разряда).

Все блоки файла в записи не хранятся, а только первый блок. Этот номер используется в качестве индекса для 64К (для FAT-16) элементов FAT-таблицы, хранящейся в оперативной памяти.

В зависимости от количества блоков на диске в системе MS-DOS применяется три версии файловой системы FAT:

  1. FAT-12

  2. FAT-16

  3. FAT-32 — для адреса используются только 28 бит, поэтому правильнее назвать FAT-28

Размер блока (кластера) должен быть кратным 512 байт.

3.2.1 FAT-12

В первой версии MS-DOS использовалась FAT-12 с 512 байтовыми блоками, поэтому максимальный размер раздела мог достигать 2Мбайта (2^12*512байта).

С увеличением дисков, этого стало не хватать, стали увеличивать размер блоков 1,2 и 4 Кбайта (2^12) (при этом эффективность использования диска падает).

FAT-12 до сих пор применяется для гибких дисков.

3.2.2 FAT-16

Особенности:

  • 16-разрядные дисковые указатели

  • Размеры кластеров 512, 1, 2, 4, 8, 16 и 32Кбайт (2^15)

Таблица постоянно занимала в памяти 128 Кбайт.

Максимальный размер раздела диска мог достигать 2Гбайта (2^16*32Кбайта).

Причем кластер в 32 Кбайта для файлов со средним размером в 1Кбайт, не эффективен.

3.2.3 FAT-32

Особенности:

  • 28-разрядные адреса

  • Размеры кластеров 512, 1, 2, 4, 8, 16 и 32Кбайт

Максимальный размер раздела диска мог бы достигать 2^28*2^15, но здесь уже вступает другое ограничение — 512 байтные сектора адресуются 32-разрядным числом, а это 2^32*2^9, т.е. 2 Тбайта.

Максимальный размер раздела для различных размеров кластеров

Размер кластера, Кбайт

Fat-12, Мбайт

Fat-16, Мбайт

Fat-32, Тбайт

0.5 2 32 0.13
1 4 64 0.27
2 8 128 0.54
4 16 256 1
8 512 2
16 1024 2
32 2048 2

Из таблицы видно, что FAT-16 использовать не эффективно уже при разделах в 256 Мбайт, учитывая, что средний размер файла 1Кбайт.

3.2.4 Расширение Windows 98 для FAT-32

Для расширения были задействованы 10 свободных бит.

Формат каталоговой записи в системе FAT-32 с расширениями для Windows 98

Пять добавленных полей:

  1. NT — предназначено для совместимости с Windows.

  2. Sec — дополнение к старому полю время, позволяет хранить время с точностью до секунды (было 2 секунды)

  3. Дата и время создания файла (Creation time)

  4. Дата (но не время) последнего доступа (Last access)

  5. Для хранения номера блока выделено еще 2 байта (16 бит), т.к. номера блоков стали 32-разрядные.

Основная надстройка над FAT-32, это длинные имена файлов.

Для каждого файла стали присваивать два имени:

  1. Короткое 8+3 для совместимости с MS-DOS

  2. Длинное имя файла, в формате Unicode

Доступ к файлу может быть получен по любому имени.

Если файлу дано длинное имя (или используются пробелы), то система делает следующие шаги:

  • берет первые шесть символов

  • преобразуются в верхний регистр ASCII, удаляются пробелы, лишние точки, некоторые символы преобразуются в «_»

  • добавляется суффикс ~1

  • если такое имя есть, то используется суффикс ~2 и т.д.

Короткие имена хранятся в в обычном дескрипторе файла.

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

Формат каталогов записи с фрагментом длинного имени файла в Windows 98

Поле «Атрибуты» позволяет отличить фрагмент длинного имени (значение 0х0F) от дескриптора файла. Старые программы MS-DOS каталоговые записи со значением поля атрибутов 0х0F, просто игнорируют.

Последовательность — порядковый номер в последовательности фрагментов.

Длина имени файла ограничена 260 символами не из-за порядкового номера (1 байт), для номера используются только 6 бит 6х13=819 символов.

Контрольная сумма нужна для выявления ошибок, т.к. файл с длинным именем может удалить MS-DOS и создать новый, и тогда останутся не удаленные записи, которые «прилипнут» к новому файлу. Т.к. это поле один байт, есть вероятность 1/256 что Windows 98 не заметит подмены.

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

Файловая система NTFS была разработана для Windows NT.

Особенности:

  • 64-разрядные адреса, т.е. теоретически может поддерживать 2^64*2^16 байт (1 208 925 819 Пбайт~1Йбайт(280)).

  • Размеры блока (кластера) от 512байт до 64 Кбайт, для большинства используется 4Кбайта.

  • Поддержка больших файлов.

  • Имена файлов ограничены 255 символами Unicode.

  • Длина пути ограничивается 32 767 (2^15) символами Unicode.

  • Имена чувствительны к регистру, my.txt и MY.TXT это разные файлы (но из-за Win32 API использовать нельзя), это заложено на будущее.

  • Журналируемая файловая система, т.е. не попадет в противоречивое состояние после сбоев.

  • Контроль доступа к файлам и каталогам.

  • Поддержка жестких и символических ссылок.

  • Поддержка сжатия и шифрования файлов.

  • Поддержка дисковых квот.

Главная файловая таблица MFT (Master File Table) — главная структура данных в каждом томе, записи фиксированные по 1Кбайту. Каждая запись описывает один каталог или файл. Для больших файлов могут использоваться несколько записей, первая запись называется — базовой записью.

MFT представляет собой обычный файл (размером до 2^48 записей), который может располагаться в любом месте на диске.

Главная файловая таблица MFT, каждая запись ссылается на файл или каталог.

Первые 16 записей MFT зарезервированы для файлов метаданных. Каждая запись описывает нормальный файл, имена этих файлов начинаются с символа «$».

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

Некоторые записи метаданных в MFT:

0) Первая запись описывает сам файл MFT, и содержит все блоки файла MFT. Номер первого блока файла MFT содержится в загрузочном блоке.

1) Дубликат файла MFT, резервная копия.

2) Журнал для восстановления, например, перед созданием, удалением каталога делается запись в журнал. Система не попадет в противоречивое состояние после сбоев.

3) Информация о томе (размер, метка и версия)

4) Определяются атрибуты для MFT записей.

6) Битовый массив использованных блоков — для учета свободного места на диске

7) Указывает на файл начальной загрузки

Атрибуты, используемые в записях MFT:

  • Стандартная информация — флаговые биты (только чтение, архивный), временные штампы и т.д.

  • Имя файла — имя файла в кодировке Unicode, файлы могут повторятся в формате MS-DOS 8+3.

  • Список атрибутов — расположение дополнительных записей MFT

  • Идентификатор объекта — 64-разрядный идентификатор файла, уникальный для данного тома.

  • Точка повторного анализа — используется для символьных ссылок и монтирования устройств.

  • Название тома

  • Версия тома

  • Корневой индекс — используется для каталогов

  • Размещение индекса — используется для очень больших каталогов

  • Битовый массив — используется для очень больших каталогов

  • Поток данных утилиты регистрации — используется для шифрования

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

Как привило, все данные файла не помещаются в запись MFT.

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

Запись MFT для 9-блочного файла, состоящего из трех сегментов (серий).
Вся запись помещается в одну запись MFT (файл не сильно фрагментирован).

Заголовок содержит количество блоков (9 блоков).

Каждая серия записывается в виде пары, дисковый адрес — количество блоков (20-4, 64-2, 80-3).

Каждая пара, при отсутствие сжатия, это два 64-разрядные числа (16 байт на пару).

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

Если файл сильно фрагментирован, требуется несколько записей MFT.

Три записи MFT для сильно фрагментированного файла.
В первой записи указывается индексы на дополнительные записи.

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

Запись MFT для небольшого каталога

Поиск файла в каталоге по имени состоит в последовательном переборе имен файлов.

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

3.3.1 Поиск файла по имени

При создании файла, программа обращается к библиотечной процедуре

CreateFile(«C:windowsreadmy.txt», …)

Этот вызов попадает в совместно используемую библиотеку уровня пользователя kernel32.dll, где ?? помещается перед именем файла, и получается строка:

??C:windowsreadmy.txt

Это имя пути передается системному вызову NtFileCreate в качестве параметра.

Этапы поиска файла C:windowsreadmy.txt

3.3.2 Сжатие файлов

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

Алгоритм работы:

  1. Берутся для изучения первые 16 блоков файла (не зависимо от сегментов файла).

  2. При меняется к ним алгоритм сжатия.

  3. Если полученные данные можно записать хотя бы в 15 блоков, они записываются в сжатом виде.
    Если их можно записать только в 16 блоков, то они записываются в несжатом виде.

  4. Алгоритм повторяется для следующих 16 блоков.

Пример 48-блочного файла, сжатого до 32 блоков

Запись MFT для предыдущего файла.

Недостатки сжатия:

  • Как видно из рисунка, сжатие приводит к сильной фрагментации.

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

3.3.3 Шифрование файлов

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

Даже если у вас украдут винчестер, прочесть данные не смогут (большинство не сможет).

Если файл помечен как шифрованный, то система автоматически шифрует при записи, а при чтении происходит дешифрация.

Шифрование и дешифрование выполняет не сама NTFS, а специальный драйвер EFS (Encrypting File System).

Каждый блок шифруется отдельно.

В Windows 2000 используется случайно сгенерированный 128-разрядный ключ для каждого файла. Этот ключ шифруется открытым ключом пользователя и сохраняется на диске.

Шифрование файлов в NTFS

Понравилась статья? Поделить с друзьями:
  • Выделение физической памяти в windows 10
  • Выберите устанавливаемые драйверы при установке windows 7 с флешки что делать
  • Выбрать раскладку клавиатуры windows 10 при восстановлении не работает клавиатура
  • Выделение оперативной памяти для видеокарты windows 10
  • Выберите устанавливаемые драйверы при установке windows 7 с диска