, когда ядро загружается (в частности, на устройстве с ручным управлением), как известно, какие устройства подключены к нему и какие драйверы прощупывают? можете ли вы обратиться к источнику ядра или привести пример .... СпасибоКак ядро тестирует драйверы
-2
A
ответ
1
Ядро Linux узнает, что устройство подключено только через драйверы устройства. Список драйверов устройств, загруженных на основе конфигурации ядра Linux.
Когда драйвер включен во время компиляции ядра Linux, секция инициализации драйвера будет помещена в специальный раздел образа ядра.
Во время процесса инициализации ядра в start_kernel() драйверы статических устройств будут loaded one by one.
литературы о механизме инициализации вызова в ядре Linux
http://linuxgazette.net/157/amurray.html
http://lwn.net/Articles/141730/
Смежные вопросы
- 1. Зачем нам нужны драйверы, когда у нас есть ядро?
- 2. Драйверы Xorg, драйверы Mesa и драйверы ядра, как это отношения?
- 3. Как драйверы становятся частью ядра?
- 4. Как удалить некоторые драйверы при конфигурации ядра?
- 5. компилировать драйверы как модуль или встроенную проблему
- 6. Как вызваны драйверы устройств?
- 7. Как исправить драйверы mysql.rb?
- 8. Как драйверы становятся частью операционных систем?
- 9. драйверы codeigniter
- 10. Просмотрите драйверы ядра Linux, встроенные в ядро, и как они становятся привязанными/смонтированными/запущенными
- 11. CodedUI тестирует структуру проекта
- 12. Java - контракт тестирует
- 13. Ожидание в QUnit тестирует
- 14. Статически связанное ядро linux
- 15. VirtualBox - Как написать драйверы/плагины?
- 16. Как сделать драйверы принтера ESPON?
- 17. Как написать драйверы для Android?
- 18. Как загружаются драйверы устройств Linux?
- 19. Как протестировать драйверы устройств Windows
- 20. Docker вызова блок тестирует
- 21. Рубин на рельсы тестирует
- 22. RSpec не тестирует
- 23. Как получить входные данные клавиатуры в ядро?
- 24. Драйверы для ядра Android для устройства камеры
- 25. USB-драйверы подпадают под категорию драйверов? драйверы символов или драйверы блоков?
- 26. Встраиваемые Linux: драйверы ядра и драйверы пространства пользователя?
- 27. Linux TTY и драйверы
- 28. Samsung Galaxy bluetooth драйверы
- 29. Как один блок тестирует контракт hashCode-equals?
- 30. Как один блок тестирует сетевые операции?
Я не вижу этот вопрос не по теме, так что это позор, он помечается как таковой, и я не могу добавить полный ответ. Вы можете прочитать об этом, например, в книге LDD3, в главе «Модель устройства Linux», раздел «Автобусы, устройства и драйверы». Вкратце, Linux использует абстракции «Автобусов» (например, PCI, USB и т. Д.), К которым можно подключить «Устройства». Каждое «устройство» может поддерживаться некоторыми «драйверами», которые имеют «обратный вызов» зонда. Автобусы будут вызывать эти обратные вызовы, пока какой-нибудь «водитель» не решит, что он будет обрабатывать это устройство. Автобусы могут использовать некоторые подсказки (например, идентификатор устройства) для запроса конкретных «драйверов» или могут выполнять итерацию по всем ним. –
Также некоторые устройства, особенно встроенные системы (например, системы ARM), не подключены к каким-либо реальным шинам, которые могут обнаруживать аппаратное обеспечение. Такие устройства организованы в специальную абстрактную шину в Linux, называемую «платформа». В старые времена регистрация драйверов для этой шины была жестко закодирована в коде ядра, но сейчас ее в основном описывают специальные файлы конфигурации, называемые «Деревом устройств», которые поставляются в ядро загрузчиком. Описание все еще статично, но оно не зависит от кода ядра, поэтому вы можете иметь несколько конфигураций (для немного разных плат) для одного изображения ядра. –