Физические устройства LINUX

В ОС LINUX все физические устройства представлены в виде специальных файлов, каждому устройству соответствует свой специальный файл, работой устройств управляют программы – драйверы.

Со всеми устройствами работа происходит одинаково:

- Ввод данных – считывание данных из соответствующего файла;

- Вывод – запись данных в соответствующий файл.

Одни и те же операции работы с файлами применяются для работы с разными внешними устройствами – дискетой, принтером, мышью и т.д.

Все внешние устройства делятся на два класса блок – ориентированные и байт – ориентированные, соответственно есть два типа специальных файлов.

 

 


Блок – ориентированные, запись блоками по 512 байт, обозначение «В»   Байт– ориентированные, запись по одному байту, обозначение «С»

 

Специальный файл представлен своим индексным дескриптором, в поле размер файла, которое не имеет смысла для специального файла, записывается старший и младший номер устройства.

Старший номер – обозначает драйвер устройства

Младший – конкретный экземпляр устройства

 

владелец тип дата Физический адрес
Старший номер - драйвер Младший номер - экземпляр
         

 

Специальные файлы регистрируются в каталоге устройств, как правило dev

Принято обозначать:

HAD - первый жесткий диск - контроллер IDE - 0

HDB - второй жесткий диск

HDA1 - первый раздел первого логического диска

HDВ2 - первый раздел второго логического диска

/ DEV / FD0 - дисковод

 

Создавать специальные файлы может только администратор, команда

# mknod < имя_ файла > b | c m1 m2

m1 – старший номер устройства, m2 - младший номер устройства