Что такое драйвер и зачем он нужен. Как правильно устанавливать, удалять драйвера. Что делать, если не удаётся установить драйвер. Драйвер: это что такое и зачем он нужен

Как правило, в комплекте с устройством есть диск, на котором записаны все необходимые для работы драйвера и программы. Иногда таких дисков несколько. В этом случае ищите диск с надписями: «Драйвер» или «Driver».

Если такой диск у вас есть, то не будет для вас проблемой. Нужно просто найти на диске драйвер и установить его. Процесс установки драйверов ничем не отличается от установки обычных программ.

В случае если диск потерян, придётся искать драйверы в интернете. Лучше всего сразу зайти на сайт производителя. На сайте найдите раздел с драйверами или воспользуйтесь поиском по сайту для того чтобы найти драйверы для вашей модели устройства. Будьте внимательны при поиске драйверов. Вам нужен драйвер именно для вашего устройства, иначе могут возникнуть проблемы при работе.

Очень часто пользователи не знают производителя и модель устройства. Конечно, для внешних устройств всегда можно посмотреть информацию на задней крышке. Но если речь идет об устройстве, которое установлено внутрь корпуса, то узнать точное название модели будет не так просто.

Идеология построения драйверов

Операционная система управляет некоторым «виртуальным устройством», которое понимает стандартный набор команд. Драйвер переводит эти команды в команды, которые понимает непосредственно устройство. Эта идеология называется «абстрагирование от аппаратного обеспечения». Впервые в отечественной вычислительной технике подобный подход появился в серии ЕС ЭВМ , а такого рода управляющие программы назывались канальными программами.

Драйвер состоит из нескольких функций, которые обрабатывают определенные события операционной системы. Обычно это 7 основных событий:

  • Загрузка драйвера. Тут драйвер регистрируется в системе, производит первичную инициализацию и т. п.
  • Выгрузка. Драйвер освобождает захваченные ресурсы - память, файлы, устройства и т. п.
  • Открытие драйвера. Начало основной работы. Обычно драйвер открывается программой как файл, функциями CreateFile() в Win32 или fopen() в UNIX-подобных системах .
  • Чтение.
  • Запись: программа читает или записывает данные из/в устройство, обслуживаемое драйвером.
  • Закрытие: операция, обратная открытию, освобождает занятые при открытии ресурсы и уничтожает дескриптор файла.
  • Управление вводом-выводом (англ. IO Control, IOCTL ). Зачастую драйвер поддерживает интерфейс ввода-вывода, специфичный для данного устройства. С помощью этого интерфейса программа может послать специальную команду, которую поддерживает данное устройство. Например, для SCSI -устройств можно послать команду GET_INQUIRY, чтобы получить описание устройства. В Win32-системах управление осуществляется через API-функцию DeviceIoControl() . В UNIX-подобных - ioctl() .

Интеграция драйверов

По мере развития систем, сочетающих в себе на одной плате не только центральные элементы компьютера, но и большинство устройств компьютера в целом, возник вопрос удобства поддержки таких систем, получивших название «аппаратная платформа », или просто «платформа».

Сначала производители платформ поставляли набор отдельных драйверов для операционных систем, собранный на один носитель (обычно компакт-диск), Затем появились установочные пакеты, называвшиеся 4-in-1 и One touch, и позволявшие упростить установку драйверов в систему. При этом, как правило, можно выбрать либо полностью автоматическую установку всех драйверов, либо выбрать вручную нужные. Однако единого, устоявшегося термина долго не было.

Современный термин, описывающий такие наборы драйверов устройств - Board Support Package , или «пакет поддержки платформы». Помимо собственно драйверов, он может, как и прочие установочные пакеты, содержать модули операционной системы и программы.

См. также

Примечания

Ссылки

  • Пишем драйверы OpenSolaris (рус.) - статья о драйверах в OpenSolaris

Wikimedia Foundation . 2010 .

Синонимы :
  • Олимпийцы (значения)
  • Кампенгаузен, Балтасар Балтасарович

Смотреть что такое "Драйвер" в других словарях:

    драйвер - программа, парус, шофер, программа драйвер, водитель Словарь русских синонимов. драйвер сущ., кол во синонимов: 8 аудиодрайвер (1) … Словарь синонимов

    ДРАЙВЕР - Вспомогательная компьютерная программа, которая обеспечивает действие какого то определенного комплектующего устройства (обычно даже какой то конкретной его модели и, естественно, фирмы производителя), подключенного к компьютеру, на котором она… … Словарь бизнес-терминов

    драйвер - Программа, предназначенная для управления работой периферийных устройств, обычно в мини и микро ЭВМ. [ГОСТ 19781 90] Тематики обеспеч. систем обраб. информ. программное EN driver … Справочник технического переводчика

    Драйвер - (англ. driver водитель, ведущий) компьютерная программа, помогающая операционной системе работать с к. л. устройством (напр., управлять устройствами ввода вывода, клавиатурой, принтером и т. д.) … Издательский словарь-справочник

    ДРАЙВЕР - в информатике вспомогательная (см.) персонального компьютера, обеспечивающая взаимодействие управляющих программ с внешними устройствами. Д. поставляются вместе с (см.) (для типичных, распространённых устройств клавиатура, мышь, дисководы) или… … Большая политехническая энциклопедия

    драйвер - дра/йвер, род. дра/йвера, мн. драйвери, род. мн. драйверів (англ. driver водій, ведучий) це комп ютерна програма, за допомогою якої операційна система отримує доступ до керування апаратним забезпеченням. Драйвер пристрою повинен розуміти всі… … Фізико-технічний словник-мінімум

Идеология построения драйверов

Операционная система управляет некоторым «виртуальным устройством», которое понимает стандартный набор команд. Драйвер переводит эти команды в команды, которые понимает непосредственно устройство. Эта идеология называется «абстрагирование от аппаратного обеспечения». Впервые в отечественной вычислительной технике подобный подход появился в серии ЕС ЭВМ , а такого рода управляющие программы назывались канальными программами.

Драйвер состоит из нескольких функций, которые обрабатывают определенные события операционной системы. Обычно это 7 основных событий:

  • Загрузка драйвера. Тут драйвер регистрируется в системе, производит первичную инициализацию и т. п.
  • Выгрузка. Драйвер освобождает захваченные ресурсы - память, файлы, устройства и т. п.
  • Открытие драйвера. Начало основной работы. Обычно драйвер открывается программой как файл, функциями CreateFile() в Win32 или fopen() в UNIX-подобных системах .
  • Чтение.
  • Запись: программа читает или записывает данные из/в устройство, обслуживаемое драйвером.
  • Закрытие: операция, обратная открытию, освобождает занятые при открытии ресурсы и уничтожает дескриптор файла.
  • Управление вводом-выводом (англ. IO Control, IOCTL ). Зачастую драйвер поддерживает интерфейс ввода-вывода, специфичный для данного устройства. С помощью этого интерфейса программа может послать специальную команду, которую поддерживает данное устройство. Например, для SCSI -устройств можно послать команду GET_INQUIRY, чтобы получить описание устройства. В Win32-системах управление осуществляется через API-функцию DeviceIoControl() . В UNIX-подобных - ioctl() .

Интеграция драйверов

По мере развития систем, сочетающих в себе на одной плате не только центральные элементы компьютера, но и большинство устройств компьютера в целом, возник вопрос удобства поддержки таких систем, получивших название «аппаратная платформа », или просто «платформа».

Сначала производители платформ поставляли набор отдельных драйверов для операционных систем, собранный на один носитель (обычно компакт-диск), Затем появились установочные пакеты, называвшиеся 4-in-1 и One touch, и позволявшие упростить установку драйверов в систему. При этом, как правило, можно выбрать либо полностью автоматическую установку всех драйверов, либо выбрать вручную нужные. Однако единого, устоявшегося термина долго не было.

Современный термин, описывающий такие наборы драйверов устройств - Board Support Package , или «пакет поддержки платформы». Помимо собственно драйверов, он может, как и прочие установочные пакеты, содержать модули операционной системы и программы.

См. также

Примечания

Ссылки

  • Пишем драйверы OpenSolaris (рус.) - статья о драйверах в OpenSolaris

Wikimedia Foundation . 2010 .

Синонимы :

Смотреть что такое "Драйвер" в других словарях:

    Программа, парус, шофер, программа драйвер, водитель Словарь русских синонимов. драйвер сущ., кол во синонимов: 8 аудиодрайвер (1) … Словарь синонимов

    Вспомогательная компьютерная программа, которая обеспечивает действие какого то определенного комплектующего устройства (обычно даже какой то конкретной его модели и, естественно, фирмы производителя), подключенного к компьютеру, на котором она… … Словарь бизнес-терминов

    драйвер - Программа, предназначенная для управления работой периферийных устройств, обычно в мини и микро ЭВМ. [ГОСТ 19781 90] Тематики обеспеч. систем обраб. информ. программное EN driver … Справочник технического переводчика

    Драйвер - (англ. driver водитель, ведущий) компьютерная программа, помогающая операционной системе работать с к. л. устройством (напр., управлять устройствами ввода вывода, клавиатурой, принтером и т. д.) … Издательский словарь-справочник

    ДРАЙВЕР - в информатике вспомогательная (см.) персонального компьютера, обеспечивающая взаимодействие управляющих программ с внешними устройствами. Д. поставляются вместе с (см.) (для типичных, распространённых устройств клавиатура, мышь, дисководы) или… … Большая политехническая энциклопедия

    драйвер - дра/йвер, род. дра/йвера, мн. драйвери, род. мн. драйверів (англ. driver водій, ведучий) це комп ютерна програма, за допомогою якої операційна система отримує доступ до керування апаратним забезпеченням. Драйвер пристрою повинен розуміти всі… … Фізико-технічний словник-мінімум

Разнообразный набор драйверов для широкого круга популярных периферийных устройств – непременное условие популярности ОС у пользователей.

Для разработки драйверов производителями внешних устройств необходимо наличие четкого, удобного, открытого и хорошо документированного интерфейса между драйверами и другими компонентами ОС. Драйвер взаимодействует, с одной стороны, с модулями ядра ОС (модулями подсистемы ввода-вывода, модулями системных вызовов, модулями подсистем управления процессами и памятью), а с другой стороны – с контроллерами внешних устройств. Поэтому существует два вида интерфейсов: интерфейс «драйвер-ядро» (Driver Kernel Interface, DKI) и интерфейс «драйвер-устройство» (Driver Device Interface).

Интерфейс «драйвер-ядро» должен быть стандартизован в любом случае. Подсистема ввода-вывода может поддерживать несколько различных интерфейсов DKI/DDI, предоставляя специфический интерфейс для устройств определенного класса. К наиболее общим классам относятся блочные устройства, например, диски, и символьные устройства, такие как клавиатура и принтеры. Может существовать класс сетевых адаптеров и др. В большинстве современных ОС определен стандартный интерфейс, который должен поддерживать все блочные драйверы, и второй стандартный интерфейс, поддерживаемый всеми символьными адаптерами. Эти интерфейсы включают наборы процедур, которые могут вызываться остальной операционной системой для обращения к драйверу. К этим процедурам относятся, например, процедуры чтения блока или записи символьной строки.

Кроме того, подсистема ввода-вывода поддерживает большое количество системных функций, которые драйвер может вызывать для выполнения некоторых типовых действий. Например, это операции обмена с регистрами контроллера, ведения буферов промежуточного хранения данных ввода-вывода, взаимодействия с DMA-контроллером и контроллером прерываний и др.

У драйверов устройств есть множество функций:

1. Обработка запросов записи-чтения от программного обеспечения управления устройствами. Постановка запросов в очередь.

2. Проверка входных параметров запросов и обработка ошибок.

3. Инициализация устройства и проверка статуса устройства.

4. Управление энергопотреблением устройства.

5. Регистрация событий в устройстве.

6. Выдача команд устройству и ожидание их выполнения, возможно, в блокированном состоянии, до поступления прерывания от устройства.

7. Проверка правильности завершения операции.

8. Передача запрошенных данных и статуса завершенной операции.

9. Обработка нового запроса при незавершенном предыдущем запросе (для реентерабельных драйверов).

Наиболее очевидная функция состоит в обработке абстрактных запросов чтения и записи независимого от устройств программного обеспечения, расположенного над ними. Но, кроме этого, они должны выполнять еще несколько функций. Например, драйвер должен при необходимости инициализировать устройство. Ему может понадобиться управлять энергопотреблением устройства и регистрацией событий.

Многие драйверы обладают сходной общей структурой. Типичный драйвер начинает работу с проверки входных параметров. Если они не удовлетворяют определенным критериям, драйвер возвращает ошибку. В противном случае драйвер преобразует абстрактные термины в конкретные. Например, дисковый драйвер преобразует линейный номер кластера в номер головки, дорожки и сектора.

Затем драйвер может проверить, не используется ли это устройство в данный момент. Если устройство занято, запрос может быть поставлен в очередь. Если устройство свободно, проверяется статус устройства, чтобы понять, может ли запрос быть обслужен прямо сейчас. Может оказаться необходимым включить устройство или запустить двигатель, прежде чем начнется перенос данных. Как только устройство включено и готово, начинается собственно управление устройством.

Управление устройством подразумевает выдачу ему серии команд. Именно в драйвере определяется последовательность команд в зависимости от того, что должно быть сделано. Определившись с командой, драйвер начинает записывать их в регистры контроллера устройства. После записи каждой команды в контроллер, возможно, будет нужно проверить, принял ли контроллер команду и готов ли принять следующую. Такая последовательность действий продолжается до тех пор, пока контроллеру не будут переданы все команды. Некоторые контроллеры способны принимать связные списки команд, находящихся в памяти. Они сами считывают и выполняют их без дальнейшей помощи ОС.

После того как драйвер передал все команды контроллеру, ситуация может развиваться по двум сценариям. Во многих случаях драйвер устройства должен ждать, пока контроллер не выполнит для него определенную работу, поэтому он блокируется до тех пор, пока прерывание от устройства не разблокирует его. В других случаях операция завершается без задержек и драйверу не нужно блокироваться. В любом случае по завершении выполнения операции драйвер должен проверить, завершилась ли операция без ошибок. Если все в порядке, драйверу, возможно, придется передать данные (например, только что прочитанный блок) независимому от устройств программному обеспечению. Наконец, драйвер возвращает информацию о состоянии для информирования вызывающей программы о статусе завершения операции. Если в очереди находились другие запросы, один из них теперь может быть выбран и запущен. В противном случае драйвер блокируется в ожидании следующего запроса.

Для поддержки процесса разработки драйверов операционной системы выпускается так называемый пакет DDK (Driver Development Kit), представляющий собой набор инструментальных средств-библиотек, компиляторов и отладчиков.

Так как набор потенциально поддерживаемых данных ОС периферийных устройств всегда шире набора устройств, которыми ОС должна управлять при установке на конкретной машине, то ценным свойством ОС является возможность динамически загружать в оперативную память требуемый драйвер (без остановки ОС) и выгружать его, если надобность в драйвере отпала. Такое свойство ОС может существенно сэкономить системную область памяти.

Альтернативой динамической загрузке драйверов при изменении текущей конфигурации внешних устройств компьютера является повторная компиляция кода ядра с требуемым набором драйверов, что создает между всеми компонентами ядра статические связи вместо динамических. Например, таким образом решалась данная проблема в ранних версиях ОС UNIX. При статистических вызовах между ядром и драйверами структура ОС упрощается, но этот подход требует наличия исходных кодов модулей ОС, доступность которых скорее является исключением (для некоммерческих версий UNIX). Кроме того, в этом варианте работающую версию ОС надо остановить и заменить новой, что не всегда допустимо в некоторых применениях.

Поэтому поддержка динамической загрузки драйверов является практически обязательным требованием для современных универсальных ОС.

Первоначально термин «драйвер» применялся в достаточно узком смысле – под драйвером понимается программный модуль, который:

Входит в состав ядра ОС, работая в привилегированном режиме;

Непосредственно управляет внешним устройством, взаимодействуя с его контроллером с помощью команд ввода-вывода компьютера;

Обрабатывает прерывания от контроллера устройства;

Предоставляет прикладному программисту удобный логический интерфейс работы с устройством, экранируя от него низкоуровневые детали управления устройством и организации его данных;

Взаимодействует с другими модулями ядра ОС с помощью строго оговоренного интерфейса, описывающего формат передаваемых данных, структуру буферов, способы включения драйвера в состав ОС, способы вызова драйвера, набор общих процедур подсистемы ввода-вывода, которыми драйвер может пользоваться и т.п.

Согласно этому определению драйвер вместе с контроллером устройства и прикладной программой воплощали идею многослойного подхода к организации программного обеспечения. Контроллер представлял низкий слой управления устройством, выполняющий операции в терминах блоков и агрегатов устройства (например, передвижение головки дисковода, побитную передачу байта по двухпроводному кабелю). Драйвер выполнял более сложные операции, преобразуя данные, адресуемые в терминах номеров цилиндров, головок и секторов диска, в линейную последовательность блоков. В результате прикладная программа работала с данными, преобразованными в достаточно понятную форму, – файлами, таблицами баз данных, текстовыми окнами на мониторе и т.п., не вдаваясь в детали представления этих данных в устройствах ввода-вывода.

В описанной схеме драйверы не делились на слои. Постепенно, по мере развития операционных систем и усложнения структуры подсистемы ввода-вывода, наряду с традиционными драйверами в ОС появились так называемые высокоуровневые драйверы, которые располагаются в общей модели подсистемы ввода-вывода над традиционными драйверами. Появление таких драйверов можно считать развитием идеи многоуровневой организации подсистемы ввода-вывода, когда ее функции декомпозируются между несколькими модулями в соседних слоях иерархии (таких примеров много, например семиуровневая модель сетевых протоколов).

Традиционные драйверы, которые стали называть аппаратными, низкоуровневыми или драйверами устройств, освобождаются от высокоуровневых функций и занимаются только низкоуровневыми операциями. Эти низкоуровневые операции составляют фундамент, на котором можно построить тот или иной набор операций в драйверах более высоких уровней.

При таком подходе повышается гибкость и расширяемость функции по управлению устройством. Например, если различным приложениям необходимо работать с различными логическими модулями одного и того же физического устройства, то для этого в системе достаточно установить несколько драйверов на одном уровне, работающих над одним аппаратным драйвером. Несколько драйверов, управляющих одним устройством, но на разных уровнях, можно рассматривать как один многоуровневый драйвер.

На практике используют от двух до пяти уровней драйверов, поскольку с увеличением числа уровней снижается скорость выполнения операций ввода-вывода.

Высокоуровневые драйверы оформляются по тем же правилам и придерживаются тех же внутренних интерфейсов, что и аппаратные драйверы. Как правило, высокоуровневые драйверы не вызываются по прерываниям, так как взаимодействуют с устройством через посредничество аппаратных драйверов.

В модулях подсистемы ввода-вывода, кроме драйверов, могут присутствовать и другие модули, например, дисковый кэш. Достаточно специфичные функции кэша делают нецелесообразным оформление его в виде драйвера, взаимодействующего с другими модулями ОС только с помощью услуг менеджера ввода-вывода. Другим примером модуля, который чаще всего не оформляется в виде драйвера, является диспетчер окон графического интерфейса. Иногда этот модуль вообще выносится из ядра ОС и реализуется в виде пользовательского интерфейса. Таким образом, был реализован диспетчер окон в Windows NT 3.5 и 3.51, но этот микроядерный подход заметно замедляет графические операции, поэтому в Windows 4.0 диспетчер окон и высокоуровневые графические драйверы, а также графическая библиотека GDI были перенесены в пространство ядра.

Аппаратные драйверы после запуска операции ввода-вывода должны своевременно реагировать на завершение контроллером заданного действия путем взаимодействия с системой прерывания. Драйверы более высоких уровней вызываются не по прерываниям, а по инициативе аппаратных драйверов или драйверов вышележащего уровня. Не все процедуры аппаратного драйвера нужно вызывать по прерываниям, поэтому драйвер обычно имеет определенную структуру, в которой выделяется секция обработки прерываний (Interrupt Service Routine, ISR), которая и вызывается от соответствующего устройства диспетчером прерываний.

В унификацию драйверов большой вклад внесла ОС UNIX, в которой все драйверы были разделены на два класса: блок-ориентированные (Block-oriented) и байт-ориентированные (Character-oriented) драйверы. Это более общее деление, чем деление на вертикальные подсистемы. Например, драйверы графических устройств и сетевых устройств относятся к классу байт-ориентированных.

Блок-ориентированные драйверы управляют устройствами прямого доступа, которые хранят информацию в блоках фиксированного размера, каждый из которых имеет свой адрес. Адресуемость блоков приводит к тому, что для дисков, являющихся устройствами прямого доступа, появляется возможность кэширования данных в оперативной памяти. Это обстоятельство значительно влияет на общую организацию ввода-вывода для блок-ориентированных драйверов.

Устройства, с которыми работают байт-ориентированные драйверы, не адресуют данные и не позволяют производить операции поиска данных, они генерируют или потребляют последовательность байта (терминалы, принтеры, сетевые адаптеры и т.п.).

Однако не все устройства, управляемые подсистемой ввода-вывода, можно разделить на блок и байт-ориентированные. Для таких устройств (например, таймер) нужен специфический драйвер.

В свое время ОС UNIX сделала очень важный шаг по унификации операций и структуризации программного обеспечения ввода-вывода. В ОС UNIX все устройства рассматриваются как виртуальные (специальные) файлы, что дает возможность использовать общий набор базовых операций ввода-вывода для любых устройств независимо от их специфики. Подобная идея реализована позже в MS-DOS, где последовательные устройства – монитор, принтер и клавиатура – считаются файлами со специальными именами: con, prn, con.

Все кто работает за компьютером рано или поздно сталкиваются с таким понятием, как драйвер. Но далеко не все понимают, что это такое и почему обновление драйверов так необходимо для нормальной работы компьютера. Иногда достаточно только обновить тот или иной драйвер и ваш компьютер заработает как новенький. Что такое драйвер? Для чего он нужен? И где его взять?

Что такое драйвер компьютера и для чего он нужен

Драйвер это своего рода программа-посредник между операционной системой и компьютером. Любой компьютер состоит из основных устройств, таких как: материнская плата, микропроцессор, видеокарта, память, звуковая карта, жесткие диски, дисководы, мышь, клавиатура, монитор. К нему же могут подключатся и дополнительные устройства, такие как: принтер, сканер, графический планшет, джойстик, колонки, микрофон, веб-камера и др.

И чтобы все это работало, разработчики устройств пишут специальные программы, которые говорят операционной системе, как это устройство должно работать, и как им можно управлять. Для каждого устройства существует своя программа-драйвер.

Для разных операционных систем драйвера тоже разные. Например, устройство с драйвером для Windows 10 скорее всего не будет работать в операционной системе Windows 7. Поэтому прежде, чем устанавливать то или иное устройство, необходимо поинтересоваться, а есть ли у него драйвер для этой операционной системы.

Все драйвера можно найти на сайтах разработчиков оборудования. О том, как их обновлять я уже писала.

Всю информацию об устройствах вашего компьютера и установленных драйверах можно посмотреть в Диспетчере устройств . Попасть в этот диспетчер можно разными способами.

Как попасть в Диспетчер устройств

Через иконку «Компьютер » на рабочем столе.

Кликните правой кнопкой мыши по этой иконке и выберите в выпадающем контекстном меню пункт «Свойства ».

Или откройте меню «Пуск », найдите там «Компьютер », и кликните правой кнопкой мыши по этому пункту. Выберите в открывшемся списке пункт «Свойства ».

Можно еще открыть Панель управления и найти там блок «Система ».

Во всех трех вариантах у вас должно открыться окно «Система ». Слева найдите ссылку «Диспетчер устройств » и кликните по ней левой кнопкой мыши. У вас откроется окно «Диспетчер устройств ».

Здесь же можно открыть список всех устройств и просмотреть их свойства.

Для этого откройте список устройства, кликнув по нему два раза, а потом выделите его мышью и кликните по нему правой кнопкой мыши. В появившемся списке выберите необходимый пункт.

Подробнее об этом посмотрите в видеоролике ниже от Андрея Сухова.

А это видео, о том, как обновить или установить драйвер видеокарты: Надеюсь теперь вам понятно, что такое драйвер и для чего он необходим.