Interested Article - Специальный файл устройства

Каталог /dev с файлами устройств
Значок блочных файлов устройств
Значок символьных файлов устройств

Специальный файл устройства , или просто файл устройства ( англ. special device file ) — это один из типов файлов в UNIX-подобной операционной системе . Специальные файлы устройств содержат данные, необходимые операционной системе для взаимодействия с физическими устройствами, такими как диски и дисководы , принтеры и факсы и т. п. Фактически, специальные файлы устройств являются указателями на драйверы устройств , и когда процесс обращается к файлу устройств, он по сути работает с драйвером этого устройства .

Характеристика файлов устройств

Поскольку в операционной системе есть разные типы устройств, то и файлы устройств бывают разными. Есть два типа файлов устройств: блочные ( англ. block special files ) и символьные ( англ. character special files ). Блочные файлы устройств используются для передачи данных, разделённых на пакеты фиксированной длины — блоки. А символьные файлы устройств используются для небуферизованного обмена данными . Большинство устройств способно принимать и отправлять данные либо блоками (блочные устройства), либо сплошным потоком байтов (символьные устройства), но некоторые (такие как жёсткий диск) сочетают в себе обе эти возможности. Работа с первым типом устройств возможна либо через блочные, либо через символьные файлы, а вот с последним типом — подходят и те, и другие.

Для того, чтобы операционная система могла определить файл устройства и получить некоторые характеристики о самом устройстве, в файле содержатся 3 специальных поля: класс устройства , старший номер устройства и младший номер устройства . Класс устройства сообщает символьное устройство или блочное. В некоторых операционных системах (например, в Linux) есть и дополнительный класс устройств — небуферизованное символьное устройство. Кроме класса, есть ещё и тип устройства, который можно узнать по старшему номеру, например в Linux системе 1 означает оперативную память, 2 — дисковод гибких дисков, 3 — первый контроллер для жестких IDE-дисков, и т. д.. В разных операционных системах один и тот же старший номер может указывать на разные типы устройств. Для того, чтобы отличить два устройства одного класса и типа предусмотрели младший номер. Он используется для нумерации устройств с одинаковыми старшими номерами. Например, если в компьютере 2 одинаковых дисковода, то специальные файлы устройств для них будут содержать один и тот же класс устройства, один и тот же старший номер, но вот младший номер у одного из них будет 0, а у другого — 1 .

Работа с файлами устройств

Файлы устройств размещаются в каталоге /dev или в его подкаталогах.

Узнать информацию о файле устройства можно с помощью команд file и ls .

/dev (от англ. devices устройства ) — каталог в системах типа UNIX , содержащий так называемые специальные файлы интерфейсы работы с драйверами ядра . Как правило (хотя и не всегда), /dev является обычным каталогом в корневой файловой системе, куда можно (но не нужно) помещать и обычные файлы. Доступ на запись к /dev (то есть право добавлять и перемещать специальные файлы) имеет только суперпользователь . Сами «специальные файлы» могут быть как доступны простому пользователю (терминал, псевдоустройства), так и недоступны (жёсткие диски).

Примеры содержимого

  • /dev/sd буква жёсткий диск (в системах на ядре Linux)
  • /dev/sd буква номер раздел диска (в системах на ядре Linux)
  • /dev/sr номер ( /dev/scd номер ) — CD-ROM
  • /dev/eth номер — сетевые интерфейсы Ethernet
  • /dev/wlan номер — сетевые интерфейсы Wireless
  • /dev/lp номер принтеры
  • /dev/video номер — устройства изображений, камеры, фотоаппараты и т. д.
  • /dev/bus/usb/000/ номер — устройство номер на шине USB первого контроллера (000) (в системах на ядре Linux)
  • /dev/tty номер текстовый терминал
  • /dev/dsp — звуковой вывод
  • /dev/random — случайные данные (псевдоустройство)
  • /dev/null — пусто (псевдоустройство)
  • /dev/zero — нулевые байты (псевдоустройство)

Примечания

  1. , с. 22.
  2. .

Литература

  • Костромин В. А. . — «БХВ-Петербург», 2002. — ISBN 5-94157-183-6 .
  • Робачевский А. М. Операционная система UNIX. — СПб. : БХВ-Петербург, 2002. — 528 с. — 5000 экз. ISBN 5-8206-0030-4 .

Ссылки

  • .
Источник —

Same as Специальный файл устройства