Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы построения операционных систем.doc
Скачиваний:
50
Добавлен:
07.11.2018
Размер:
5.07 Mб
Скачать

6.4. Управление магнитными дисками

6.4.1. Физическая структура магнитного диска

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

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

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

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

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

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

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