18. Устройства. Мнемоника названий специальных файлов устройств в файловой системе UNIX.
Устройства. Как уже отмечалось, UNIX "изолирует" приложения (а значит и пользователя) от аппаратной части вычислительной системы. Например, в имени файла отсутствует указатель диска, на котором этот файл расположен, а большая часть взаимодействия с периферийными устройствами неотличима от операций с обычными файлами.
UNIX предоставляет единый интерфейс различных устройств системы в виде специальных файлов устройств. Специальный файл устройства связывает прикладное приложение с драйвером устройства. Каждый специальный файл соответствует какому-либо физическому устройству (например, диску, накопителю на магнитной ленте, принтеру или терминалу) или т. н. псевдоустройству (например, сетевому интерфейсу, пустому устройству, сокету или памяти). Вся работа приложения с устройством происходит через специальный файл, а соответствующий ему драйвер обеспечивает выполнение операций ввода/вывода в соответствии с конкретным протоколом обмена данными с устройством.
Существует два типа специальных файлов устройств: О Файлы блочных устройств О Файлы символьных устройств
Файлы блочных устройств
Файлы блочных устройств служат интерфейсом к устройствам, обмен данными с которыми происходит большими фрагментами, называемыми блоками. При этом ядро операционной системы обеспечивает необходимую буферизацию. Примером физических устройств, соответствующих этому типу файлов, являются жесткие диски.
Файлы символьных устройств
Файлы символьных устройств используются для доступа к устройствам, драйверы которых обеспечивают собственную буферизацию и побайтную передачу данных. В качестве примера устройств с символьным интерфейсом можно привести терминалы, принтеры и накопители на магнитной ленте. Заметим, что одно и то же физическое устройство может иметь как блочный, так и символьный интерфейсы. Для блочных устройств такой интерфейс также называют интерфейсом доступа низкого уровня (raw interface).
Мнемоника названий специальных файлов устройств в файловой системе UNIX.
Названия специальных файлов устройств в большей степени зависят от конкретной версии UNIX. Тем не менее в этих названиях присутствует общая логика, позволяющая даже в незнакомой системе определить, какие файлы отвечают за конкретные устройства. Например имена файлов доступа к дисковым устройствам обычно содержат указание на тип диска, номер контроллера, логический номер устройства, раздел диска и т.п. По названию также можно определить какой вид доступа предоставляет данный интерфейс(блочный или символьный).
Более простая мнемоника обнаруживается в именах специальных файле других устройств. Так, например, параллельный порт в большинстве сие тем имеет имя /dev/lpn, где п — номер порта (О, 1 и т. д.)- Терминальные линии, подключенные к последовательным портам компьютера обозначаются как /dev/ttynn, где пп является идентификатором линии. В табл. 1. приведены примеры других специальных файлов устройств.
Таблица 1.6. Имена некоторых специальных файлов устройся
Общий вид имени Пример
|
Описание устройства, доступ и которому обеспечивается через файл |
/dev/rmtn /dev/rmtO |
Накопитель на магнитной ленте |
/dev/nrmtn /dev/gun
|
Накопитель на магнитной ленте в режиме без перемотки назад по окончании работы |
/dev/rstn /dev/rst1 |
SCSI-накопитель на магнитной ленте |
/dev/cdn /dev/cdO |
CD-ROM |
/dev/cdrom |
/dev/ttypn /dev/ttyp1 2 |
Псевдотерминал (подчиненный) |
/dev/ptypn /dev/ptyp5 |
Псевдотерминал (мастер) |
/dev/console |
Системная консоль |
/dev/tty |
Синоним терминальной линии управляющего терминала для данного процесса
|
/dev/mem |
Физическая оперативная память |
/dev/kmem |
Виртуальная память ядра |
/dev/null |
Нулевое устройство — весь вывод на него уничтожается, а при попытке ввода с этого устройства возвращается 0 байтов |
/dev/zero
|
Нулевое устройство — весь вывод на него уничтожается, а ввод приводит к получению последовательности 0 |
|