Что такое драйвер? — Windows drivers
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 3 мин
Сложно дать одно точное определение для драйвера термина. В самом фундаментальном смысле драйвер — это программный компонент, который позволяет операционной системе и устройству взаимодействовать друг с другом.
Например, предположим, что приложению необходимо считывать некоторые данные с устройства. Приложение вызывает функцию, реализованную операционной системой, а операционная система вызывает функцию, реализованную драйвером. Драйвер, написанный той же компанией, которая разработала и произвела устройство, знает, как взаимодействовать с оборудованием устройства для получения данных. После того как драйвер получает данные с устройства, он возвращает данные в операционную систему, которая возвращает его приложению.
Наше объяснение до сих пор слишком упрощено несколькими способами:
Не все драйверы должны быть написаны компанией, которая разработала устройство.
Во многих случаях устройство разработано в соответствии с опубликованным стандартом оборудования. Это означает, что драйвер может быть написан корпорацией Майкрософт, и конструктор устройств не должен предоставлять драйвер.
Не все драйверы взаимодействуют напрямую с устройством.
Для заданного запроса ввода-вывода (например, для чтения данных с устройства) часто существует несколько драйверов, многоуровневые в стеке драйверов, которые участвуют в запросе. Обычный способ визуализации стека — с первым участником вверху и последним участником внизу, как показано на этой схеме. Некоторые драйверы в стеке могут участвовать, преобразовав запрос из одного формата в другой. Эти драйверы не взаимодействуют напрямую с устройством; они просто управляют запросом и передают запрос вместе с драйверами, которые ниже в стеке.
Драйвер функции
Драйвер фильтра: драйверы, выполняющие вспомогательную обработку, называются драйверами фильтров.
Дополнительные сведения о стеках см. в разделе «Стеки драйверов».
Некоторые драйверы фильтров отслеживают и записывают сведения о запросах ввода-вывода, но не участвуют в них активно. Например, некоторые драйверы фильтров выполняют роль проверяющих, чтобы убедиться, что другие драйверы в стеке правильно обрабатывают запрос ввода-вывода.
Мы могли бы расширить определение драйвера , сказав, что драйвер является любым программным компонентом, который наблюдает или участвует в обмене данными между операционной системой и устройством.
Драйверы программного обеспечения
Расширенное определение является достаточно точным, но по-прежнему неполным, так как некоторые драйверы вообще не связаны с каким-либо аппаратным устройством.
Например, предположим, что необходимо написать средство, которое имеет доступ к основным структурам данных операционной системы, доступ к которым можно получить только с помощью кода, выполняемого в режиме ядра. Это можно сделать, разделив средство на два компонента. Первый компонент выполняется в пользовательском режиме и представляет пользовательский интерфейс. Второй компонент выполняется в режиме ядра и имеет доступ к данным основной операционной системы. Компонент, который выполняется в пользовательском режиме, называется приложением, а компонент, который выполняется в режиме ядра, называется драйвером программного обеспечения. Программный драйвер не связан с аппаратным устройством.
На этой схеме показано приложение в пользовательском режиме, взаимодействующее с драйвером программного обеспечения в режиме ядра.
Драйверы программного обеспечения всегда выполняются в режиме ядра. Основной причиной написания драйвера программного обеспечения является получение доступа к защищенным данным, доступным только в режиме ядра. Однако драйверам устройств не всегда требуется доступ к данным и ресурсам в режиме ядра. Поэтому некоторые драйверы устройств работают в пользовательском режиме.
Дополнительные сведения о режимах процессора см. в разделе «Режим пользователя» и «Режим ядра».
Водители автобуса
Существует категория водителя, который мы еще не упомянули, водитель автобуса. Чтобы понять драйверы шины, необходимо понять узлы устройств и дерево устройств.
Сведения о деревьях устройств, узлах устройств и драйверах шины см. в разделе «Узлы устройств» и «Стеки устройств».
Дополнительные возможности драйверов функций
Наше объяснение до сих пор упрощает определение драйвера функции. Мы сказали, что драйвер функции для устройства является одним драйвером в стеке, который взаимодействует напрямую с устройством. Это верно для устройства, которое подключается непосредственно к шине взаимодействия периферийных компонентов (PCI). Драйвер функции для устройства PCI получает адреса, сопоставленные с ресурсами порта и памяти на устройстве. Драйвер функции напрямую взаимодействует с устройством, записывая их на эти адреса.
Однако во многих случаях устройство не подключается непосредственно к шине PCI. Вместо этого устройство подключается к адаптеру шины узла, подключенного к шине PCI. Например, USB-тостер подключается к адаптеру шины узла (называемому контроллером USB-узла), который подключен к шине PCI. Usb-тостер имеет драйвер функции, а контроллер узла USB также имеет драйвер функции. Драйвер функции для тостера косвенно взаимодействует с тостером, отправив запрос драйверу функции для контроллера узла USB. Драйвер функции для контроллера узла USB затем взаимодействует напрямую с оборудованием контроллера узла USB, который взаимодействует с тостером.
Что такое драйвер и зачем он нужен
«Слетели драйвера», «У меня нет драйверов на принтер», «Видеокарте нужны драйвера» — если вам непонятно, что это значит и на что влияют драйверы, то эта статья для вас.
Что такое драйвер
Драйвер — это программа, которая работает как инструкция для операционной системы. Драйвер объясняет операционке, как пользоваться каким-то устройством.
Устройство — это то, что физически подключается к компьютеру:
- видеокарта,
- мышь,
- криптотокен,
- монитор,
- сканер,
- джойстик для игр.
Драйвер рассказывает компьютеру, как этим железом пользоваться, что оно умеет, какие команды понимает и как это железо могут использовать другие программы.
👉 Технически драйвер — это программа, которая висит в памяти компьютера всё время, пока компьютеру нужно это устройство.
Известное и неизвестное железо
Операционная система в компьютере знает и умеет многое, в том числе и работать со стандартным оборудованием. Стандартным — это значит тем, которое предоставляет стандартные возможности.
Например, клавиатура, мышь или веб-камера — это стандартное оборудование, потому что независимо от производителя они делают примерно одно и то же.
Разработчики операционной системы знают про такое оборудование, поэтому могут написать стандартные драйверы, которые подойдут к большинству устройств. Именно поэтому мы можем купить в магазине новую мышь и просто подключить её к компьютеру без установки дополнительных программ — операционная система сама разберётся, что делать.
Но бывает так, что разработчики добавили в устройство нестандартные возможности: переназначение сочетаний клавиш, сделали мышь с несколькими колёсиками или встроенный лазерный дальномер в видеокамеру. В этом случае компьютер не разберётся, как этим всем пользоваться, потому что в стандартных драйверах про это ничего нет.
В таких случаях разработчики устройств пишут свой драйвер, который объяснит компьютеру, как пользоваться всеми возможностями устройства. Этот драйвер нужно будет установить.
Сложное оборудование
Ещё бывает так, что оборудование хоть и стандартное, но сложное, например, видеокарта или принтер. Каждый производитель добавляет свои функции и технологии, которые считает нужными, и чаще всего они не совпадают с другими. Если подключить такое устройство к компьютеру, то компьютер, скорее всего, разберётся, что именно в него воткнули, то как с этим работать — неизвестно.
Здесь тоже нужны драйверы — они идут или в комплекте с устройством на компакт-диске или их качают с официального сайта производителя. Чем сложнее устройство, тем больше вероятность, что без установки дополнительных драйверов оно работать не будет.
Например, если у вас навороченная видеокарта, вы вставляете её в компьютер и сначала видите странную огромную картинку с низким разрешением. Это значит, что компьютер пока не нашёл драйверов на эту карточку и запустил её в «режиме совместимости» — то есть в том режиме, в котором он точно сможет ей управлять. Но возможности видеокарты будут сильно порезаны, пока мы не установим нужные нам драйверы.
Что значит «слетели драйвера»?
Это значит, что компьютер не может найти файлы с инструкциями от какого-то устройства. Так бывает при обновлениях системы, заражении вирусом или просто кто-то случайно мог удалить нужные файлы или папку целиком.
Решение простое: берёте заново драйвер с официального сайта или тот, который шёл в комплекте с устройством, и запускаете программу-установщик заново. А она уже сама разберётся, каких файлов не хватает, и настроит всё заново.
Драйверы нужны только на Windows?
Драйверы нужны на всех компьютерах и для всех операционных систем. Но некоторые операционки идут с кучей драйверов в комплекте, а у других этот набор более скромный.
Общее правило для 2021 года такое: большая часть оборудования, которое нужно для обычной офисной работы, подключится к любому компьютеру без необходимости что-то устанавливать. Операционка сама поймёт, что это за устройство, и, скорее всего, у неё уже будут драйверы.
А вот какое-то более сложное оборудование (например, профессиональная аудиокарта или видеокамера) потребуют установки драйверов от производителя.
В чём проблема с драйверами
Проблема в том, что часто производители не делают новые драйверы для старого оборудования. Например:
Есть диджейский контроллер Numark NS7 — это профессиональное оборудование для диджеев и артистов, оно стоит дорого и нужно примерно 100 тысячам человек на всей планете.
Когда контроллер только вышел, компания Numark выпускала драйвера на все свежие операционные системы, проблем с совместимостью не было.
Потом аппарат сняли с производства, поддержку прекратили. Последняя версия драйверов, которую выпустил Numark, — для Windows 10 и MacOS 10.12 (Sierra). С тех пор у Windows вышло большое обновление до 11, а MacOS обновился раз пять. Причём последние две версии сделаны для процессоров Apple, и уже нет надежды, что Numark обновит драйверы для этой архитектуры.
Почему процессоры Apple M1 такие быстрые
Так что, если вам достался этот редкий профессиональный прибор, вы вынуждены сидеть на древней MacOS Sierra, которая стремительно перестаёт поддерживаться современным софтом.
Что с этим делать? А ничего ты с этим не сделаешь. Такова жизнь.
Текст:
Михаил Полянин
Редактор:
Максим Ильяхов
Художник:
Даня Берковский
Корректор:
Ирина Михеева
Вёрстка:
Кирилл Климентьев
Соцсети:
Олег Вешкурцев
Что такое драйвер? — Драйверы Windows
Обратная связь Редактировать
Твиттер LinkedIn Фейсбук Эл. адрес
- Статья
- 4 минуты на чтение
Трудно дать одно точное определение для термина водитель . В самом фундаментальном смысле драйвер — это программный компонент, который позволяет операционной системе и устройству взаимодействовать друг с другом.
Например, предположим, что приложению необходимо прочитать некоторые данные с устройства. Приложение вызывает функцию, реализованную операционной системой, а операционная система вызывает функцию, реализованную драйвером. Драйвер, написанный той же компанией, которая спроектировала и изготовила устройство, знает, как взаимодействовать с оборудованием устройства для получения данных. После того, как драйвер получает данные от устройства, он возвращает данные операционной системе, которая возвращает их приложению.
Расширение определения
Пока что наше объяснение упрощено по нескольким причинам:
Не все драйверы должны быть написаны компанией, разработавшей устройство.
Во многих случаях устройство разработано в соответствии с опубликованным стандартом на оборудование. Это означает, что драйвер может быть написан Microsoft, и разработчику устройства не нужно предоставлять драйвер.
Не все драйверы напрямую взаимодействуют с устройством.
Для заданного запроса ввода-вывода (например, чтения данных с устройства) часто существует несколько драйверов, расположенных в стеке драйверов, которые участвуют в запросе. Обычный способ визуализации стека — первый участник вверху, а последний участник внизу, как показано на этой диаграмме. Некоторые из драйверов в стеке могут участвовать в преобразовании запроса из одного формата в другой. Эти драйверы не взаимодействуют напрямую с устройством; они просто манипулируют запросом и передают его драйверам, расположенным ниже в стеке.
Функциональный драйвер : Единственный драйвер в стеке , который напрямую взаимодействует с устройством , называется функциональным драйвером .
Драйвер фильтра
: Драйверы , выполняющие вспомогательную обработку , называются драйверами фильтра .Дополнительные сведения о стеках см. в разделе Стеки драйверов.
Некоторые драйверы фильтров отслеживают и записывают информацию о запросах ввода-вывода, но не принимают в них активного участия. Например, некоторые драйверы фильтров действуют как верификаторы, чтобы убедиться, что другие драйверы в стеке правильно обрабатывают запрос ввода-вывода.
Мы могли бы расширить наше определение драйвера , сказав, что драйвер — это любой программный компонент, который наблюдает или участвует в обмене данными между операционной системой и устройством.
Программные драйверы
Наше расширенное определение достаточно точное, но все еще неполное, поскольку некоторые драйверы вообще не связаны с каким-либо аппаратным устройством.
Например, предположим, что вам нужно написать инструмент, который имеет доступ к основным структурам данных операционной системы, доступ к которым может получить только код, работающий в режиме ядра. Вы можете сделать это, разделив инструмент на два компонента. Первый компонент работает в пользовательском режиме и представляет пользовательский интерфейс. Второй компонент работает в режиме ядра и имеет доступ к основным данным операционной системы. Компонент, работающий в пользовательском режиме, называется приложением, а компонент, работающий в режиме ядра, называется приложением.0019 драйвер программного обеспечения . Программный драйвер не связан с аппаратным устройством.
На этой диаграмме показано взаимодействие приложения пользовательского режима с программным драйвером режима ядра.
Программные драйверы всегда работают в режиме ядра. Основной причиной написания программного драйвера является получение доступа к защищенным данным, доступным только в режиме ядра. Однако драйверам устройств не всегда нужен доступ к данным и ресурсам режима ядра. Поэтому некоторые драйверы устройств работают в пользовательском режиме.
Дополнительные сведения о режимах процессора см. в разделах Режим пользователя и Режим ядра.
Водители автобусов
Существует еще не упомянутая категория водителей, водитель автобуса . Чтобы понять драйверы шины, вам нужно понять узлы устройств и дерево устройств.
Сведения о деревьях устройств, узлах устройств и драйверах шины см. в разделе Узлы устройств и стеки устройств.
Подробнее о функциональных драйверах
Наше объяснение до сих пор слишком упрощает определение функциональный драйвер
Однако во многих случаях устройство не подключается напрямую к шине PCI. Вместо этого устройство подключается к адаптеру главной шины, который подключен к шине PCI. Например, тостер USB подключается к адаптеру главной шины (называемому хост-контроллером USB), который подключается к шине PCI. USB-тостер имеет функциональный драйвер, а хост-контроллер USB также имеет функциональный драйвер. Функциональный драйвер для тостера косвенно связывается с тостером, отправляя запрос функциональному драйверу для хост-контроллера USB. Затем функциональный драйвер для хост-контроллера USB связывается напрямую с аппаратным обеспечением хост-контроллера USB, которое взаимодействует с тостером.
Обратная связь
Отправить и просмотреть отзыв для
Этот продукт Эта страница
Просмотреть все отзывы о странице
Что такое драйвер? | Вебопедия
Поиск
Обновлено:
В этом определении…
Что такое драйвер?
Драйвер — это программа, обеспечивающая связь между операционной системой (ОС) и аппаратным компонентом или программным приложением. Каждый компьютер использует несколько драйверов для управления различными установленными аппаратными компонентами и приложениями.
Без этих драйверов аппаратное и программное обеспечение не будет работать должным образом, а в некоторых случаях может вообще не работать. Существует два основных типа драйверов: драйверы устройств и программные драйверы.
Как работает драйвер?
Драйверы — это файлы, которые отправляют запросы от ОС к оборудованию или приложениям, чтобы указать им, как работать. Драйверы переводят сообщения ОС в формат, понятный оборудованию или приложению.
Драйверы устройств
Драйверы устройств предназначены для связи между ОС и устройством. Эти драйверы обычно создаются той же компанией, которая произвела устройство. Однако, когда драйвер устройства создается третьей стороной, он разработан в соответствии с опубликованным стандартом оборудования.
Не все драйверы устройств напрямую взаимодействуют с самим устройством. В некоторых случаях в стеке имеется несколько уровней драйверов, обеспечивающих связь. Драйверы на каждом конце стека будут напрямую взаимодействовать либо с самим устройством, либо с ОС. Функциональный драйвер напрямую взаимодействует с устройством. Промежуточные драйверы манипулируют обменом данными в различных форматах, понятных машине. Они называются драйверами фильтров.
Какие устройства используют драйверы?
Для работы подавляющего большинства устройств и программного обеспечения, подключаемых к машине, требуется драйвер. Вот некоторые из наиболее распространенных устройств, для которых требуются драйверы:
- Устройства хранения — жесткие диски и твердотельные накопители
- Принтеры
- Сканеры
- Звуковые карты
- Видеоадаптеры
- Цифровые камеры
- Считыватели карт
- Контроллеры
- Модемы
- Чипсеты материнской платы
- Карты сетевого интерфейса
Программные драйверы
В отличие от драйверов устройств, программные драйверы не связаны с аппаратными устройствами. Эти программы обеспечивают связь между ОС и программными приложениями. Основная цель программных драйверов — включить или отключить доступ к защищенным данным, который доступен только программам в режиме ядра. В результате программные драйверы практически всегда работают в режиме ядра.
Режим ядра и пользовательский режим
Драйверы устройств и программного обеспечения могут работать как в режиме ядра, так и в пользовательском режиме. Пользовательский режим является универсальным вариантом и используется для большинства коммуникаций. Он также имеет то преимущество, что предлагает лучшую стабильность, чем режим ядра.
Режим ядра в основном используется основными компонентами операционной системы устройства для доступа к защищенным данным. Драйверы в режиме ядра реализованы как дискретные модульные компоненты с четко определенными функциями. Эти драйверы также предпочтительны для сетевых приложений с малой задержкой.
Драйверы виртуальных устройств
Драйверы виртуальных устройств — относительно новая технология.