Для каждого из подключенных к компьютеру устройств существует один или несколько специальных файлов. За ними стоит операционная система, оптимально настроенная на соответствующий компьютер. Например, если вы записываете текст в файл-устройство для принтера, то операционная система принимает на себя дальнейшее перемещение файлов на принтер.
По сравнению с обычными файлами, файлы-устройства имеют три дополнительных атрибута, которые определяют тип устройства, приписанного к данному файлу:
· Класс устройства: либо b (ориентированное на блоки блочное устройство), либо с (ориентированное на байты символьное устройство). Устройства с ориентацией на блоки предназначены для сохранения данных. К каждому из сохраненных блоков возможен прямой доступ. Изменение блока не касается другихданных на таком устройстве. Типичными примерами являются дисководы, жесткие диски и CD-ROM (даже если на них нельзя изменять данные). Все остальные устройства называются символьными. На них нельзя считывать данные с любого места или записывать данные куда угодно. Типичные примеры – принтер или привод магнитной ленты.
|
|
· Старший номер (Маjor number) обозначает тип устройства, например, дисковод или жесткий диск. Значение этого номера зависит от системы. В различных производных версиях UNIX одни и те же устройства имеют, как правило, разные номера. Под Linux используются номера в соответствии с табл. 15.3. В конкретных случаях можно проверить соответствующий текущий список в файле /usr/include/linux/major.h.
· Младший номер (Minor Number) применяется для нумерации устройств одного типа и с одинаковыми старшими номерами. Таким образом, комбинация всех трех типов информации (блочная или символьная ориентация, старший и младший номера) всегда точно характеризует устройство.
Старшие номера под Linux Таблица 15.3
Номер | Описание |
Оперативная память | |
Дисковод для гибких дисков | |
Первый контроллер для жестких дисков IDE | |
Терминалы | |
Терминалы | |
Жесткие диски SCSI | |
Мыши для шины | |
SCSI CD-ROM | |
Звуковые карты | |
Второй контроллер для жестких дисков IDE |
Файлы устройств находятся в каталогах /dev и обычно имеют сокращенные имена, которые заканчиваются номером устройства. Например, fd0, как правило, обозначает первый дисковод гибких дисков, присоединенный к системе (под Windows обозначаемый как А:), fd1 – будет обозначать второй дисковод для гибких дисков и т.д. (поддерживается до 4 дисководов для гибких дисков). В версии Debian использовать и другое имя для дисковода гибких дисков - /dev/fd0u1440, которое сразу содержит и определение емкости диска для этого дисковода. Именно это имя используется в команлде низкоуровневого форматирования для гибкого диска – fdformat /dev/fd0u1440.
|
|
С жесткими дисками все несколько сложнее. Различным типам управления жесткими дисками IDE и SCSI присвоены различные имена. Кроме того, как и в системах Windows, жесткий диск может быть разбит на разделы, это тоже учитывается в именовании устройств.
Полное имя устройства, принадлежащее разделу жесткого диска составляется из следующих элементов:
1. Имя устройства, относящееся к типу жесткого диска (/dev/hd для IDE, /dev/sd для SCSI).
2. Номер жесткого диска, указанный строчной буквой a: для первого диска, b: - для второго и т.д. (К каждому контроллеру IDE подключается 2 диска (boot и slave), к контроллеру SCSI – до 15).
3. Номер раздела, указанный числом, начиная с 1 для первого раздела (0 зарезервировани для всего устройства в целом).
Точное распределение жестких дисков и их разделов Таблица 15.4
Тип | Старший номер | Жесткий диск | Младший номер | Раздел | Файл устройства |
IDE | Первый | Все устройство | /dev/hda | ||
Первый раздел | /dev/hda1 | ||||
Второй раздел | /dev/hda2 | ||||
… | Следующее | … | |||
Второй | Все устройство | /dev/hdb | |||
Первый раздел | /dev/hdb1 | ||||
… | Следующие | …. | |||
SCSI | Первый | Все устройство | |||
Первый раздел | |||||
Второй раздел | |||||
… | Следующие | ||||
Второй | Все устройство | ||||
Первый раздел | |||||
Второй раздел | |||||
… | Следующие | ||||
Третий | Все устройство | ||||
Первый раздел | |||||
… | Следующие | ||||
Другие | … |