Неопытные пользователи ПК часто сталкиваются с вопросами установки драйверов: что это такое — драйвер? Зачем вообще нужен драйвер? Откуда взять и как устанавливать драйверы? И вообще, с чем, собственно, едят этот самый драйвер?

Что такое драйвер — простое объяснение

Компьютер — это целый набор устройств, а не один прибор. Каждое устройство, подключаемое к компьютеру — экран, клавиатура, принтер, видеокарта и любое другое нуждаются для своей работы в том, чтобы операционная система «понимала», что можно делать с таким устройством. Только что подключенный прибор пока неизвестен системе. Windows попросту не «понимает», что это за новый аппарат включили в её хозяйство.

Драйвер — это программа, которая позволяет операционной системе «общаться» с устройством. Своеобразный «переводчик», который способен разговаривать с Windows и объяснить системе, как использовать новое устройство. У каждого прибора свой драйвер. Для видеокарты нужен один «переводчик», для мышки — совсем другой.

Как устанавливать драйвер?

Для большинства устройств драйверы уже имеются в составе операционной системы. К примеру, при обнаружении новой флешки, Windows подаёт на неё электрический сигнал. Будто спрашивая: «А кто ты такая будешь?». В ответ флешка говорит: «Я — накопитель, который подключен через интерфейс USB, а чтобы общаться со мной, загрузи-ка ты себе драйвер № 15619, который находится в твоём архиве». За доли секунды Windows находит нужный файл, читает его, и узнаёт всю трудовую биографию флешки, используя все её возможности. Примерно так происходит установка драйверов.

Чем свежее версия Windows, тем больше шансов, что для вновь подключаемого устройства не нужно будет устанавливать отдельные драйвера — они найдутся в составе операционки. Например, Windows XP может сходу начать работу с подавляющим большинством флешек, а для древнейшей Windows 98 это почти неразрешимая задача. Windows 7 содержит в своём составе огромную коллекцию программ для работы с принтерами, сканерами, видеокартами и другой аппаратурой. А вот та же XP не столь хорошо распознаёт офисные приборы вроде оргтехники, «три в одном», сканеров, и прочего. Нет в её недрах такой крупной коллекции драйверов.

Что делать, если драйвер не устанавливается автоматически

Однако многие устройства неизвестны даже самым свежим версиям ОС. Ежедневно производители выпускают новые принтеры, более современные видеокарты. Даже привычные мышки «обрастают» огромным количеством необычных кнопок.

Если драйвер не устанавливается автоматически, то в таких случаях на экране появляется нелюбимая многими надпись: «Устройство установлено неправильно». Эта проблема легко решается — нужно установить необходимый драйвер. Вручную установить, ведь операционная система уже сообщила — в её коллекции нет подходящей программы-«переводчика» для работы с данным устройством.

Установка драйвера с диска

Для ручной установки драйвера, прежде всего, посмотрите в коробку, в которой вам продали устройство. Как правило, вместе с устройствами поставляются компакт-диски с записанными на них программами. Вставив диск в привод, ответьте на несколько простых вопросов системы, которые появятся в мастере нового оборудования, и драйвер установлен! А вопросы действительно несложные — на уровне:

  • Вы хотите установить драйвер сейчас?
  • Я хочу установить драйвер в папку C:/Windows/Drivers . Можно установить драйвер туда, или вы предложите другое место?
  • Наверное, после установки придётся перезагрузить компьютер. Вы разрешаете сделать это сейчас, или займёмся перезагрузкой позже?

Диск с драйверами отсутствует. Где взять драйвер?

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

Для примера попробуем установить драйвер для сетевого адаптера. Это внутренне устройство компьютера, разъём которого похож на телефонную «розетку», только чуть толще и крупнее. Туда вставляется сетевой кабель, и компьютер подключается к локальной сети. Кстати, этот способ установки драйвера подходит и для любого другого устройства — веб-камеры, мышки, модема. Просто вместо названия фирмы-производителя и модели следует подставлять то, что написано на вашем устройстве. А ещё лучше сразу сформулировать запрос, который приведёт нас на официальный сайт производителя. В нашем примере это будет «официальный сайт Ethernet controller Realtek».

Итак, компьютер обнаружил новое устройство. И не смог установить для него драйвер. Диска под рукой у нас нет.

Для начала откроем Диспетчер устройств. Это программа, показывающая все-все приборы, из которых состоит компьютер и которые к нему подключены. Вызывается Диспетчер устройств так — Щелчок правой кнопкой по значку «Компьютер», появится меню. В нём нужно выбрать самую нижнюю строку (Свойства), и щёлкнуть по ней левой кнопкой мыши.

В «Свойствах» нужно выбрать «Диспетчер устройств» (он же — Device manager в английской версии ОС).

Так выглядит Диспетчер устройств в Windows 7. Чуть по-другому он смотрится в Windows XP и в других версиях операционной системы, но суть остаётся одна и та же. Обратите внимание, что в самой нижней строке Диспетчера устройств выделен некий прибор под названием Ethernet Controller. Неустановленные устройства всегда выделяются знаком вопроса или восклицания слева от названия прибора. Это означает, что Windows пока толком не может работать именно с этим прибором.

Первый же ответ Яндекса приведёт нас на официальный сайт производителя. Обратите внимание, что на сайты вроде «Ответы@mail.ru обращать внимания не следует. Они не имеют никакого отношения к сайту производителя. Максимум, что там посоветуют — скачать какую-то левую программу с непонятными задачами. Из неизвестного источника, кстати. Всегда следует пользоваться исключительно официальными сайтами производителя оборудования.

На сайте обратите внимание на разделы под названием «Техподдержка», «Драйверы и программное обеспечение», «Загрузка» и подобные. На англоязычных сайтах, как в нашем примере, ищите заголовки Download («Загрузка»), Support («Поддержка»), Drivers («Драйверы»). А в нашем примере сайт тайваньского производителя сетевых адаптеров Realtek уже предлагает выбрать самые популярные запросы пользователей — обратите внимание на нижний правый угол картинки. То, что нам и нужно было — драйвер «Realtek GBE Controller Driver». Щёлкаем по нему…

И выбираем нужную операционную систему. Это Windows 7, в случае нашего примера. Самая первая ссылка.

Открывается окно с предложением сохранить или запустить программу-драйвер. Лучше выбрать «Сохранить», ведь драйвер может пригодиться ещё когда-нибудь. Несколько минут (или секунд — всё зависит от скорости подключения к интернету) — и готово. Драйвер сохранён на вашем ПК.

Осталось лишь запустить его, щёлкнув по файлу драйвера дважды. Левой кнопкой, разумеется.

Появится окно установки драйвера. Несколько простейших вопросов…

И всё готово! Устройство под названием Сетевой адаптер успешно установлено. Оно готово к работе. Драйвер поставлен.

Напоследок о драйверах

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

Наконец, можно попробовать установить драйвер в полуавтоматическом режиме. Используя не внутреннюю «коллекцию» драйверов Windows, а огромную библиотеку с сайта Microsoft. О такой установке драйвера читайте в следующей статье про драйверы.

И ещё. В современном компьютере сделать что-либо не так — очень сложная задача. Компьютер не испортится, не сломается, не перестанет загружаться. Установка драйверов лишь на первый взгляд кажется сложной задаче. Всё очень и очень просто. Нет никакой необходимости вызывать «компьютерщика» для этой цели. Установку драйвера можно сравнить с протиркой компьютера от пыли. Берём влажную тряпку, аккуратно протираем, и электронный друг семьи снова блещет чистотой. Несложно? Так и с драйвером. Поставить его самостоятельно очень просто. Ничего не бойтесь и смело пробуйте: теперь ответ на вопрос «как установить драйвер» полностью решён!

Успехов в экспериментах!

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

Для разработки драйверов производителями внешних устройств необходимо наличие четкого, удобного, открытого и хорошо документированного интерфейса между драйверами и другими компонентами ОС. Драйвер взаимодействует, с одной стороны, с модулями ядра ОС (модулями подсистемы ввода-вывода, модулями системных вызовов, модулями подсистем управления процессами и памятью), а с другой стороны – с контроллерами внешних устройств. Поэтому существует два вида интерфейсов: интерфейс «драйвер-ядро» (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.

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

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

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

Под вызовом драйвера здесь подразумевается не обычный вызов функции, а передача так называемого запроса в/в. Более подробно см. лекцию 6.

Различают несколько классов драйверов:

Драйвер, получающий запросы в/в из прикладной программы, называют драйвером высшего уровня. Если такой драйвер не пользуется услугами других драйверов, он называется монолитным.

Драйвер, получающий запросы в/в от другого драйвера, называют промежуточным, если он пользуется услугами других драйверов, или драйвером низшего уровня, если услугами других драйверов он не пользуется.

Типы драйверов и характеристики

[Дополнительная информация] Ifs kit Help\Kernel-Mode Drivers\Design Guide\Part1 General Kernel Mode\Windows 2000 and WDM drivers\Kinds of driversили в DDK.

В NTсуществует 2 типа драйверов: драйверы пользовательского режима и драйверы режима ядра. В дальнейшем, говоря «драйвер», мы будем подразумевать драйверы режима ядра. Такие драйверы являются частью исполнительной системы, а более точно – элементами диспетчера в/в (архитектура NT и ее компоненты будут обсуждаться в лекции 2). Как следует из названия, при работе драйвера режима ядра процессор находится в режиме ядра (RING 0) – см. любой справочник по защищенному режиму работы процессора.

Драйвер NT располагается в файле с расширением.sys и имеет стандартный PE-формат (PE - Portable Executable).

Драйверы реализованы как самостоятельные модули с четко определенным интерфейсом взаимодействия с ОС. Все драйверы имеют определенный системой набор стандартных функций драйвера (standard driver routines) и некоторое число внутренних функций, определенных разработчиком.

Все драйверы режима ядра можно разбить на 3 типа:

    Драйверы высшего уровня (highest level drivers)

    Драйверы промежуточного уровня (intermediate drivers)

    Драйверы низшего уровня (lowest level drivers)

Как мы увидим в дальнейшем, такое разбиение обусловлено многоуровневой моделью драйверов (layered driver model). Для сохранения общности изложения, монолитный драйвер можно включить в эту схему, хотя он не использует многоуровневую архитектуру. В этом случае он будет «гибридом» – драйвером, принадлежащим одновременно к нескольким типам. Например, монолитный драйвер, имеющий интерфейс с приложением и осуществляющий доступ к оборудованию, будет одновременно и драйвером высшего, и драйвером низшего уровня.

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

    Драйверы файловой системы

    Сетевые драйверы

Отдельно необходимо упомянуть архитектуру WDM – Windows Driver Model. Эта архитектура позволяет создавать драйверы для Windows 98и Windows 2000, совместимые на уровне двоичного кода.

Можно привести следующие характеристики драйверов:

    Поддержка динамической загрузки и выгрузки (однако могут быть исключения)

    Необходимость следовать определенным протоколам взаимодействия с системой, нарушение которых чаще всего ведет к BSOD

    Возможность «наслоения» драйверов поверх друг друга. В Win2K эта возможность возведена в абсолют, хотя монолитные драйверы все еще поддерживаются

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

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

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

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

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

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

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

Объясняя максимально просто, можно привести пример со . Подключая устройство к USB порту, компьютер «видит», что к нему подключено какое-то оборудование, оно потребляет энергию, но не взаимодействует с системой. Операционная система, также определяет, что к ПК подключено новое устройство, но что это за устройство и как оно должно работать, неизвестно. Установленный же в ОС драйвер, говорит системе, что это за устройство и каким образом оно должно работать.

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

Драйвера для других операционных систем

Несмотря на то, что большинство пользователей персональных компьютеров работают на Windows, драйвера для комплектующих и нового оборудования, необходимы и на других операционных системах. Операционные системы Mac и Linux также нуждаются в установке драйверов, другое дело, что далеко не все производители комплектующих выпускают драйвера для этих систем. В прочем, современные операционные системы, особенно начиная с Windows 8, имеют огромную библиотеку предустановленных драйверов, таким образом, 80% подключенного к компьютеру оборудования может обойтись предустановленным решением. Например, в Windows XP, практически каждое подключаемое устройство требовало установку драйвера, сейчас же, такое оборудование как bluetooth или mp3 плеер, автоматически подключаются к компьютеру и взаимодействуют с операционной системой.

Установка драйверов

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

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

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

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

Как мы видим, устанавливать драйвера на компьютер крайне важно, ведь даже самый дорогой, игровой компьютер, без драйверов не сможет справиться даже с простыми 3D играми.

Поделиться.

Друзья, сегодня мы поговорим об одних из самых важных элементах любой компьютерной системы – это драйвера для Windows (xp, 7, 8, 10). Наверное, каждый из Вас хотя бы раз в жизни самостоятельно устанавливал драйвер на свой компьютер. Чтобы решить какую-либо проблему, необходимо в первую очередь разобраться с предметной областью. В этой статье, я Вам предлагаю определиться с тем, что же такое драйвера для Windows, для чего они нужны и какие же у них функции.

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

Хотя производители оборудования и разработчики ОС и не работают в одной команде, однако их объединяем мы – покупатели и пользователи компьютерной техникой. А значит им жизненно необходимо “дружить”, т.е. искать решения по совместимости новых устройств и операционных систем.

Так,например, в Windows имеется своя база драйверов “по умолчанию”. Купив новую видеокарту и подключив ее, операционная система попытается наладить с ней контакт и установит стандартный VGA-драйвер. Система загрузится и Вы сможете продолжить пользоваться ПК.

Это говорит о том, что ОС нашла подходящий драйвер в своей базе. Базовые функции устройства будут доступны – изображение на экране будет. Но все возможности видео адаптера, такие как например 3D-функции, будут недоступны. Для полноценной работы с новым устройством Вам необходимо будет установить “родной” драйвер от производителя оборудования.

Предназначение драйвера для Windows

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

Изменить параметры функционирования устройством можно в окне управления драйвером. Нажимаем “Пуск ” –> правой кнопкой щелкаем по пункту “Компьютер ” –> выбираем в открывшемся меню пункт “Управление” –> в правой части появившегося окошка выбираем ”Диспетчер устройств ”(или находим поиском виндовс) –> в списке находим необходимое устройство и два раза кликаем по нему –> переходим на вкладку “дополнительно ” и проводим необходимы настройки.

Здесь же можно и обновить их, выполнив поиск на компьютере (заранее скачав) или в интернете.

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

Три типа драйверов

Драйвера для всех устройств можно разделить на три типа.

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

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

  • 2. Программное обеспечение для внешних устройств . Тут все просто, сюда относятся все что мы подключаем к нашему компьютеру с внешней стороны: клавиатуры, мышки, принтеры, сканеры, USB-флешки, веб-камеры, все гаджеты, и все что подключается по интерфейсу USB.

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

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

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

Альтернативные драйвера для Windows (xp, 7, 8, 10)

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

Единственное “НО” – это отсутствие какой-либо гарантии на качество альтернативных драйверов. Пользователь подбирает и устанавливает их на свой страх и риск.

Альтернативные драйвера, как правило, разрабатываются в основном для расширения функционала таких устройств, как видео и звуковые адаптеры:

  • Разгон видеокарты (повышение производительности адаптера);
  • Увеличение числа настроек устройства для получения необходимого качества работы (например звуковой платы);
  • Добавление других языков в программу управления устройством;