Команда FORMAT форматирование магнитных дисков

Команда FORMAT (формат) существует с момента появления DOS - в PC-DOS начиная с версии 1.0, а в MS-DOS - с версии 1.25. Кроме форматирования она выполняет еще несколько операций (в зависимости от набора ключей, заданных в командной строке). В любом случае выполняются следующие операции:


1)    форматирование диска;
2)    проверка отформатированных секторов и пометка дефектных блоков;
3)    запись блока начального загрузчика (BOOT RECORD, БНЗ) в первый сектор нулевой дорожки;
4)    создание и запись в первых секторах магнитного диска (после БНЗ) таблицы распределения информационного пространства магнитного диска FAT и ее копии;
5) создание и запись на магнитный диск корневого каталога файлов (ROOT DIRECTORY).

При использовании команды FORMAT с ключами /В или /S на магнитный диск может быть переписана система или для нее зарезервировано место на диске (это осуществляется только для двух скрытых позиционно зависимых файлов). В процессе перезаписи системы на диск записываются скрытые системные файлы (IO.SYS и MSDOS.SYS или IBMBIO.COM и IBMDOS.COM в системах MS-DOS и PC-DOS соответственно) и файл интерпретатора команд COMMAND.COM.
Рассмотрим отдельно каждую из операций, выполняемых программой FORMAT.

1. Операцией форматирования магнитных дисков реализуется так называемый секторный поиск при обмене данными. Подобный вид доступа применяется достаточно давно для обмена данными с магнитными дисками по каналу прямого доступа в условиях дефицита оперативной памяти. Очевидно, что
для считывания с диска одной дорожки за одну операцию прямого доступа требуется в N раз больше оперативной памяти, чем для считывания одного сектора, где N представляет собой частное от деления размера дорожки на размер сектора и может принимать значения 10 - 50. Из-за межсекторных промежутков эта цифра всегда будет несколько больше числа секторов. Дополнительным стимулом для введения секторного поиска в некоторых случаях служило наличие накопителей с относительно высокой производительностью, превышающей производительность канала прямого доступа или контроллера. Подобная организация данных привела к появлению гибкой системы распределения внешней памяти компьютера.
Альтернатива секторному поиску - обмен целыми дорожками или цилиндрами, что позволяет при одном и том же физическом носителе данных получить немного больший объем полезного дискового пространства за счет экономии места, занимаемого межсекторными промежутками.
Хотя объем оперативной памяти профессиональных ПК в настоящее время достаточно велик, секторная разметка прочно вошла в обиход, так как благодаря ей можно иметь гораздо более гибкое распределение внешней памяти.
При любом типе секторной разметки операция форматирования сводится к однозначной идентификации каждого сектора магнитного диска. В компьютерах, совместимых с IBM PC, эта операция выполняется с помощью прерывания 13Н (функция 5).
Команда FORMAT размещает в каждом секторе диска уникальные коды, считывание которых служит обратной связью при выполнении операций позиционирования магнитных головок в процессе рабочего обмена данными с диском. Во все байты информационной области каждого сектора записывается код так называемого символа-заполнителя. Он может быть произвольным. После окончания форматирования магнитный диск готов к выполнению физических опера ций ввода-вывода данных, но еще не имеет файловой структуры DOS.

2. Определение качества отформатированных секторов сводится к проверке возможности считывания каждого физического сектора с магнитного диска (во времени эта операция совмещена с операцией форматирования и выполняется непосредственно после записи символа-заполнителя). В случае обнаружения ошибки при обмене соответствующие секторы считаются дефектными. Таким образом, операция контроля разделяет все множество секторов магнитного диска на два класса: первый - дефектные, второй - распределяемые (бездефектные).
Это может быть выполнено с помощью функции 4 прерывания INT 13.
Информация, полученная при контроле качества магнитной поверхности диска, используется при формировании таблицы распределения дискового пространства, называемой также таблицей размещения файлов FAT (File Allocation Table). FAT представляет собой динамическую модель диска, в которой во время выполнения операций обмена данными отмечаются все изменения, касающиеся размера и места размещения файлов.
Полезное пространство магнитного диска распределяется системой некоторыми порциями данных фиксированного размера. Минимальная область памяти диска, рассматриваемая системой при распределении и перераспределении дискового пространства под файлы, называется кластером (или блоком).
Каждому кластеру магнитного диска соответствует 16- или 12-бит код в таблице FAT. Если кластер содержит хотя бы один дефектный сектор, то код имеет значение (F)FF7H и соответствующий кластер системой не распределяется.

3. Программа FORMAT записывает блок начальной загрузки (BOOT RECORD) в первый сектор нулевой дорожки магнитного диска после выполнения форматирования, совмещенного с операцией контроля. Основа блока начальной загрузки - загрузочный модуль программы, способной проини- циировать загрузку ОС.
Запись блока начальной загрузки производится вне зависимости от того, будет ли на этот диск записана ОС (или какая-либо другая программа, привязанная к блоку начальной загрузки) или нет.

4. Таблица FAT - важнейший элемент файловой структуры DOS. Потеря содержащихся в ней данных может привести к потере больших объемов информации пользователя. В силу важности этой структуры, в файловую систему DOS заложена возможность формирования и сохранения резервных копий FAT, которые записываются последовательно друг за другом. О количестве ее экземпляров судят по специальному элементу блока начальной загрузки магнитного диска (как правило, оно бывает равно двум). Размер FAT для разных типов дисков различный и увеличивается при увеличении количества кластеров магнитного диска.

5. Завершает процедуру инициализации магнитного диска создание и запись корневого каталога файлов (Root Directory), размер которого при росте емкости диска растет нелинейно. Он составляет 4 сектора для одностороннего гибкого диска, 7 секторов - для 360-Кбайт двустороннего диска , 14 секторов - для 1,2-Мбайт диска, 32 сектора - для 32-Мбайт жесткого диска и т.д. Корневой каталог размещается сразу же за таблицей FAT. Средств, предназначенных для удаления корневого каталога файлов и таблицы размещения файлов, в системе не предусмотрено, так как использование магнитного диска без этих структур невозможно.
НАЗНАЧЕНИЕ. Команда форматирует и инициализирует магнитные диски. Другими словами, она создает на диске структуры данных, необходимые для того, чтобы с этим диском могли работать все остальные программы DOS. Гибкий диск может быть использован для компьютеров различных типов, для каждого из которых требуется свой формат разметки, поэтому перед применением он должен быть отформатирован.

Жесткие диски, как правило, форматируют на заводе-изготовителе. Это связано с тем, что при изготовлении жесткого диска обычно известно, на какой компьютер ои будет установлен. Кроме того, форматирование жестких дисков, как правило, - составная часть технологического процесса (процесса контроля) изготовления. Но несмотря на указанные обстоятельства, жесткие диски все-таки приходится форматировать, что связано, в основном, с использованием команды FDISK.
Следует отметить, что любой магнитный диск, если на нем нет нужной информации, лучше отформатировать перед последующим использованием. Даже если этот диск и был когда-то отформатирован, новый формат будет лучше соответствовать текущему состоянию головок дисковода.

ОПИСАНИЕ. Формат базового набора параметров гибких дисков (табл. 4) представляет собой 11 -байт область памяти (для жесткого диска - 16-байт), позволяющую программному обеспечению идентифицировать тип дисковода (с помощью прерывания INT 41Н БСВВ) и производить настройку на его параметры.
Хотя ОС обеспечивает поддержку гибких дисков произвольного формата, как правило, применяются стандартные типы разметки, варианты которых приведены в табл. 5.
После ввода командной строки программа FORMAT выдает запрос на подтверждение начала операции. При форматировании гибкого диска этим сообщением служит запрос на загрузку форматируемой дискеты в дисковод
Insert new diskette for drive x: and strike ENTER when ready (Загрузите дискету в дисковод х: и по готовности нажмите ENTER).

Код CTRL-C обеспечивает прерывание выполнения этой операции.
При форматировании жесткого диска выдается запрос на ввод метки тома:
Enter current Volume Label for drive x: (Введите текущую метку тома для диска х:).
Если метка тома введена неверно, то выводится сообщение Invalid Volume Id. Format failure
(Неверная идентификация диска. Форматирование не выполняется) .
И программа FORMAT свою работу заканчивает.
Если метка тома введена верно, то выводится предупреждающее сообщение (начиная с версии 3.0):

WARNING, ALL DATA ON NON-REMOVABLE DISK DRIVE x: WILL BE LOST!
Proceed with format (Y/N)?
(Предупреждение, все данные несъемного диска х: будут уничтожены!
Начинать форматирование (Д/Н)?).

Перед завершением работы FORMAT выдает справку об гформатированном диске, содержащую:
-    общий объем дискового пространства;
-    размер пространства, помеченного как дефектное;
-    объем области памяти, занимаемой файлами DOS или 1 резервированной под них;
-    размер свободной памяти, доступной для размещения эльзовательских файлов.

При использовании команды необходимо помнить:
-    в процессе форматирования все данные на магнитном 1скс уничтожаются;
-    FORMAT игнорирует все переназначения, выполненные помощью команды ASSIGN;
-    ее нельзя использовать совместно с командами SUBST и DIN;
-    дискета емкостью 360 Кбайт, отформатированная на дисководе высокой емкости, не может быть гарантированно прочитана на 360-Кбайт дисководе;
-    FORMAT не работает с сетевыми дисководами.

Коды завершения команды FORMAT:
0 - нормальное завершение;
3    - преждевременное завершение по CTRL/С (CTRL/ BREAK);
4    - фатальная ошибка (в данном случае - любая, кроме ошибок типа 0, 3, 5);
5    - выполнение команды было прервано после ответа "N" на вопрос:
Proceed with format (Y/N)? (Выполнять форматирование (Д/Н)?)
Коды завершения можно проанализировать с помощью переменной ERRORLEVEL и команды IF в пакетном файле.
Команда внешняя, выполняется программой, загрузочный модуль которой содержится в файле FORMAT.COM.

ФОРМАТ.
[маршрут] FORMAT dl:[/S] [/ 1J 1/4] [/8] /:метка] [/В] [/N:XX] [/T:YY]
Спецификация &.маршрут - каталог, содержащий файл загрузочного модуля программы FORMAT.
Параметр dl: - имя диска, который должен быть отформатирован.
Ключ /S - перезапись ядра DOS после форматирования.
Ключ /1 - форматирование односторонней дискеты.
Ключ /4 - форматирование двусторонней дискеты 360 Кбайт на дисководе емкостью 1,2 Мбайт. В этом режиме не гарантируется высокое качество работы целевой дискеты на дисководе 360 Кбайт.
Ключ /8 - восьмисекторное форматирование.
Ключ /V-.метка вызывает вывод запроса на ввод имени метки тома по окончании операции форматирования.
Ключ /В - резервирование дискового пространства для последующей записи позиционно-зависимых скрытых системных файлов.
Ключ /N:XX - режим произвольного форматирования с размещением XX секторов на дорожке.
Ключ /T:YY - режим произвольного форматирования с размещением YY дорожек на каждой магнитной поверхности диска.

Примечания.
1.    Если при форматировании гибкого диска в командной строке не указаны ключи описания формата, то программа FORMAT отформатирует диск на максимально возможную на данном типе дисковода стандартную информационную емкость. Исключение составляет емкость 720 Кбайт для гибких дисков 5,25 дюйма, которая не является стандартной для DOS, гак как не гарантирует высокой достоверности при обмене данными на всех типах дисков емкостью 360 Кбайт. Значение 720 Кбайт в таблице соответствует дискетам 3,5 дюйма.

2.    В версии 4.0 дополнительно реализован ключ /V-.размер, позволяющий указывать требуемую информационную емкость гибких дисков в удобной форме. Параметр размер может задаваться следующим образом: 160, 160К, 160КВ, 180, 180К, 180КВ, 320, 320К, 320КВ, 360, 360К, 360КВ, 1200, 1200К, 1200КВ, 1,2, 1,2М, 1,2МВ - для дискет 5,25", 720, 720К, 720КВ, 1440, 1440К, 1440КВ, 1,44, 1,44М, 1,44МВ - для дискет 3,5".

Пример 69.
C.>format а:/4
Insert new diskette for drive A:
and strike ENTER when ready
Head: 0 Cylinder: 0
Format complete
362496 bytes total disk space 362496 bytes available on disk
Format another (Y/N)?
Пример 70. C:>format а:
Insert new diskette for drive A: and strike ENTER when ready
Head: 0 Cylinder: 0 Format complete
362496 bytes total disk space 362496 bytes available on disk
Format another (Y/N)?

Пример 71.
C:>format a:/4/b
Insert new diskette for drive A:
and strike ENTER when ready
Head: 0 Cylinder: 0 Format complete
322560 bytes total disk space 53248 bytes used by system 269312 bytes available on disk
Format another (Y/N)?
Замечания к примерам. В примере 69 дискета емкостью 360 Кбайт форматируется в дисководе 1,2 Мбайт. Пример 70 будет выполняться по-разному для IBM PC-XT и IBM РС-АТ. В первом случае дискета окажется размеченной на 360 Кбайт, а во втором - на 1,2 Мбайт (приведен вариант для XT). В примере 71, так же как и в примере 69, дискета емкостью 360 Кбайт форматируется в дисководе 1,2 Мбайт, но после форматирования резервируется место для скрытых файлов ОС.
Примечание.
Во всех трех примерах в процессе форматирования на экран выводится текущий указатель форматируемой дорожки, включающий номера цилиндра и магнитной головки:
Head: х Cylinder: ууу
После окончания форматирования появляется сообщение о завершении выполнения операции
Format complete.


Обсудить вопрос в студенческом форуме

 

Сайт содержит информацию о учебном заведении и студенческой общине и не является официальным