| Сервер поддерживается Центром Информационных Технологий (095) 932-9212, 932-9213, 939-0783 E-mail: info@citforum.ru

Сервер содержит море(!) аналитической информации | CIT Forum CD-ROM

### INTRO(7)

НАЗВАНИЕ
intro - введение в описание специальных файлов

ОПИСАНИЕ
В этом разделе описываются различные специальные файлы, соответствующие периферийным устройствам, а также драйверы устройств. Описываются также драйверы псевдоустройств [см. intro(2)], модули и средства управления псевдоустройствами [см. ioctl(2)].

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

Каждое устройство идентифицируется специальным файлом, находящимся в каталоге /dev. Этот специальный файл наделен старшим и младшим номерами устройства. Старший номер идентифицирует драйвер устройства и, следовательно, соответствующий контроллер. Младший номер идентифицирует устройство, привод, канал или что-либо еще, присоединенное к контроллеру. В некоторых случаях, например для диска, младший номер есть номер логического диска (раздела физического диска, или тома). Ядро ОС UNIX распознает два различных типа устройств: блочные и символьные.

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

      /dev/dsk/hd*    Диск.
      /dev/dsk/fd*    Дискета.

Символьные устройства

      /dev/console    Системная консоль.
      /dev/tty*       Терминалы.
      /dev/mt         Магнитофон.

Бесструктурные устройства
Специальные символьные устройства, обеспечивающие прямой доступ к устройствам типа магнитных дисков, минуя механизм буферизации, называются бесструктурными. Нельзя по отношению к одному устройству одновременно выполнять блочный и бесструктурный ввод/вывод. Перед использованием бесструктурного ввода/вывода следует выполнить команду umount [см. mount(1M)] или крайней мере sync(1M).

      /dev/rdsk/hd*   Бесструктурный ввод/вывод на диск.
      /dev/rdsk/fd*   Бесструктурный ввод/вывод на дискету.
      /dev/rmt        Магнитофон.

В общем случае имена специальных файлов, соответствующих дисковым устройствам, имеют следующий формат:

         /dev/[r]dsk/{контроллер}{том}s{логический_диск}

где

- r Означает, что устройство является бесструктурным.
- контроллер Префикс, задающий имя контроллера, например hd.
- том Номер тома, подсоединенного к контроллеру.
- логический_диск Номер логического диска на томе; должен лежать в диапазоне от 0 до 7.

Прочие устройства

      /dev/tty        Виртуальный  терминал;  всегда связан с физическим терминалом пользователя.
      /dev/mem        Физическая память.
      /dev/kmem       Виртуальная память ядра ОС.
      /dev/error      Устройство фиксации ошибок системы.
      /dev/null       Пустое  устройство:  при  вводе  всегда возвращает признак
                      конца файла, при выводе поглощает все данные.
      /dev/prf        Устройство,  используемое системой профилирования [см. profiler(1M)].
      /dev/sxt/*      Виртуальные терминалы [для shl(1)].

Диски, тома, младшие номера
Томом называется физически существующий диск. Размер тома в блоках равен:

        число_цилиндров * число_головок * блоков_на_дорожке

Размер типичного тома равен 3160*5*19=300200. Том делится на разделы - логические диски. Рассмотрим следующий простой пример деления тома на разделы A, B, и C. Совокупность A+B+C составляет полный том.

         |--------A--------|----B----|--------C--------|

         A    Корневая файловая система.
         B    Область подкачки.
         C    Дополнительная  файловая  система  или  место  для
              быстрого сохранения информации.

Старший и младший номера устройства хранятся в описателе соответствующего специального файла; их можно узнать с помощью команды ls(1). Пример:

         ls -log /dev/dsk/hd0s*

         crw-rw-r--   1   7, 0 Jan 27 08:30 /dev/rdsk/hd0s0
         crw-rw-r--   1   7, 1 Feb  1 09:01 /dev/rdsk/hd0s1
         crw-rw-r--   1   7, 2 Dec  1 08:42 /dev/rdsk/hd0s2
         crw-rw-r--   1   7, 7 Jan 27 08:30 /dev/rdsk/hd0s7

Старший и младший номера перечисленных символьных (бесструктурных) устройств выведены перед датой.

Старший номер используется как указатель в таблице старших номеров устройств для получения доступа к драйверу. Младший номер устройства передается драйверу для выбора тома и раздела на томе: 5 старших бит младшего номера определяют том, а 3 младших - раздел, или логический диск. Логические диски не обязаны быть непересекающимися: один логический диск может содержать несколько других. Пример:

         |--------0--------|
                           |----2----|
                                     |--------1--------|
         |----------------------7----------------------|

Устройство с младшим номером 7 должно соответствовать полному тому. Оно начинается с блока 0 и имеет длину A+B+C.

Устройство с младшим номером 0 обычно используется как основная файловая система, начинающаяся с блока 0 и имеющая длину A.

Устройство с младшим номером 2 может использоваться как область подкачки, начинающаяся после области A и имеющая длину B.

Устройство с младшим номером 1 может использоваться как область для быстрого сохранения файлов или, как вторая файловая система, которая может быть смонтирована. Эта область начинается с блока A+B и имеет длину C.

Специальные файлы, соответствующие дискам, нужно создавать в каталоге /dev/dsk или /dev/rdsk, с помощью команды mknod(1M).

Младшие номера, кроме последнего, можно переопределить, чтобы изменить разбиение на логические диски. Во включаемом файле <sys/io.h> хранится перечень известных системе дисковых устройств и разбиение томов. Используемые структуры описаны во включаемом файле <sys/disk.h> и применяются всеми драйверами дисков и программами обслуживания. Текущая конфигурация описана в файле /usr/src/uts/dfile.

СМ. ТАКЖЕ
io(4).

Comments: info@citmgu.ru Designed by Andrey Novikov Copyright © CIT