Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Mark
Зарегистрирован: 07.04.2003 Сообщения: 5 Откуда: Minsk
|
Добавлено: Чт Апр 18 2002 23:54 Заголовок сообщения: Снова о драйверах... |
|
|
Всем привет! хотел бы вернуться к вопросу о написании драйверов под FreeBSD. Почитал я документацию, что была в вместе с исходниками и понял, что этого мало... Слышал, что есть драйверы, которые подключаются друг за дружкой в цепочку, и каждый занимается своим делом... Если не ошибаюсь такую штуку придумал Ричи и называется Streams... А вот как они взаимодействуют между собой и как свой драйвер поместить в эту цепь? |
|
Вернуться к началу |
|
 |
ilyasov Гость
|
Добавлено: Пн Апр 22 2002 16:51 Заголовок сообщения: Re: Снова о драйверах... |
|
|
Как мне помнится, драйверы (как и многие другие системные элементы) всегда образуют список и отношения к потокам это не имеет (может я и ошибаюсь). Взаимодействовать между собой драйверы не должны, это не их задача. Драйвер должен уметь отрабатывать ряд стандартных действий (которые определяются его свойствами и системными требованиями) -для единообразного доступа вышележащего софта. А вообще, советую сходить на www.ugu.com, кажется там чего-то было. |
|
Вернуться к началу |
|
 |
Mark
Зарегистрирован: 07.04.2003 Сообщения: 5 Откуда: Minsk
|
Добавлено: Ср Апр 24 2002 00:43 Заголовок сообщения: Re: Снова о драйверах... |
|
|
сорри... я немного неправильно понял про потоки.
"Поток представляет собой полнодуплексную связь между процессом и драйвером устройства. Он состоит из совокупности линейно связанных между собой пар очередей, каждая из которых (пара) включает одну очередь для ввода и другую - для вывода. Когда процесс записывает данные в поток, ядро посылает данные в очереди для вывода; когда драйвер устройства получает входные данные, он пересылает их в очереди для ввода к процессу, производящему чтение. Очереди обмениваются сообщениями с соседними очередями, используя четко определенный интерфейс. Каждая пара очередей связана с одним из модулей ядра, таким как драйвер, строковый интерфейс или протокол, и модули ядра работают с данными, прошедшими через соответствующие очереди".
Хотелось бы подробнее узнать как это делается и пишется... |
|
Вернуться к началу |
|
 |
|