В качестве примера рассмотрим специальный файл устройства для доступа к разделу диска в операционной системе Solaris:
/dev/dsk/c0t4d0s2
Данный файл предоставляет блочный интерфейс, а соответствующий ему символьный (или необработанный) файл имеет имя:
/dev/rdsk/c0t4d0s2
Файлы доступа к дисковым устройствам располагаются в специальных подкаталогах — /dev/dsk(для блочных устройств) и /dev/rdsk(для символьных устройств). Такая структура хранения специальных файлов характерна для систем UNIX версии System V.
Имя файла, характерное для систем версии SVR4, можно представить в общем виде:
c k t l d m s n
где 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 |
Прежде чем вы сможете начать работу в UNIX, вы должны стать пользователем системы , т.е. получить имя, пароль и ряд других атрибутов.
С точки зрения системы, пользователь — не обязательно человек. Пользователь является объектом, который обладает определенными правами, может запускать на выполнение программы и владеть файлами. В качестве пользователей могут, например, выступать удаленные компьютеры или группы пользователей с одинаковыми правами и функциями. Такие пользователи называются псевдопользователями . Они обладают правами на определенные файлы системы и от их имени запускаются задачи, обеспечивающие ту или иную функциональность UNIX.
Как правило, большинство пользователей являются реальными людьми, которые регистрируются в системе, запускают те или иные программы, короче говоря, используют UNIX в своей работе.
В системе существует один пользователь, обладающий неограниченными правами. Это суперпользователь или администратор системы .
Каждый пользователь системы имеет уникальное имя (или регистрационное имя — login name). Однако система различает пользователей по ассоциированному с именем идентификатору пользователя или UID (User Identifier). Понятно, что идентификаторы пользователя также должны быть уникальными. Пользователь является членом одной или нескольких групп — списков пользователей, имеющих сходные задачи (например пользователей, работающих над одним проектом). Принадлежность к группе определяет дополнительные права, которыми обладают все пользователи группы. Каждая группа имеет уникальное имя (уникальное среди имен групп, имя группы и пользователя могут совпадать), но как и для пользователя, внутренним представлением группы является ее идентификатор GID (Group Identifier). В конечном счете UID и GID определяют, какими правами обладает пользователь в системе.
Читать дальше