Мне трудно понять, что входит в ОС, а что нет. Является ли драйвер устройства, такой как драйвер принтера или графический драйвер, частью ОС? Размышляя об определении ОС, я считаю, что драйверы являются частью ОС.
Мне трудно понять, что входит в ОС, а что нет. Является ли драйвер устройства, такой как драйвер принтера или графический драйвер, частью ОС? Размышляя об определении ОС, я считаю, что драйверы являются частью ОС.
Ответы:
Да, драйверы являются частью ОС. Они работают с тем же уровнем привилегий, что и ядро ОС, и чтобы написать драйвер, вы должны много знать о внутренностях ОС. Роль драйверов заключается в обеспечении абстракции аппаратного обеспечения, чтобы приложения могли использовать его через OS API (интерфейс прикладного программирования) вместо необходимости знать конкретные детали этого. Во многих случаях это также позволяет совместно использовать один и тот же аппаратный компонент между многими приложениями.
То, что вводит пользователей в заблуждение, что драйверы могут не входить в состав ОС, заключается в том, что многие поставщики поставляют драйверы для оборудования, которое они производят отдельно от ОС. Действительно, многие драйверы представлены в виде загружаемых модулей, которые можно загружать и затем динамически участвовать в ОС. После того, как они больше не используются, их можно «отключить» от ОС, и она продолжает нормально работать.
Загружаемые или нет, драйверы всегда зависят от устройств, которые они должны сделать доступными для системы, поэтому, хотя они иногда являются «дополнительными» частями ОС, они действительно участвуют в этом при работе.
Термин «ОС» может означать много вещей.
В то время как в большинстве операционных систем ядро является частью кода, который управляет и «запускает» все и разрешает доступ к оборудованию, оно обычно не может делать ничего интересного само по себе - его задача - обеспечить среду для запуска приложений ». сверху "если это. Определение ОС многими людьми включает утилиты, оболочки и программы, которые составляют привычную стандартизированную среду.
Драйверы зависят от ядра, и, вероятно, наиболее правильно сказать, что они «расширяют» его, как плагины. Linux поддерживает понятие «загружаемые модули ядра» - и все драйверы устройств могут быть загружаемым модулем ядра. Также возможно собрать ядро, в котором один или несколько из этих модулей «встроены» и не отделены от ядра. Таким образом, вы действительно можете собрать «безмодульное» ядро под Linux, и оно не сможет поддерживать любое оборудование, кроме модулей, которые вы в него встроили.
Я менее знаком с внутренностями Windows, но я полагаю, что за исключением очень немногих драйверов «минипорта», все драйверы являются внешними файлами, которые загружаются при загрузке. Если немного покопаться в создании сервисов в Windows, то кажется, что драйверы - это просто специальные формы сервисов в Windows. Некоторые программы устанавливают драйверы для доступа к оборудованию на низком уровне, но не обязательно для управления устройством. Обычно это драйверы «не подключи и работай» в диспетчере устройств. Таким образом, также кажется, что драйверы концептуально выполняют ту же функцию, что и загружаемые модули ядра в Linux.
Я бы для простоты сказал, что они являются частью ОС, так как они действительно не могут быть использованы без ОС и бесполезны, пока ОС не загружена, но в любом случае нарисованная линия довольно произвольна.
Никакие драйверы не являются частью ОС. Можно сказать, что драйверы помогают ОС взаимодействовать с устройством или оборудованием. ОС не содержит все драйверы по умолчанию, как в Windows XP и Vista, но в Windows 7 большинство необходимых драйверов включены, так что не путайте, они не являются частью ОС.