IO(4)

НАЗВАНИЕ
io - спецификация дисковых устройств

ОПИСАНИЕ
Файл /usr/include/sys/io.h содержит основные параметры для различных типов дисковых устройств:

  1. Диски с SMD интерфейсом.
  2. Диски с SCSI интерфейсом.
  3. Дискеты.
для различных технологий изготовления:
  1. Несъемные диски типа "Винчестер".
  2. Пакеты магнитных дисков.
  3. Несъемные/с емные диски.

и для различных скоростей вращения и емкости. Эти основные параметры описывают дисковые устройства для соответствующих драйверов ввода/вывода.

Для каждого дискового устройства в файле io должна быть строка вида


     #define v_xxx параметры

Параметры соответствуют элементам (начиная со 2-го) структуры dkvol, описанной во включаемом файле <sys/ disk.h>. Следовательно, строка

     #define v_xxx 0, 9, 0, 2, 850, 0, 0, 3, 3

описывает диск с 850 цилиндрами, так как это пятый параметр, а в структуре dkvol поле с числом цилиндров является шестым.

Связь между описанием диска и элементом таблицы томов драйвера дисков устанавливается во время конфигурирования системы. Описание диска помещается в dfile(4) и ассоциируется с драйвером. Позиция в таблице томов определяет младший номер устройства.

Параметры и их значение:

тип_диска
Параметр, зависящий от драйвера дисков.
секторов_на_дорожке
Количество килобайтных секторов, размещающихся на дорожке.
смещение_в_номерах_головок
Добавляется к номеру головки перед установкой головок; обычно 0. На некоторых устройствах тома различаются по битам в номере головки.
число_головок
Количество головок чтения/записи на устройстве.
число_цилиндров
Количество цилиндров на устройстве.
скорость_вращения
Параметр, зависящий от драйвера дисков.

Следующая информация используется при форматировании для оптимизации доступа к диску.

чередование_секторов
Параметр, зависящий от аппаратуры, определяющий расположение секторов на дорожке. Числа 0 и 1 означают, что сектора будут располагаться без чередования. Число 3 означает, что после чтения одного сектора контроллеру требуется время чтения еще двух секторов для передачи данных в память.
смена_головки
Время (единицей служит время чтения сектора), которое требуется контроллеру, дисководу и драйверу ввода/вывода для подвода к тому же цилиндру следующей головки.
смена_цилиндра
Время (в секторах) которое требуется контроллеру, дисководу и драйверу ввода/вывода для перехода к следующему цилиндру.

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

ФАЙЛЫ


/usr/include/sys/io.h

/usr/include/sys/disk.h

СМ. ТАКЖЕ
intro(7), scsi(7) в Справочнике администратора.