Физический формат диска

5.12.1. Физический формат диска

 

На данном уровне рассмотрения принимается во внимание то, что информация размещается в секторах фиксированной длины, расположенных на концентрических дорожках поверхности диска (см. рис 2.6 в п. 2.4.1). Число секторов на дорожке конкретного носителя также постоянно.

Диск может иметь одну или две рабочих поверхности. НЖМД содержит один или более дисков (часто — два). Однако обычно под жестким диском понимают весь пакет магнитных дисков. Число дорожек на поверхности дискеты (число цилиндров), как правило, составляет 40 или 80. Жесткие диски могут иметь 305, 614 или другое число цилиндров. Количество рабочих поверхностей и цилиндров является аппаратной характеристикой дисковода. Тем не менее программист, непосредственно управляющий контроллером привода, может (в рамках допустимого диапазона) изменить число цилиндров.

Число секторов на дорожке задается программно (драйвером устройства). Стандартными для различных НГМД являются величины 8, 9, 15 и 18. Жесткие диски обычно имеют 17, 32 или более секторов на дорожке. Управляя контроллером привода непосредственно, можно изменить приведенные значения.

Каждый сектор состоит из поля данных и поля служебной информации, ограничивающей и идентифицирующей его. Размер сектора (точнее — емкость поля данных) также устанавливается драйвером. Пользовательский интерфейс DOS поддерживает единственный размер сектора — 512 байт. BIOS же непосредственно предоставляет возможности работы с секторами размером 128, 256, 512 или 1024 байт. Если управлять контроллером непосредственно, то можно обрабатывать и секторы с другими размерами.

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

Заметим, что изощренным программированием контроллера дисковода можно добиться фор­матирования диска с различными числом секторов на дорожках и размерами секторов. Такая техника часто используется разработчиками ПО с целью защиты программных продуктов от несанкционированного копирования. Например, на одной из дорожек можно создать дополни­тельный сектор, содержащий ключ (пароль). Программный продукт при запуске проверяет его наличие и реагирует на его отсутствие прекращением работы. Системные средства копирования дисков и файлов оставят этот сектор незамеченным, вследствие чего несанкционированная копия программного изделия функционировать не будет. Описанная техника широко применялась для 8-секторных дискет, где остается место для девятого сектора. Имеются и такие системы защиты, которые записывают ключи в межсекторные промежутки.

Физический адрес сектора на диске представляется триадой [t-h-s], где tномер цилиндра (дорожки на поверхности диска), hномер рабочей поверхности диска (магнитной головки), as номер сектора на дорожке. Номер цилиндра t лежит в диапазоне 0..Т—1, где Т — количество цилиндров. Номер рабочей поверхности диска h принадлежит диапазону 0..Н—1, где Н — число магнитных головок в приводе. Номер сектора на дорожке s указывается в диапазоне 1..S, где Sколичество секторов на дорожке. Например, триада [1-0-2] адресует сектор 2 на дорожке 0 (обычно верхняя рабочая повер­хность) цилиндра 1. В дальнейшем мы будем пользоваться именно этими обозначениями.

Напомним, что обмен информацией между ОЗУ и дисками физически осуществляется только секторами.