Логические структуры и файловые системы жестких дисков. Основные дисковые структуры и процесс загрузки, страница 10

Размер раздела сильно влияет на производительность и эффективность использования дискового пространства. Несмотря на то, что во многих случаях можно "втиснуть" весь диск в один раздел, по причинам производительности этого не делают.

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

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

·  FAT12: В самом старом типе FAT для хранения номера кластера используется 12-битовое число. Максимальное число кластеров тома с FAT12 равно 4086 (с учетом нескольких зарезервированных значений). FAT12 используется для гибких дисков.

·  FAT16: Для хранения номеров кластеров жестких дисков применяются 16-битовые числа и термин "том FAT" обычно подразумевает именно FAT16. Максимальное число кластеров равно 65526. FAT16 применяется для томов жестких дисков размером от 16 МБ до 2048 МБ.

·  FAT32: Эту FAT поддерживают Windows 95 OSR2 и Windows 98. В FAT32 для номеров кластеров применяются 28-битовые числа, так как четыре из 32 битов зарезервированы. Число кластеров превышает 268 млн, а размер раздела может доходить до 2 ТБ. Разумеется, размер самой FAT становится огромным.

Суммарные сведения о вариантах FAT приведены в следующей таблице:

Характеристика

FAT12

FAT16

FAT32

Применяется для

Гибких дисков и

Небольших томов жестких дисков

Средних и больших томов жестких дисков

Размер каждого элемента FAT

12 битов

16 битов

28 битов

Максимальное число кластеров

4086

65 526

~ 268 435 456

Размер кластера

От 0.5 КБ до 4 КБ

От 2 КБ до 32 КБ

От 4 КБ до 32 КБ

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

16 736 256

2 147 123 200

Примерно 2^41

Эффективность раздела FAT

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

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

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

Практическая ситуация оказывается даже хуже теоретического среднего. Файлы на большинстве жестких дисков не имеют случайного распределения размеров и многие файлы имеют небольшой размер. На жестком диске со множеством небольших файлов пропадает гораздо большее пространство. Имеются утилиты, например Partition Magic, которыми можно воспользоваться для анализа пропавшего пространства на жестком диске. На очень больших дисках в одном разделе FAT может пропасть до 40% пространства, хотя чаще пропадает примерно 25-30%.

Возьмем, к примеру, том жесткого диска, в котором используются кластеры размером 32 КБ. Пусть в разделе содержится 17000 файлов. Если для каждого файла пропадает половина кластера, то реально это составляет 16 КБ на файл. Умножая на 17000 файлов, получаем пропавшее пространство в 265 МБ. Если предположить, что большинство файлов имеют небольшой размер и вместо половины кластера для каждого файла пропадает две трети кластера, общее пропавшее пространство составит 354 МБ!

Размер кластера

50% кластера
потери на файл

67% кластера
потери на файл

2 КБ

17 МБ

22 МБ

4 КБ

33 МБ

44 МБ

8 КБ

66 МБ

89 МБ

16 КБ

133 МБ

177 МБ

32 КБ

265 МБ

354 МБ

Если использовать для диска меньший размер кластера, объем пропавшего пространства сильно уменьшается. В таблице приведено сравнение пропавшего пространства при различных размерах кластера. Чем больше файлов на диске, тем больше пропавшее пространство. Для получения относительной величины пропавшего пространства нужно разделить абсолютный показатель на размер диска. Тогда для диска 1.2 ГБ с кластерами 32 КБ пропадает 30% пространства, а для диска 2.1 ГБ - 17%.