Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
/dev-файлы это обычные inode-ы со спец атрибутами 09.02.04 05:25 Число просмотров: 1507
Автор: amirul <Serge> Статус: The Elderman
|
> В смысле: храняться ли они на диске и в каком виде? Чем > отличаются от обычных? Хранятся, но у них нет тела. Только запись в директории (inode).
То бишь директория - тоже обычный файл, но с атрибутом "директория" и отсюда система знает как с ей работать. А все настройки девайсов это собственно атрибуты, указывающие на блочное или потоковое устройство (b или c) и два новера major и minor device number.
major - разные устройства, minor - разные instance-ы этого устройства.
В ядре есть таблица обработчиков для major нумберов (благо их всего 256). Когда дривер (вкомпилированный или в виде модуля) устройства инициализируется он регистрируется в системе: мол, я буду обрабатывать устройства с таким-то мажор нумбером. Все остальное - дело техники. При обращении к данному файлу система будет вызывать зарегистрированные колбеки. Как их понимать - дело самого драйвера.
> стандарт разработки dev-файла и взаимодействия драйвера с > ним для новых устройств (кроме тривиального > блочный/поточный, тип, номер)? Да. Выделяешь у линуса (или для кого ты там разрабатывать собрался) major number - все остальное пишешь как другие делают (в принципе в инете есть инфа на эту тему, ключевые слова "writing LKM", "linux device drivers" и пр).
|
|
|