Исследование системных областей дисков, страница 4

Смещение от начала записи

Размер, байты

Значение

00H

01H

02H

04H

05H

06H

08H

0CH

1

1

2

1

1

2

4

4

Индикатор загрузки (80Н = загружаемый, 0 = не загружаемый раздел)

Начальный номер головки

Начальные номер цилиндра (10 битов) и номер сектора (6 битов)

Системный индикатор:

   1 - первичный раздел DOS, 12-битовая FAT;

   2 - XENIX;

   4 - первичный раздел DOS, 16-битовая FAT;

   5 - расширенный раздел DOS;

   8 - другой, отличный от DOS раздел.

Последний номер головки

Последние номера  цилиндра и сектора

Начальный сектор (относительно начала диска)

Число секторов в разделе

Логическая структура диска

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

Номера цилиндров на дискете начинаются с 0 для крайнего внешнего цилиндра и возрастают для цилиндров, расположенных ближе к центру диска. Головки чтения-записи также нумеруются, начиная с 0, в то время как секторы — начиная с 1. Таким образом, любое место на диске описывается уникальной комбинацией, состоящей из номеров цилиндра, головки и сектора. Вот так фактически службы ROM BIOS осуществляют доступ к данным на диске.

Однако система DOS не распознает цилиндры, головки и секторы. Вместо этого DOS рассматривает диск как линейную последовательность логических секторов. Последовательность логических секторов начинается с первого сектора диска: сектор 1 цилиндра 0 головки 0 (загрузочный сектор) является в системе DOS логическим сектором с номером 0.

Логические сектора нумеруются последовательно от дорожки к дорожке одного и того же цилиндра, а затем — от цилиндра к цилиндру. Таким образом, за последним сектором цилиндр 0 головки 0 следует первый сектор цилиндра 0 головки 1; за последним сектором одного цилиндра следует первый сектор следующего.

Использование номеров логических секторов позволяет системе DOS не иметь дело с номерами цилиндра, головки и сектора, число которых меняется для различных видов дисководов. Однако эта же особенность означает также, что в системе DOS ограничено дисковое пространство, к которому можно обращаться на конкретном дисководе. Так как система DOS поддерживает номера логических секторов в виде 16-битовых целых, то она может распознавать самое большее 65536 логических секторов на диске. Ввиду того что принятый по умолчанию размер сектора диска равен 512 байтам, наибольшая емкость диска, с которой может работать DOS, составляет 65536х512 байтов (32 МБ). Это, конечно, не порождает проблемы для дискет, однако является неприятным ограничением для многих пользователей PC/AT и PS/2, имеющих фиксированные диски, емкости в которых больше 32 МБ.

Чтобы обойти это ограничение, в DOS версии 3.3 введено понятие расширенного раздела DOS. При наличии DOS версии 3.3 вы можете использовать утилиту FDISK для размещения разделов на фиксированном диске в качестве расширенного раздела DOS. Вы можете форматировать расширенный раздел в виде одного или более логических дисководов. Таким образом, к примеру, вы можете использовать как первичный, так и расширенный раздел DOS на одном и том же фиксированном диске, при этом первичный раздел можно использовать в качестве диска С, а расширенный — в качестве D и Е.

Как в системе DOS организован диск

Когда система DOS форматирует дискету, она затирает на ней данные и осуществляет проверку каждого сектора. При форматировании раздела фиксированного диска DOS проверяет целостность каждого сектора, не затирая имеющиеся данные. (Именно поэтому программа, подобная Format Recover из набора Norton Utilities, может отыскивать данные на фиксированном диске после того, как вы случайно его переформатировали.) Как на дискетах, так и на фиксированных дисках программа форматирования резервирует часть дискового пространства для хранения управляющей информации и индексов, используемых DOS при размещении данных, которые вы записываете на диск.