The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Отчет о состоянии проекта по созданию драйверов для ядра Lin..."
Отправлено McFlooder, 06-Июн-09 19:37 
Ну, вообщето, правильно здесь люди высказывались, что стабильный API нужен. Точнее нужен стабильный ABI. Все-таки не только производители железа должны уступать опенсорсникам, нужен какойто компромис. Вполне реально сделать модуль ядра реализующий ABI. Единственная сложность - это невозможность определение адреса функции ядра по ее имени. Так как ядро - это не ELF файл. Поэтому реализация ABI должна быть подобной плагинам. То есть, ядро загружает бинарный модуль в пространство ядра и вызывает функцию инициализации этого модуля, перадавая ей в качестве аргумента адрес массива с указателями на функции, которые могут понадобиться модулю. Массив может легко расширяться, без угрозы потери совместимости.
Собственно, круг функций необходимых драйверу ограничен. Ему нужно писать в/читать из шины (PCI, USB и тд), устанавливать обработчики прерываний, устанавливать обработчики нижних половин (bottom half), выделять/освобождать память, создавать устройства в /dev, получать IOCTL. Также можно выделить функции для связи с подсистемами ядра, такими как V4L, ALSA, DRM и тп. Также дожен быть реализован выбор через параметры ядра (или через конфиг ядра при сборке) какие модули предпочитать, проприетарные или свободные. Помоему, все вполне реализуемо.
Отставание в поддержке устройств свободных ОС от проприетарных связано именно с отсутсвие ABI у первых. Драйвера под свободные ОС начинают писать, когда устройство уже поступило в продажу, и возможно, к моменту написания драйвера устройство уже не будет продаваться. Для проприетарных ОС драйвер пишется уже на этапе разработки железки самим производителем, так что ничего удивительного, что эта железяка выходит уже с поддержкой систем Windows и MacOSX. Производителю не хочется следить за изменениями в структуре ядра, он хочет сосредоточиться только на улучшении своего драйвера.
 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру