Драйвера устройств это: Что такое драйверы устройств? – «Что такое драйверы и для чего они нужны?» – Яндекс.Знатоки

Содержание

Что такое драйверы устройств?

Драйвер (от английского Driver – водитель) – программа, отвечающая за работу данного устройства или оборудования, которая обеспечивает связь между компьютером и устройством. Драйверы еще иногда называют «дрова» (компьютерный жаргон), а любое устройство называют еще «девайсом».

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

Зачем нужны драйверы?

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

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

Как узнать, какие на моем компьютере устройства и драйверы?

Для Windows XP узнать о том, какие есть устройства на ПК, можно в Диспетчере устройств. Чтобы открыть Диспетчер устройств, перейдите Пуск – Настройки – Панель управления – Система – вкладка «Оборудование»:

Диспетчер устройств XP

Более подробно о том, как узнать, какие на вашем компьютере устройства и драйверы, рассмотрим на примере Windows 7. Для изменения параметров и обновления драйверов используется Диспетчер устройств. Чтобы открыть Диспетчер устройств (Device Manager) в Windows 7, щелкните кнопку Пуск, в строке Поиска меню Пуск введите «Диспетчер устройств» и щелкните по имени программы.

Другой способ открыть Диспетчер устройств в Windows 7: пройти по маршруту Пуск — Панель управления — Система и безопасность — вкладка «Оборудование и звук» — Устройства и принтеры — Диспетчер устройств:

Диспетчер устройств Windows 7

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

Драйвер устройства

Нужно ли делать обновление драйверов устройств и каким образом?

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

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

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

Где найти драйверы?

Если коротко отвечать на этот вопрос, то:

  • драйверы иногда находит операционная система Windows 7 самостоятельно в Интернете и сама устанавливает их,
  • драйверы можно установить вручную с CD или DVD диска,
  • либо установить вручную с официального сайта производителя устройства.

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

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

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

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

CD или DVD диск с записанными на него драйверами прилагается также к новому принтеру, к новой веб-камере и т.п. Если такого диска нет, а продавец предлагает Вам поискать необходимый драйвер в Интернете (кстати, это реальный случай), то он что-то мудрит и покупать у него устройство не следует. Поэтому при покупке следует выяснять у продавца наличие диска с драйвером для нового устройства.

Если устройство досталось «бывшим в употреблении», а CD или DVD диск с драйверами отсутствует, то драйвер для такого устройства следует поискать на сайте производителя данного устройства. Для этого в поисковой строке Google или Яндекс следует ввести запрос примерно такого содержания: «официальный сайт Название устройства».

Например, для принтера Hewlett-Packard можно ввести запрос «официальный сайт HP». Подробнее я об этом писала в статье «Не работает принтер при переходе с Win XP на Win 7». Наверное, Вы уже догадались, что проблема с принтером возникла как раз из-за драйвера для принтера, то есть старый драйвер под Win XP с лицензионного диска не подошел для Win 7.

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

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

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

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

Если этого по каким-то причинам не произошло, то идем в Пуск – Компьютер, кликаем по вставленному диску, находим и запускаем файл setup.exe.

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

P.S. Статья закончилась, но можно еще почитать:

Как настроить удаленный доступ к компьютеру

Альтернативные аналоги платных программ

Платное и бесплатное ПО: мысли вслух

Завершение зависших программ с помощью Диспетчера задач


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

.

Важно: необходимо подтвердить свою подписку! В своей почте откройте письмо для активации и кликните по указанной там ссылке. Если письма нет, проверьте папку Спам.

Автор: Надежда Широбокова

5 июня 2012

Драйвер — Национальная библиотека им. Н. Э. Баумана

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:20, 24 августа 2017.

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

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

Драйвер и операционная система

(Рис. 1) Логическое позиционирование драйверов устройств

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

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

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

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

С наступлением эры персональных компьютеров с несметным количеством устройств ввода-вывода эта модель уже не работает. Лишь немногие пользователи способны перекомпилировать или перекомпоновать ядро, даже если у них будут исходные коды или объектные модули, что случается довольно редко. Вместо этого операционные системы, начиная с MS-DOS, перешли к модели, в которой драйверы стали динамически загружаться в систему в процессе работы. Управление загрузкой драйверов ведется в разных системах по-разному.

Алгоритм работы

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

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

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

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

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

Функции программного обеспечения, не зависящего от конкретных устройств

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

Предоставление унифицированного интерфейса для драйверов устройств

(Рис. 2) Стандартный интерфейс драйверов

Одной из острых проблем при создании операционных систем является придание всем устройствам и драйверам ввода-вывода более или менее однообразного вида.

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

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

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

Буферизация

(Рис. 3) Основные способы буферизации

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

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

В улучшенном варианте пользовательский процесс предоставляет буфер объемом N символов и выполняет чтение такого же количества символов. Процедура обработки прерывания помещает поступающие символы в этот буфер до тех пор, пока он не заполнится. Затем она возобновляет работу пользовательского процесса. Эта схема работает намного эффективнее предыдущей, но у нее есть один недостаток. Что получится, если буфер выйдет за границу страницы при поступлении очередного символа? Буфер будет зафиксирован в памяти, но если множество процессов начнет фиксировать страницы в памяти, то запас доступных страниц сократится и производительность резко снизится.

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

Буферизация является широко используемой технологией, но у нее имеются и недостатки. Если данные будут подвергаться буферизации слишком часто, упадет производительность. Рассмотрим, к примеру, сеть, показанную на рис. 4. Здесь пользовательский процесс осуществляет системный вызов для записи данных по сети. Ядро копирует пакет данных в буфер ядра, позволяя пользовательскому процессу немедленно возобновить работу (шаг 1). Теперь пользовательская программа может использовать буфер повторно.

(Рис. 4) Передача данных по сети

Когда вызывается драйвер, он копирует пакет в контроллер для его последующего вывода (шаг 2). Причина, по которой он не осуществляет вывод в сеть непосредственно из памяти ядра, состоит в том, что как только будет запущена передача пакета, она должна продолжаться на постоянной скорости. Драйвер не может гарантировать, что он будет получать доступ к памяти на постоянной скорости, поскольку множество циклов обращения к шине могут отвлекать на себя каналы DMA и другие устройства ввода-вывода. Неудача при своевременном получении слова приведет к порче пакета. Эту проблему можно устранить за счет буферизации пакета внутри контроллера.

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

Сообщение об ошибках

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

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

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

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

Распределение и высвобождение выделенных устройств

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

Предоставление размера блока, не зависящего от конкретных устройств

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

Горячее подключение устройств

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

Виртуальные драйверы

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

Литература

Ссылки

  • Википедия — свободная энциклопедия [Электронный ресурс]: Device driver / Дата обращения: 08.03.2017. Режим доступа: https://en.wikipedia.org/wiki/Device_driver

Что такое драйвер

Когда мы говорили о БИОС мы уже вскользь касались темы драйверов.

Драйвер — это небольшая программа, которая «объясняет» операционной системе, как нужно управлять тем или иным устройством компьютера.

Так как после включения компьютера операционная система еще не запущена, а запускается БИОС, то и эта программная оболочка должна каким-то образом «понимать», что за устройства находятся в компьютере и как с ними можно работать. Именно поэтому BIOS содержит набор стандартных или универсальных драйверов, которые обеспечивают первоначальную загрузку компьютера.

Операционная система имеет более функциональные драйвера для конкретных устройств, то есть, например, для определенной модели видеокарты. То есть разработчик и производитель конкретного устройства создает программу-драйвер, которая «объясняет» операционной системе, что данное конкретное устройство «умеет» и как с ним нужно работать.

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

Диск с драйверами от материнской платы

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

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

Сейчас бы хотел затронуть еще одну, а точнее две важные темы.

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

И тут вы решаете купить новый компьютер и логичным образом устанавливаете на него самую последнюю операционную систему, например, Windows 10.

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

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

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

Первый — не самый удобный и он заключается в том, что создается виртуальная машина и на нее устанавливается операционная система, для которой есть драйвер устройства, например, Windows XP. Затем к компьютеру подключается сканер или принтер и в виртуальной машине он настраивается. 
Способ этот муторный, но вполне рабочий.

Также можно установить на компьютер вторую операционную систему. То есть на компьютере одновременно будут установлены Windoцы 10 и Windows XP. При необходимости воспользоваться устройством компьютер будет загружаться в Windows XP, хотя основная работа будет в Windows 10. Такой вариант мне кажется еще менее удобным…

Второй способ намного более простой, но лично я его ни разу не применял.

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

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

Разработчики программы Virtualbox уже позаботились о необходимых драйверах и нам всего лишь нужно установить специальное дополнение. Для этого в окне запущенной виртуальной машины переходим в пункт выпадающего меню «Устройства» и выбираем «Подключить образ диска Дополнений гостевой ОС».

Дополнение гостевой ОС Virtualbox

Затем в появившемся окне просто нажимаем кнопку «Далее» (Next).

Установка дополнений Virtualbox

Затем указываем путь для установки дополнения и здесь можно ничего не изменять.

Установка дополнений  Virtualbox

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

Дополнения гостевой ОС

Затем начнется установка дополнений и в процессе может появиться сообщение об установке драйвера.

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

Нужно будет выбирать «Установить». Такие окна могут в процессе появляться несколько раз.

Ну и в последнем окне нажимаем кнопку «Finish», чтобы перезагрузить виртуальную машину.

Дополнения гостевой ОС в Virtualbox

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

Драйверы устройств — это что такое?

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

драйверы устройств это

Что это: драйверы устройств

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

Без них работа ПК была бы практически невозможна.

На какие устройства нужно устанавливать на компьютере

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

драйверы устройств windows

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

А для чего Windows нужно устанавливать драйверы?

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

Поэтому драйверы устройства в Windows 7 уже стали полноценной частью операционной системы. В этом случае намного проще осуществляется работа со сторонними устройствами, которые подключаются к компьютеру или ноутбуку. Благодаря такому сообщению между собой системе намного проще посылать команды, которые будут отвечать определенным стандартам Microsoft.

windows 7 драйвер устройства

Зачем обновлять драйверы устройств Windows?

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

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

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

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

Если своевременно не производить обновление, то это может сказаться на производительности системы, компьютер начнет работать значительно медленнее.

Если драйверы — это часть системы, обновляются ли они вместе с Windows?

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

При обновлении Windows на сегодняшний день обрабатывается исключительно сама операционная система, то есть ее основные файлы.

Как обновить драйверы самостоятельно

Самый простой способ – просто перейти на сайт производителя конкретного устройства. Например, если мы говорим о принтере HP, то необходимо найти веб-портал этой компании. На любом из таких сайтов можно найти файлы для скачивания обновленных драйверов.

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

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

драйвер запоминающего устройства

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

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

Услуги по обновлению драйверов

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

драйверы периферийных устройств

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

Где хранятся драйверы

Большинство компьютеров работает на операционной системе Windows. В этом случае драйверы устройств по умолчанию устанавливаются в системную папку диска «С». Для того чтобы их найти, достаточно перейти в этом каталоге в раздел Windows и найти папку System 32. При этом файлы с драйверами могут иметь самые разные расширения в зависимости от продуктов, для которых они используются.

загружаемые драйверы устройств

В заключение

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

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

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

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

Понятие драйвера

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

Настройка оборудования при первой инсталляции операционной системы

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

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

Мастер установки оборудования

Да, действительно, все это производится без участия пользователя, но подвох состоит в том, что драйверы устанавливаются только для самонастраивающихся компонентов Plug&Play и исключительно из базы данных, в которой присутствует достаточно много устройств, но только тех, которые имеют поддержку со стороны Microsoft. В связи с этим могут возникать и проблемы. К примеру, если у пользователя установлено оборудование от малоизвестного производителя, не имеющего заявленной поддержки, система оригинальный драйвер не найдет, а установит то программное обеспечение, которое якобы в наибольшей мере соответствует данному определенному компоненту. Из-за этого само устройство не всегда может работать правильно (а то и не работает вообще).

Использование оригинальных дисков с драйверами

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

Проверка драйверов устройств в Windows 7 или в других версиях системы

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

Отображение всех устройств в диспетчере

Чтобы увидеть абсолютно все компоненты, необходимо в меню вида задействовать пункт показа скрытых устройств.

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

Ошибка с кодом 28 (драйвер не установлен)

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

Вопросы обновления драйверов средствами системы

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

Основные действия с драйверами в Диспетчере устройств

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

Программы для автоматического обновления

Исходя из того, что базы данных драйверов Microsoft являются далеко не полными, обновлять такое ПО лучше с использованием других программных разработок. Среди всего того, что сегодня предлагается на рынке, наиболее мощными принято считать программы и наборы вроде DriverPack Solution, SlimDrivers, Driver Booster и им подобные.

Программа для автоматического обновления драйверов Driver Booster

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

Примечание: некоторые установочные дистрибутивы Windows изначально могут содержать наборы DriverPack Solution, к которым в процессе инсталляции может производиться обращение для поиска недостающих драйверов. Однако следует четко понимать, что это пользовательские репаки, поскольку ни один официальный дистрибутив от Microsoft никаких дополнительных утилит и наборов не содержит. Для апдейта драйверов дискретных видеокарт оптимальным является использование специальных приложений от самих производителей (например, NVIDIA Experience).

Онлайн-ресурсы

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

Что делать, если нужный драйвер не найден?

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

Определение идентификаторов DEV и VEN

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

Что же касается установки загруженного программного обеспечения (например, того же драйвера Bluetooth-устройства, впрочем, как и любого другого), вариантов тут не так уж и много. Несмотря на то что сами драйверы обычно имеют формат системных файлов (SYS, VXD и т. д.), обычно для установки в таком виде они не предлагаются, поскольку даже их копирование в нужные директории с последующей регистрацией результата может не дать. К тому же, весьма сомнительно, что рядовой пользователь сможет разобраться со всеми тонкостями таких действий. Поэтому разработчики поступают проще, предлагая для установки либо файлы EXE, которые в системах Windows 7 и выше нужно запустить от имени администратора, либо объекты с расширением INF. Для вторых применяется пункт установки из контекстного меню ПКМ на файле. Если же система сообщает, что по каким-то причинам инсталляция невозможна, можно попытаться произвести установку через «Диспетчер устройств», выбрав обновление с указанием места сохранения загруженного файла драйвера и его компонентов.

Возможные проблемы с драйверами и простейшие методы их устранения

Как уже было сказано выше, в самом простом случае при обнаружении дисфункций можно просмотреть специальный код, который и даст полное понимание того, почему произошел сбой. Даже при появлении синего экрана в описании критического сбоя может присутствовать ссылка на поврежденный файл драйвера (чаще всего это касается графических и сетевых адаптеров, запоминающих накопителей и т.д.). Устранить любую проблему (в том числе и с драйверами USB-устройств) можно путем обновления или отката драйвера. Если загрузка системы оказывается невозможной, все операции можно выполнить при использовании безопасного старта (в Windows версий ниже восьмой меню выбора загрузки вызывается нажатием клавиши F8). Если же такие действия результата не дают, наиболее эффективными принято считать полный сброс параметров BIOS или обновление прошивки самой первичной системы, если она отказывается работать с новым оборудованием. Однако это только общие рекомендации. Решение по применению используемой для устранения сбоев методики необходимо принимать только после выяснения основной причины их появления.

что такое драйверы устройств? зачем они нужны? как их обновлять ?

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

<a rel=»nofollow» href=»http://ru.wikipedia.org/wiki/Драйвер» target=»_blank» >ВИКИ</a>

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

Дра&#769;йвер (англ. driver, мн. ч. дра&#769;йверы [1]) — компьютерная программа, с помощью которой другие программы (обычно операционная система) получают доступ к аппаратному обеспечению некоторого устройства. Обычно с операционными системами поставляются драйверы для ключевых компонентов аппаратного обеспечения, без которых система не сможет работать. Однако для некоторых устройств (таких, как видеокарта или принтер) могут потребоваться специальные драйверы, обычно предоставляемые производителем устройства. В общем случае драйвер не обязан взаимодействовать с аппаратными устройствами, он может их только имитировать (например, драйвер принтера, который записывает вывод из программ в файл) , предоставлять программные сервисы, не связанные с управлением устройствами (например, /dev/zero в Unix, который только выдаёт нулевые байты) , либо не делать ничего (например, /dev/null в Unix и NUL в DOS/Windows).

драйвер это программа управляющая работой устройства обновляются они автоматически при помощи обновления системы или в ручную скачивая с оффсайта производителя устройства.

drayveri eto te ili inie komponenti pozvolayuwiye rabotat opredelennim ustroystvam naprimer miw na blutuze ili video karta kotoraya toje trebuet drayvera dla posleduywiy raboti . obnovlayut obi4no 4erez net, ( obi4no sam komp i obnovlaet ix )

Driver Genius Professional — программа для управления драйверами (создания резервных копий, восстановления поврежденных версий, обновления и удаления ненужных) , имеющая также некоторые возможности для диагностики аппаратного обеспечения. Driver Genius позволяет в автоматическом режиме найти необходимые драйверы для всех устройств, используя данные об установленных в систему устройствах. Поддерживается работа с более чем 30 тысячами различных материнских плат, видеокарт, звуковых и сетевых карт, модемов, мониторов, клавиатур, мышей, видеокамер и т. д. База программы постоянно обновляется.

Драйверы устройств

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

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

Чтобы получить доступ к аппаратной части устройства, т.е. к регистрам контроллера, драйвер устройства должен быть частью ядра операционной системы. Драйверы устройств обычно рас­полагаются под ядром ОС.

Драйвер устройства выполняет несколько функций:

  1. обработку абстрактных запросов чтения и записи независи­мого от устройств и расположенного над ними программного обес­печения:

  2. инициализацию устройства;

  3. управление энергопотреблением устройства и регистрацией событий;

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

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

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

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

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

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

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

Leave a comment