Возможности FDisk по работе с диском несколько ограничены — в частности, она умеет выделять только один Первичный раздел DOS на одном жестком диске. Поэтому на дисках, подготовленных с помощью FDisk, присутствуют лишь Первичный раздел DOS, содержащий загрузочный логический диск (по традиции обозначаемый буквой С) и Расширенный раздел DOS, содержащий цепочку логических дисков. Программа Disk Administrator, входящая в состав Windows 2000/ХР, является более мощной и позволяет использовать Корневую Таблицу Разделов по максимуму, создавая на диске до 4 Первичных разделов DOS.
С помощью специальных программ, так называемых "менеджеров загрузки" можно модифицировать вышеописанную структуру жесткого диска, создав на нем больше 4 отдельных разделов с различными файловыми системами или предоставив пользователю при загрузке компьютера выбор, с какого раздела осуществлять загрузку операционной системы. Подробнее о таких программах читайте в Главе 26. В той же главе вы найдете подборку ответов на некоторые часто задаваемые вопросы о структуре жестких дисков и установке операционных систем.
Если на жестком диске уже есть информация, но его разбиение на логические диски вас не устраивает, то его можно изменить с помощью той же Partition Magic. Эта программа самостоятельно перестроит структуру диска, не стирая данные. Существует много специальной литературы об эффективной работе с ней, в том числе и книг, так что если интересуетесь, почитайте их или ознакомьтесь с ее Руководством пользователя. Partition Magic также может использоваться вместо FDisk или Disk Administrator, так как ее интерфейс удобнее, а сама она работает быстрее, чем упомянутые программы.
Размеры и объемы
Размер одного кластера определяется размером логического диска и установленным типом файловой системы. Операционные системы MS-DOS, Windows 3.11 и первые версии Windows 95 могли работать лишь с файловой системой FAT16. Размер одной записи в FAT 16 (содержащей номер следующего кластера файла), как уже было сказано, составляет 16 бит. Поскольку 2 в 16-й степени составляет 65536, то и количество номеров кластеров, а, следовательно, и самих кластеров при использовании 16-разрядной таблицы размещения файлов на одном логическом диске не может быть больше 65536. Так как максимальный размер кластера в FAT16 согласно стандартам может составлять 32 кб (это, впрочем, не фиксированное ограничение), то и максимальный размер логического диска с FAT16 будет 32*65536 = 2 гигабайта.
Поскольку в FAT16 может адресоваться не более 65536 кластеров, то в ней не может быть больше 65536 записей. При длине одной записи в 16 бит объем самой FAT16 составит тогда 128 кб.
В файловой системе FAT32 для указания номеров следующих кластеров в файле используется записи длиной в 32 бита. Следовательно, всего в ней может адресоваться 232= 4294967296 кластеров. При размере кластера в 32 кб максимальный объем логического диска с FAT32 составит 232*32 кб = 131 гб (а размер самой FAT тогда составит 16 гигабайт!), что превышает размеры большинства существующих сейчас моделей винчестеров. Поэтому возможность выделения на логическом диске такого большого количества кластеров используется для того, чтобы уменьшить размер кластера — обычно он для FAT32 составляет 4 кб. Но даже при таком малом размере кластера максимальный объем логического диска составит 16 гб, поэтому обычно все возможности системы FAT32 не используются и количество кластеров на диске меньше 232.
Так как, во-первых, для размещения информации о кластере в FAT32 используется в два раза больше места, чем в FAT16, а, кроме того, количество кластеров при использовании FAT32 бывает куда как больше, чем 65536, например, при размере кластера в 4 кб и размере диска в 8 гб кластеров будет 2147483648, то размер самой 32-разрядной таблицы FAT значительно больше размера 16-разрядной — в данном случае 8 мегабайт против 128 кб. Это, в частности, приводит к тому, что на компьютерах с малым количеством оперативной памяти вся 32-разрядная FAT не умещается в оперативной памяти при ее недостаточном количестве и при работе с файлами операционной системе приходится часто считывать ее нужный фрагмент с диска, что вызывает снижение быстродействия. Кроме того, при большом количестве кластеров таблица FAT занимает весьма много места на диске и тем самым сокращает его полезный объем, тем более что на диске всегда имеется две ее копии — одна из них резервная. (Именно поэтому объем установленного в компьютер и отформатированного жесткого диска всегда меньше того объема, который указывает для него производитель, — потому что некоторую часть диска занимают две копии FAT и некоторая служебная информация.)
С файловой системой FAT32 могут напрямую работать операционные системы Windows (За исключением Windows 3.11 и первых версий Windows95), а также Linux с помощью особых программ.
Информация о типе файловой системы, размере кластера, размере самой таблицы FAT, а также о количестве копий FAT на жестком диске содержится в Boot Record, находящейся сразу перед первой копией FAT.
Проблемы кластерной организации. Потери
Кластерная организация данных на жестком диске, обеспечивая возможность многократного удаления и создания файлов, приводит к двум большим проблемам. Первая — это потери дискового пространства. Так как в подавляющем большинстве случаев размер файлов не кратен размерам кластеров, то последний кластер, помеченный в FAT как принадлежащий какому-либо файлу, оказывается заполненным не полностью. Это место уже не может стать частью другого файла, и поэтому не может быть использовано. Если файлов много, то общее количество такого "потерянного" места становится немалым. Особенно такая потеря проявляется при размещении на жестком диске большого количества мелких файлов, размер которых меньше размера кластера. Так, при размере кластера в 32 килобайта 10 файлов по 3 килобайта займут на жестком диске не 30 килобайт, как могло бы показаться, а 320. В самом крайнем случае для сохранения файла размером один байт операционная система выделит на диске один кластер размером 32 килобайта.
Стоит запомнить, что так как один кластер занимает фиксированный объем диска (чаще всего это 16 или 32 килобайта) и может содержать не более одного файла, то неизбежны потери пространства диска. Если размер файла меньше размера кластера или просто не кратен ему, то в кластере, содержащем этот файл (или окончание файла) останется незанятое пространство.
Информацию о размере кластера и количестве их на диске можно получить, используя программу Scandisk для Windows 95/98 (рис. 8.8).
Рис. 8.8. Информация программы ScanDisk.
Фрагментация
Вторая проблема, вытекающая из принципа кластерной организации — это так называемая фрагментация файлов. Когда файл записывается на диск, то согласно принципам кластерной организации операционная система должна искать первый свободный кластер и записать файл в него и последующие свободные кластеры. Если же кластер, следующий за записываемым, оказывается занят, а файл записан еще не полностью, то операционная система должна повторить поиск первого свободного кластера на последующей части диска и записать файл дальше в найденный свободный кластер и последующие такие же за ним.
В итоге после интенсивной работы с диском, сопровождающейся удалением и созданием файлов, очень многие файлы оказываются распределенными по диску — их начало записано, например, в кластерах в начале диска, середина — в кластерах середины, а конец — в последних дисковых кластерах. Файл становится фрагментированным — состоящим из множества фрагментов. Безусловно, информация о всех занимаемых им кластерах целиком и полностью размещается в FAT, но при чтении или перезаписи такого файла головки винчестера вынуждены многократно перемещаться по диску, считывая все фрагменты этого файла, что приводит к увеличению времени доступа к файлу, а также к повышенному износу механизма перемещения головок жесткого диска.