информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / operating systems
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
/DEV/ файлы Юниксе что из себя представляют физически? 09.02.04 04:31  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
В смысле: храняться ли они на диске и в каком виде? Чем отличаются от обычных?

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

major - разные устройства, minor - разные instance-ы этого устройства.

В ядре есть таблица обработчиков для major нумберов (благо их всего 256). Когда дривер (вкомпилированный или в виде модуля) устройства инициализируется он регистрируется в системе: мол, я буду обрабатывать устройства с таким-то мажор нумбером. Все остальное - дело техники. При обращении к данному файлу система будет вызывать зарегистрированные колбеки. Как их понимать - дело самого драйвера.

> стандарт разработки dev-файла и взаимодействия драйвера с
> ним для новых устройств (кроме тривиального
> блочный/поточный, тип, номер)?
Да. Выделяешь у линуса (или для кого ты там разрабатывать собрался) major number - все остальное пишешь как другие делают (в принципе в инете есть инфа на эту тему, ключевые слова "writing LKM", "linux device drivers" и пр).
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach