@Patrick65

В чем разница между ядром ОС и драйвером?

Здравствуйте
Недавно начал углубляться в операционные системы и вот наткнулся на эти мысли
А в чем разница между ядром ОС и драйверами аппаратных систем(не понял точно как называется, поправьте если можете),
т.е процессора, памяти, всяких сетевых карт и т.д. То есть кто или что этими штуками взаимодействует и предоставляет интерфейсы к другим программам?
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
Операционная система, в том числе её ядро, предоставляет виртуальные ресурсы (файлы на файловой системе, адресное пространство, TCP/IP-подключения и т.д.), выставляет их в виде API/ABI, а для реализации функций этих ресурсов пользуется в том числе драйверами устройств, помимо логики в самом ядре. Упрощённо говоря, драйвера работают как бы между ядром ОС и аппаратными интерфейсами. Драйвера реализуют различные программные интерфейсы, которые требует от них ядро.

Если говорить о драйвере в широком смысле, например о современных графических драйверах, то они как правило содержат много логики, исполняющейся в user space, а не только в ядре (см. например UMDF). Например, драйвера видеокарт на Windows реализуют интерфейсы OpenGL и Vulkan в user-space, а в ядре работает лишь небольшой фрагмент кода драйвера.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
vabka
@vabka
Токсичный шарпист
Ядро взаимодействует с драйвером.
Программы обращаются к ABI операционной системы
Ответ написан
Комментировать
vldmrmlkv
@vldmrmlkv
Systems engineer
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы