Мнемоника названий специальных файлов устройств в файловой системе UNIX
Мнемоника названий специальных файлов устройств в файловой системе UNIX
Названия специальных файлов устройств в большой степени зависят от конкретной версии UNIX. Тем не менее в этих названиях присутствует общая логика, позволяющая даже в незнакомой системе определить, какие файлы отвечают за конкретные устройства. Например, имена файлов доступа к дисковым устройствам обычно содержат указание на тип диска, номер контроллера, логический номер устройства, раздел диска и т.д. По названию также легко определить, какой вид доступа предоставляет данный интерфейс (блочный или символьный).
В качестве примера рассмотрим специальный файл устройства для доступа к разделу диска в операционной системе Solaris:
/dev/dsk/c0t4d0s2
Данный файл предоставляет блочный интерфейс, а соответствующий ему символьный (или необработанный) файл имеет имя:
/dev/rdsk/c0t4d0s2
Файлы доступа к дисковым устройствам располагаются в специальных подкаталогах — /dev/dsk (для блочных устройств) и /dev/rdsk (для символьных устройств). Такая структура хранения специальных файлов характерна для систем UNIX версии System V.
Имя файла, характерное для систем версии SVR4, можно представить в общем виде:
cktldmsn
где k — номер контроллера, l — номер устройства (для устройств SCSI это идентификатор устройства ID), m — номер раздела, а n — логический номер устройства (LUN) SCSI.
Таким образом файл устройства /dev/rdsk/c0t4d0s2 обеспечивает доступ к первому разделу (нумерация разделов начинается с 0) диска с ID=4, LUN=2 первого контроллера.
Такой формат имен файлов в версии SVR4 применяется для всех дисковых устройств и накопителей на магнитной ленте. Иногда для этих стандартных имен в файловой системе имеются символические связи с более простыми названиями. Например, в Solaris имя /dev/sd0a может использоваться вместо /dev/dsk/c0t3d0s, также обеспечивая доступ к устройству:
lrwxrwxrwx 1 root root 12 Oct 31 17:48 /dev/sd0a ->dsk/c0t3d0s
В SCO UNIX имеются специальные файлы с более простыми именами /dev/root, /dev/usr и т.п, которые предоставляют доступ к разделам диска с такими же именами (root, usr).
Более простая мнемоника обнаруживается в именах специальных файлов других устройств. Так, например, параллельный порт в большинстве систем имеет имя /dev/lpn, где n — номер порта (0, 1 и т.д.). Терминальные линии, подключенные к последовательным портам компьютера обозначаются как /dev/ttynn, где nn является идентификатором линии. В табл. 1.6 приведены примеры других специальных файлов устройств.
Таблица 1.6. Имена некоторых специальных файлов устройств
Общий вид имени Пример Описание устройства, доступ к которому обеспечивается через файл /dev/rmtn /dev/rmt0 Накопитель на магнитной ленте /dev/nrmtn /dev/nrmt0 Накопитель на магнитной ленте в режиме без перемотки назад по окончании работы /dev/rstn /dev/rst1 SCSI-накопитель на магнитной ленте /dev/cdn /dev/cd0 CD-ROM /dev/cdrom /dev/ttypn /dev/ttyp12 Псевдотерминал (подчиненный) /dev/ptypn /dev/ptyp5 Псевдотерминал (мастер) /dev/console Системная консоль /dev/tty Синоним терминальной линии управляющего терминала для данного процесса /dev/mem Физическая оперативная память /dev/kmem Виртуальная память ядра /dev/null Нулевое устройство — весь вывод на него уничтожается, а при попытке ввода с этого устройства возвращается 0 байтов /dev/zero Нулевое устройство — весь вывод на него уничтожается, а ввод приводит к получению последовательности 0Данный текст является ознакомительным фрагментом.