Я знаю, что ядра ОС состоят из драйверов, но как драйвер становится частью os ?, сам ли декомпилирует себя, а затем добавляет драйвер и перекомпилирует себя ?, или являются плагинами драйверов для ядро ?, кто-то сказал мне, что для большинства операционных систем драйверы фактически становятся частью ядра, но всякий раз, когда я скомпилирую программу ac, она превращается в обычный исполняемый файлКак драйверы становятся частью операционных систем?
ответ
Архитектура драйвера полностью зависит от вашей операционной системы. Для большинства операционных систем, работающих на компьютерах (в отличие от встроенных устройств), мышление о драйверах как «плагинов» для ядра довольно точно. Тем не менее, существует множество более старых, более мелких и менее сложных операционных систем, которые требуют, чтобы вы построили драйвер как часть ядра - невозможна динамическая загрузка. В наши дни несколько операционных систем поддерживают драйверы «пользовательского режима», которые являются драйверами устройств, которые никогда не запускаются в пространстве ядра.
И, конечно же, в операционной системе с микроядрами драйверы - это просто обычные программы пользовательского пространства, например, любые другие (скажем, веб-браузер или текстовый редактор). –
В операционных системах, таких как Linux-драйверы, можно скомпилировать в образ ядра. Хотя даже если они статически связаны, они могут демонстрировать архитектуру подключаемого типа, которая позволяет легко включать только нужные драйверы.
В качестве альтернативы, они динамически связаны и загружаются либо во время загрузки, либо по требованию, когда это требуется некоторым программным обеспечением уровня системы.
Это зависит от о/с.
В классическом ядре был монолитный исполняемый файл, содержащий все драйверы, и был перестроен, когда новый драйвер необходимо было добавить, включая код для нового драйвера вместе со всеми старыми.
В современной Linux и, возможно, в других ОС также динамически загружаются ядра при необходимости. Драйвер создан в форме, которая позволяет ядру выполнять эту загрузку; как правило, это означает, что в общем объекте или в библиотеке динамической компоновки.
- 1. Как драйверы становятся частью ядра?
- 2. Инструкции для операционных систем
- 3. Сравнение встроенных операционных систем?
- 4. Эффективность операционных систем
- 5. планировщик операционных систем реального времени
- 6. Книги для операционных систем, протоколы
- 7. Профили определения потоков (операционных систем)
- 8. Jar для разных операционных систем
- 9. Неинициализированная структура C++ для разных операционных систем
- 10. Настройка среды OpenCL для всех операционных систем
- 11. Управление памятью операционных систем - вызов malloc()
- 12. Gfortran директивы препроцессора для различных операционных систем
- 13. GOCD - Несколько операционных систем GOQ и конвейеры
- 14. Поддержка Java для разных операционных систем
- 15. Интересные проекты на основе распределенных/операционных систем
- 16. Почему у виртуальных машин нет операционных систем?
- 17. Обнаружение различных операционных систем и платформ
- 18. Tomcat, WARs и несколько операционных систем
- 19. Обнаружение мобильных операционных систем через JavaScript
- 20. Совместимость сонара с системами операционных систем Windows
- 21. Установить несколько операционных систем на смартфонах?
- 22. Компиляция в VIM через несколько операционных систем
- 23. Существуют ли библиотеки для создания операционных систем?
- 24. - программы, закодированные отдельно для разных операционных систем?
- 25. различных мобильных операционных систем и баз данных
- 26. Хорошие источники обучения для операционных систем
- 27. Как java качели рисуют на экране из разных операционных систем?
- 28. Как отличить Android от других операционных систем Linux в Python?
- 29. Как бы начать обучение программированию операционных систем на Java?
- 30. Как установить каталог для исполняемого файла для разных операционных систем?
Если вы создаете ядро ОС, настройки вашего компилятора просто отличаются от того, что вы используете при создании исполняемого файла. Основы те же, но компилятор делает некоторые особые вещи, если вы создаете «образ», достаточно сырой, чтобы загружать машину. –