INTRO(7) 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/rdsk/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). Младшие номера, кроме последнего, можно переопределить, чтобы изменить разбиение на логические диски. Во вклю- чаемом файле хранится перечень известных системе дисковых устройств и разбиение томов. Использу- емые структуры описаны во включаемом файле и применяются всеми драйверами дисков и программами обслуживания. Текущая конфигурация описана в файле /usr/src/uts/dfile. СМ. ТАКЖЕ io(4).