Что такое драйвер кратко: что это такое и где его взять

Содержание

что это такое и где его взять

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

 

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

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

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

Купил я себе такое устройство, принес домой и подключил.

Это было несложно — там всего два провода: один в розетку, а другой для соединения с компьютером. Закладываю в него бумагу и нажимаю на кнопку включения. Все работает – принтер готов к печати.

 

Осталось только открыть на компьютере файл, который нужно вывести на бумагу и дать команду на печать. Я так и поступаю: открываю набранный документ Word, нажимаю на верхнюю кнопку слева (Файл), выбираю пункт «Печать» и еще раз «Печать».

Появляется небольшое окошко, в котором нажимаю на «OK».

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

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

Для каких устройств нужны драйверы

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

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

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

Еще драйверы нужны для сетевой карты и Wi-Fi, чтобы был Интернет. Ну, и, возможно, потребуются для другого оборудования, чтобы оно работало (тачпад, веб-камера, картридер).

Где взять

Раньше при покупке устройства в комплекте к нему шел CD диск со всеми необходимыми программами. Сейчас это встречается редко, так как диски устарели и на многих компьютерах нет устройства для их чтения.

Сейчас есть два варианта установки драйверов:

  1. Автоматическая при подключении.
  2. Ручная – через установочный файл.

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

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

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

Инструкции в помощь:

Что Такое Драйвер И Как Его Установить?

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

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

Компьютер — это целый набор устройств, а не один прибор. Каждое устройство, подключаемое к компьютеру — экран, клавиатура, принтер, видеокарта и любое другое нуждаются для своей работы в том, чтобы операционная система «понимала», что можно делать с таким устройством. Только что подключенный прибор пока неизвестен системе. 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. О такой установке драйвера читайте в следующей статье про драйверы.

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

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

Драйвер — это просто / Хабр

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


Сперва нам нужно определится в чем мы же будем создавать наш первый драйвер. Поскольку материал ориентирован на новичков, то язык программирования был выбран один из простых, и это не Си или ассемблер, а бейсик. Будем использовать один из диалектов бейсика — PureBasic. Из коробки он не обучен создавать драйверы, но у него удачный набор файлов, используемых для компиляции и небольшое шаманство позволяет добавить эту возможность. Процесс компиляции состоит из нескольких этапов. Если кратко, то он происходит следующим образом: Сначала транслятор «перегоняет» basic-код в ассемблер, который отдается FASM’у (компилятор ассемблера), который создает объектный файл. Далее в дело вступает линкер polink, создающий исполняемый файл. Как компилятор ассемблера, так и линкер могут создавать драйверы и если немного изменить опции компиляции, то получим не исполняемый файл, типа EXE или DLL, а драйвер режима ядра (SYS).

Скачать немного модифицированную бесплатную демо версию PureBasic 4.61 x86 можно на файлопомойке, зеркало.
Если нужно создать драйвер для x64 системы, качайте эту версию, зеркало.

Дистрибутивы имеют небольшие размеры, около 3 МБ каждый. С помощью этой версии можно создавать только драйвера.
Скачиваем, распаковываем и запускаем, кликнув по файлу «PureBasic Portable». При этом запустится IDE и вылезет окошко с сообщением что это демо-версия и списком ограничений. Из него наиболее существенным является ограничение числа строк кода, равное 800, а для создания простых драйверов этого может хватить. Остальные ограничения в нашем случае, не существенны.

Окно IDE с загруженным кодом драйвера показано на скрине.

Компиляция драйвера выполняется через меню «Компилятор» (это если кто не понял).

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

Код драйвера:

Declare DriverEntry(*DriverObject, *RegistryPath)

!public PureBasicStart
!section '.code' code readable executable align 8
!PureBasicStart:
*A=@DriverEntry()
!jmp [p_A] ; Переход в процедуру DriverEntry().

#IOCTL_MyPlus = $200

!extrn PB_PokeL
    
CompilerSelect #PB_Compiler_Processor
  CompilerCase #PB_Processor_x86
    !extrn _IoCompleteRequest@8 ; Объявление импортируемых функций ядра.
    !extrn _RtlInitUnicodeString@8
    !extrn _IoCreateDevice@28
    !extrn _IoDeleteDevice@4
    !extrn _IoCreateSymbolicLink@8
    !extrn _IoDeleteSymbolicLink@4

    !extrn _PB_PeekI@4
    
    Import "ntoskrnl.lib" 
  CompilerCase #PB_Processor_x64
    
    !extrn IoCompleteRequest; Объявление импортируемых функций ядра. 
    !extrn RtlInitUnicodeString
    !extrn IoCreateDevice
    !extrn IoDeleteDevice
    !extrn IoCreateSymbolicLink
    !extrn IoDeleteSymbolicLink
    !extrn PB_PeekI
    
    ImportC "ntoskrnl.lib"
  CompilerEndSelect
  
    
; Импорт функций ядра системы.
  IoCompleteRequest(*IRP, PriorityBoost)
  RtlInitUnicodeString(*UString, *String)
  IoCreateDevice(*DriverObject, DeviceExtensionSize, *UDeviceName, DeviceType, DeviceCharacteristics, Exclusive, *DeviceObject)
  IoDeleteDevice(*DeviceObject)
  IoCreateSymbolicLink(*SymbolicLinkName, *DeviceName)
  IoDeleteSymbolicLink(*SymbolicLinkName)
EndImport

Structure MyData ; Данные, передаваемые в драйвер.
  Plus_1.l
  Plus_2.l
EndStructure


; Прцедура обмена данными с программой.
Procedure DeviceIoControl(*DeviceObject.DEVICE_OBJECT, *pIrp.IRP)
  Protected *Stack.IO_STACK_LOCATION
  Protected *InpBuff, *OutBuff
  Protected InBuffSize, OutBuffSize
  Protected ntStatus, *MyData.MyData
  
  ntStatus = #STATUS_SUCCESS ; Все ОК.
  
  *Stack = *pIrp\Tail\Overlay\CurrentStackLocation
  
  ; Размеры буферов (см.  WinAPI функцию DeviceIoControl())
  InBuffSize  = *Stack\Parameters\DeviceIoControl\InputBufferLength
  OutBuffSize  = *Stack\Parameters\DeviceIoControl\OutputBufferLength
  
  If InBuffSize >= SizeOf(Integer) And OutBuffSize >= 4
    
    Select *Stack\Parameters\DeviceIoControl\IoControlCode
      Case #IOCTL_MyPlus
        
        *Point = *pIrp\SystemBuffer
        If *Point
          *MyData = PeekI(*Point)
          
          If *MyData
            Result.l = *MyData\Plus_1 + *MyData\Plus_2
            PokeL(*pIrp\SystemBuffer, Result)
            *pIrp\IoStatus\Information = 4
          Else
            ntStatus = #STATUS_BUFFER_TOO_SMALL
            *pIrp\IoStatus\Information = 0
          EndIf
          
        EndIf
                
      Default
        ntStatus = #STATUS_UNSUCCESSFUL
        *pIrp\IoStatus\Information = 0
    EndSelect
  
  Else
    ntStatus = #STATUS_BUFFER_TOO_SMALL ; Размер буфера слишком мал.
    *pIrp\IoStatus\Information = 0
  EndIf
  
  *pIrp\IoStatus\Status = ntStatus
  IoCompleteRequest(*pIrp, #IO_NO_INCREMENT)
  
  ProcedureReturn ntStatus
EndProcedure


; Выгрузка драйвера.  Вызывается при завершении работы драйвера.
Procedure UnloadDriver(*DriverObject.DRIVER_OBJECT)
  Protected uniDOSString.UNICODE_STRING
  
  ; Инициализация объектов-строк.
  RtlInitUnicodeString(@uniDOSString, ?DosDevices)
  ; Удаление символьной связи.
  IoDeleteSymbolicLink (@uniDOSString)
  
  ; Удаление устройства.
  IoDeleteDevice(*DriverObject\DeviceObject)
EndProcedure


; Вызывается при доступе к драйверу с помощью функци CreateFile().
Procedure CreateDispatch(*DeviceObject.DEVICE_OBJECT, *pIrp.IRP)
  *pIrp\IoStatus\Information = 0
  *pIrp\IoStatus\Status = #STATUS_SUCCESS
  IoCompleteRequest(*pIrp, #IO_NO_INCREMENT)
  ProcedureReturn #STATUS_SUCCESS
EndProcedure


; Вызывается при осовбождении драйвера функцией CloseHandle().
Procedure CloseDispatch(*DeviceObject.DEVICE_OBJECT, *pIrp.IRP)
  *pIrp\IoStatus\Information = 0
  *pIrp\IoStatus\Status = #STATUS_SUCCESS
  IoCompleteRequest(*pIrp, #IO_NO_INCREMENT)
  ProcedureReturn #STATUS_SUCCESS
EndProcedure


; Процедура загрузки драйвера.  Вызывается однократно при его запуске.
Procedure DriverEntry(*DriverObject.DRIVER_OBJECT, *RegistryPath.UNICODE_STRING)
  Protected deviceObject.DEVICE_OBJECT
  Protected uniNameString.UNICODE_STRING
  Protected uniDOSString.UNICODE_STRING
  
  
  ; Инициализация объектов-строк.
  RtlInitUnicodeString(@uniNameString, ?Device)
  RtlInitUnicodeString(@uniDOSString, ?DosDevices)
  
  ; Создание устройства.
  status = IoCreateDevice(*DriverObject, 0, @uniNameString, #FILE_DEVICE_UNKNOWN, 0, #False, @deviceObject)
  If status <> #STATUS_SUCCESS
    ProcedureReturn status
  EndIf
    
  ; Создане символьной связи между именем этого устройства и именем,
  ; находящимся в видимой области для user-mode, для того, чтобы
  ; приложение могло получить доступ к этому устройству.
  status = IoCreateSymbolicLink(@uniDOSString, @uniNameString)
  If status <> #STATUS_SUCCESS
    IoDeleteDevice(@deviceObject)
    ProcedureReturn status
  EndIf
  
  ; Указатель на функцию выгрузки драйвера.
  *DriverObject\DriverUnload = @UnloadDriver()
  
  *DriverObject\MajorFunction[#IRP_MJ_CREATE] = @CreateDispatch()
  *DriverObject\MajorFunction[#IRP_MJ_CLOSE]  = @CloseDispatch()
  
  ; Указываем какая функция будет обрабатывать запросы WinAPI DeviceIoControl(). 
  *DriverObject\MajorFunction[#IRP_MJ_DEVICE_CONTROL] = @DeviceIoControl()
	
	ProcedureReturn #STATUS_SUCCESS
EndProcedure



; Имя драйвра (юникод).
DataSection
  Device:
  !du '\Device\pbDrPlus', 0, 0
  
  DosDevices:
  !du '\DosDevices\pbDrPlus', 0, 0
EndDataSection

Может показаться что это куча бессмысленного кода, но это не так.

У каждого драйвера должна быть точка входа, обычно у нее имя DriverEntry() и выполнена она в виде процедуры или функции. Как видите, в этом драйвере есть такая процедура. Если посмотрите на начало кода, то в первых строках увидите как ей передается управление. В этой процедуре происходит инициализация драйвера. Там же назначается процедура завершения работы драйвера, которая в нашем случае имеет имя UnloadDriver(). Процедуры CreateDispatch() и CloseDispatch() назначаются обработчиками соединения и отсоединения проги из юзермода.
Процедура DeviceIoControl() будет обрабатывать запросы WinAPI функции DeviceIoControl(), являющейся в данном драйвере связью с юзермодом. В конце кода расположена так называемая ДатаСекция (DataSection), в которой находятся имена драйвера, сохраненные в формате юникода (для этого использована одна из фишек ассемблера FASM).

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

Видите сколько понадобилось кода для выполнения простейшей математической операции — сложения двух чисел?

А теперь рассмотрим программу, работающую с этим драйвером. Она написана на том же PureBasic.


#DriverName = "pbDrPlus"
#IOCTL_MyPlus = $200

XIncludeFile "..\DrUserModeFramework. pbi"

Structure MyData ; Данные, передаваемые в драйвер.
  Plus_1.l
  Plus_2.l
EndStructure

; Абсолютный путь к файлу-драйверу.
DrFile.s = GetPathPart(ProgramFilename())+#DriverName+".sys"

; Загружает драйвер и если успешно, то порлучаем его хэндл.
hDrv=OpenDriver(DrFile, #DriverName, #DriverName, #DriverName)

If hDrv=0
  ; Деинсталляция драйвера из системы.
  Driver_UnInstall(#DriverName)
  MessageRequester("", "Ошибка загрузки драйвера")
  End
EndIf

; Обмен данными с драйвером.
Procedure.q Plus(hDrv, x1, x2)
  Protected MyData.MyData, Result, *Point
  
  MyData\Plus_1=x1
  MyData\Plus_2=x2
  *Point = @MyData
  DeviceIoControl_(hDrv, #IOCTL_MyPlus, @*Point, SizeOf(MyData), @Result, 4, @BytesReturned, 0)
  
  ProcedureReturn Result
EndProcedure


OpenWindow(1,300,300,140,90,"Title",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
StringGadget(1,10,10,50,20,"")
StringGadget(2,10,40,50,20,"")
TextGadget(3,70,30,70,20,"")
Repeat
  ev=WaitWindowEvent()
  If ev=#PB_Event_Gadget
    op1=Val(GetGadgetText(1))
    op2=Val(GetGadgetText(2))
    Result = Plus(hDrv, op1, op2)
    SetGadgetText(3,Str(Result))
  EndIf
Until ev=#PB_Event_CloseWindow


; Если драйвер загружен, то закрываем связь с ним. 
If hDrv
  CloseHandle_(hDrv)
  hDrv=0
EndIf

; Деинсталляция драйвера из системы.
Driver_UnInstall(#DriverName)

При старте программы вызывается функция OpenDriver(), которая загружает драйвер. Для упрощения, имя драйвера, имя службы и описание службы заданы одинаковыми — «pbDrPlus». Если загрузка неудачная, то выводится соответствующее сообщение и программа завершает свою работу.

Процедура Plus() осуществляет связь с драйвером. Ей передаются хэндл, доступа к драйверу и слагаемые числа, которые помещаются в структуру и указатель на указатель которой, передается драйверу. Результат сложения чисел будет в переменной «Result».

Далее следует код простейшего GUI калькулятора, скопированного из википедии.

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

Результат сложения чисел 8 и 2 на скриншоте.

Исходные коды драйвера и программы, можно найти в папке «Examples», PureBasic на файлопомойке, ссылку на который давал в начале статьи. Там так же найдете примеры драйвера прямого доступа к порам компа и пример работы с памятью ядра.

PS.
Помните, работа в ядре чревата мелкими неожиданностями аля, BSOD (синий экран смерти), поэтому экспериментируйте осторожно и обязательно всё сохраняйте перед запуском драйвера.

За возможную потерю данных, я ответственности не несу!

Как найти драйвера на компьютер с самостоятельно подобранной конфигурацией!

Если вы самостоятельно собирали свой компьютер, покупая для него комплектующие по отдельности, то в таком случае все драйвера для компьютера уже не найти на одном единственном сайте производителя, как это легко было бы сделать при покупке готового компьютера (об этом рассказано в статье «Как найти драйвера, если был куплен ноутбук или готовый стационарный компьютер!»). Ведь вы покупали не готовый компьютер, который принадлежал бы какому-то производителю, имел бы свою модель и драйвера для которого можно было все разом скачать с одного сайта. Раз компьютер собран из самостоятельно выбранных вами запчастей, значит он уже не будет соответствовать какой-то модели и принадлежать какому-то производителю, потому что это уже ваше творение 🙂 Поэтому драйвера придётся искать отдельно для всех устройств, из которых был собран компьютер. Сюда же можно отнести тот случай, когда после покупки готового (уже собранного) компьютера вы через какое-то время решили заменить какие-то «железяки».

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

О том, что такое драйвера рассказано в статье:

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

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

И чтобы установить драйвера в этом случае есть несколько вариантов.

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

Вариант №1. Поиск драйверов вручную по коду устройств через сайт devid.drp.su

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

Предположим, что в диспетчере устройств мы видим примерно вот такую картину:



Т.е. на компьютер не установлены драйвера для нескольких устройств. Однако определить через диспетчер устройств, для каких именно устройств нет драйверов проблематично, потому что в названиях как-то всё размыто. Можно лишь примерно понять. Например, «Ethernet-контролер» – это скорее всего сетевая карта для подключения проводного интернета. «Сетевой контроллер» — это, вероятно Wi-Fi адаптер, т.е. сетевая карта для доступа к интернету через Wi-Fi.

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

Рассмотрим пару примеров, как найти драйвера вручную по коду устройств:

В начале я найду драйвер для непонятного устройства «PCI-контроллер Simple Communications».

  1. Определяем код устройства, для которого хотим найти драйвер.

    Чтобы определить код устройства, кликаем по нему в диспетчере устройств правой кнопкой мыши и из появившегося меню выбираем «Свойства»:



    В открывшемся окне выберите вкладку «Сведения», а затем ниже, под надписью «Свойства», выберите «ИД оборудования»:



    В первую очередь пробуем искать по коду из самой нижней (4-й) строчки. Кликните правой кнопкой ниже по 4-й строке с кодом и выберите «Копировать».

  2. Пробуем найти драйвер по коду на сайте devid.drp.su.

    После того как скопировали код, открываем сайт:

    Devid.drp.su

    Попробуем найти драйвер на нём. Этот сайт относится к программе DriverPack Solution, которая собирает в себя практически все возможные драйвера. Здесь с большой долей вероятности можно найти драйвер для любого устройства.

    Открыв сайт, первое, что вам нужно сделать – вставить в самую верхнюю длинную строчку скопированный на предыдущем шаге код устройства и удалить в этом коде всё что идёт от символа «&» и до конца.

    Например, вы копировали код:
    PCI\VEN_8086&DEV_0166&CC_0300

    Значит после удаления символов от «&» у вас должен остаться код:
    PCI\VEN_8086&DEV_0166

    Далее под строчкой где указывали код, выбираем версию Windows, которая установлена на вашем компьютере и указываем разрядность:



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



    В открывшейся программе, в окне слева, выберите «Сведения о системе» и справа в строке «Имя ОС» отобразится версия вашей Windows (в моём примере на изображении ниже «Windows 10»), а в строке «Тип» — разрядность: x64 или x86:



    На основе этих данных и указываем тип и разрядность системы на сайте devid.drp.su.

    После того как код устройства указан и версия Windows выбрана, нажимаем кнопку «Search Drivers».

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



    Обратите внимание!
    Если отображается несколько одинаковых драйверов (как на изображении выше), то скачивайте тот драйвер, у которого самая свежая дата выпуска в колонке «Версия драйвера».

    Кликнув по кнопке «Скачать», драйвер загрузится на ваш компьютер и останется его только установить. В установке драйверов нет вообще ничего сложного и этот момент я затронул в отдельной статье, вот здесь.

    Обратите внимание!

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



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

Как видим, драйвер было найти не сложно. Сейчас рассмотрю ещё один пример чтобы стало более понятно 🙂 Найду для примера драйвер для устройства, которое в диспетчере устройств обозначается как «Ethernet-контроллер».

Кликаю по устройству правой кнопкой мыши, открываю свойства:



В окне выбираю вкладку «Сведения», из списка выбираю пункт «ИД оборудования» и копирую код из 4-й строки:



Открываю сайт devid.drp.su, указываю там скопированный номер, удаляю в нём всё, начиная от символа «&». Далее выбираю версию Windows и выполняю поиск:



Для моего устройства и выбранной мной версии Windows отобразилась только одна версия драйвера, которую я могу скачать и установить:



Вот и всё!

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

Альтернативный вариант поиска драйверов по коду устройства

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

  1. Определяем код устройства. Точно также копируем код оборудования (4-ю) строчку:



  2. Ищем драйвер на различных сайтах.

    Теперь идём на сайт Google.com и прямо в поисковую строку вставляем скопированный код, после чего удаляем из кода символ «&» и всё что следует после него, например:

    PCI\VEN_8086&DEV_1C3A&СС_0780 = PCI\VEN_8086&DEV_1C3A

    Нажимаем кнопку поиска и перед нами отображается список сайтов, подходящих под наш запрос:



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

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

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

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

    А теперь рассмотрим парочку примеров скачивания драйверов с разных сайтов.

    Пример скачивания драйвера с сайта driver.ru:

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



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

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

    Имейте ввиду!
    Драйвера для Windows 8, Windows 8.1 и Windows 10 очень часто совместимы и, если вы, например, не смогли найти драйвера конкретно для Windows 8.1, то попробуйте установить драйвера для Windows 8. Или если не смогли найти драйвера для Windows 10, попробуйте установить от Windows 8.1 или Windows 8. Бывает также, что драйвера для Windows 7 будут совместимы с Windows 8, 8.1 и Windows 10. Т.е. можно пробовать устанавливать драйвера от разных систем.

    Рассмотрим пример процесса скачивания с этого сайта. Найдя нужный драйвер, кликаем по кнопке скачивания внизу:



    В следующем окне вам нужно подтвердить, что вы не робот, поставив галочку в указанном месте (см. изображение ниже). Затем нажмите внизу кнопку «Скачать»:



    И наконец, на очередной странице увидим в самом верху ссылку на скачивание в виде названия файла с расширением:



    Кликаем по ней и скачиваем файл.

    Пример скачивания драйвера с сайта members.driverguide.com:

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



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

    Для скачивания файлов с этого сайта используются кнопки «Free Download»:



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

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

    Вам нужно кликнуть по ссылке с указанием имени и объёма файла для скачивания:



    В следующем окне в центре появится окошко, для подтверждения того, что вы реальный человек, а не программа 🙂 Вам нужно дождаться загрузки содержимого окна и нажать кнопку «Показать»:



    Откроется новое окно, где снова несколько секунд ожидаем загрузки содержимого. В окне появится код рядом с надписью: «Введите». Этот код нужно переписать в точности как есть в строку ниже («Your Answer») и нажать «Return to Page»:



    Вас вернёт на первоначальную страницу где теперь появится кнопка «Continue». Нажав её начнётся загрузка драйвера на компьютер:



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

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

Вариант №2. Поиск драйверов на официальных сайтах производителей устройств

Если у вас не получилось найти драйвера для ваших устройств по 1-му варианту, то это можно сделать ещё вот таким способом.

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

Возьмём такой пример. В диспетчере устройств у меня видно, что не установлен в системе драйвер на видеокарту и ещё на какое-то непонятное устройство:



Как определил, что на видеокарту? А потому что если в списке устройств в разделе «Видеоадаптеры» есть устройство «Стандартный VGA графический адаптер», значит нет драйвера на видеокарту, иначе устройство имело бы название вашей видеокарты, например «NVIDIA GeForce GTX980».

Давайте рассмотрим последовательность ваших действий:

  1. Узнаём производителя и модель устройства.

    Обратите внимание!
    Если в диспетчере устройств у вас имеется «Неизвестное устройство», то вероятно не установлен драйвер для какого-то устройства материнской платы или же специальная программа для материнской платы. Следовательно, нужно сначала установить все драйвера для вашей материнской платы и программы для неё.

    Если вы собирали компьютер из отдельных комплектующих, то у вас могли остаться документы по каждому приобретённому устройству, где указано то что нам нужно – производитель и модель. Если документации никакой не осталось, то узнать модель поможет одна из программ, определяющих железо вашего компьютера. Я рекомендую Aida64, либо Sysinfo Detector. Первая – платная, но есть вы можете воспользоваться ей бесплатно в течение 30 дней. А у второй есть полностью бесплатная редакция. Если думаете, что выбрать, то выбирайте временно – Aida64, поскольку качество у этой программы всё-таки повыше будет.

    Как устанавливать и пользоваться программой Aida64 рассказано в статье:

    Как получить полную информацию об устройствах компьютера при помощи Aida64!

    Как устанавливать и пользоваться Sysinfo Detector рассказано в статье:

    Узнаём всю информацию о железе компьютера при помощи бесплатной программы Sysinfo Detector!

    Для новичков я рекомендую установить Aida64, поскольку она более информативная чем её аналог.

    Если вы определяете устройства через программу Aida64 то определить что за устройства без драйверов можно, выбрав слева раздел «Устройства > Устройства Windows» и затем справа открыть категорию «Unknown» (неизвестные). Внизу появится информация о выбранном устройстве:



    Итак, в моём примере неизвестное устройство имеет название «Asus ATK-110 ACPI Utility».

    Выше я упоминал, что неизвестное устройство – это скорее всего что-то на материнской плате, поэтому определим сразу, какая материнская плата в устройстве. Для этого открываем раздел «Системная плата» и переходим в такой же подраздел. Справа в окне увидим производителя и модель системной платы: Asus P5KPL-AM EPU.



    Теперь разберёмся с видеокартой. Видеокарта, как правило, правильно определяется в Aida64 через раздел «Отображение» > «Видео PCI / AGP». Как видим, программа определила видеокарту: «nVIDIA GeForce GT 430»:



    Если вы смотрите устройства через Sysinfo Detector, то увидеть устройства с неустановленными драйверами можно 2-мя способами. Первый — в разделе «Отклонения»:



    Как видим, обнаружено то же устройство, что и через программу Aida64: ACPI/ATK0110

    И второй способ – в разделе «PCI-устройства» выбрать подраздел «Неизвестные устройства». Здесь программа увидела сразу 3 «проблемных» устройства и одно из них, как раз материнская плата: Asus P5KPL-AM EPU.



    Производителя и модель видеокарты лучше посмотреть в разделе «PCI-усройства». В списке найдите подраздел «Display controller»:



    Из примера видно, что производитель карты NVIDIA, а модель – GeForce GT 430.

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

  2. Ищем драйвер на сайтах-производителях устройств.

    Выяснили, что не хватает драйвера скорее всего для какого-то устройства на материнской плате, а может быть какой-то программы специально для материнской платы. Производитель платы – Asus, а модель в моём примере P5KPL-AM EPU. Раз производитель Asus, то искать будем на сайте официальном сайте Asus.

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



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



    Помимо драйверов, обращайте внимание и на раздел «Утилиты» (его видно в списке на изображении выше), потому что иногда «Неопознанное устройство» — это какая-то не установленная специальная программа для материнской платы. Лучше установить весь комплект для материнской платы, представленный на сайте, чтобы проверить, в этом ли была проблема.

    В этом примере продемонстрирован поиск драйверов для материнской платы. Если установить все драйвера и утилиты для неё, то «Неизвестное устройство» из диспетчера устройств должно пропасть.

    Теперь найдём драйвер для видеокарты. Судя по данным, взятым из программ Aida64 и Sysinfo Detector, производитель видеокарты – NVIDIA, а модель GeForce GT 430. Раз производитель NVIDIA, значит ищем официальный сайт этот компании точно также через Google:



    На сайте сразу видим раздел «Драйверы» и в нём пункт «Загрузить драйверы». Открываем:



    Откроется окно, где нужно указать данные о видеокарте. Тип продукта в моём примере «GeForce», если модель GeForce GT 430, то серия продуктов подходит «GeForce 400 Series». Тут не сложно сориентироваться. Далее в списке «Семейство продуктов» выбираем уже конкретно модель – «GeForce GT 430». И осталось выбрать только версию Windows, установленную на вашем компьютере и язык драйвера. Затем нажимаем «Поиск»:



    Откроется страница для загрузки нужного драйвера. Нажимаем кнопку «Загрузить сейчас»:



    На следующей странице принимаем условия соглашения и нажимаем кнопку «Принять и скачать»:



    Начнётся загрузка драйвера. Далее останется запустить скачанный файл и выполнить установку.

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

В крайнем случае, если, к примеру, не удаётся найти драйвера на официальном сайте, вы можете поискать их и на других сайтах, указав в поиске Google примерной такой запрос: «драйвер для Asus P5KPL-AM EPU». Вместо Asus P5KPL-AM EPU вам, соответственно, нужно указать производителя и модель именно вашего устройства, для которого ищите драйвера.

Пример:



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

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

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

Автоматическая установка драйверов при помощи программы DriverPack Solution!

Всего Вам доброго! До встречи в других статьях 🙂

1. Общие сведения о драйверах устройств в системе Windows.

1. Общие сведения о драйверах устройств в системе Windows.

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

• Фактически, пользовательские программы либо системные утилиты не могут напрямую обращаться к аппаратуре, используя порты ввода-вывода, DMA либо подобные низкоуровневые механизмы напрямую. Этот факт следует из самой идеологии защищенного режима современных ОС: все программы пользователя и часть ОС работают в 3-м кольце защиты компьютера (наименее привилегированном). При этом любая команда обращения к порту из данной программы может быть замаскирована и повлечет за собой аппаратное исключение (Exception). Напрямую к аппаратуре может обратится программа, работающая в самом приоритетном, 0-м кольце защиты.

• В настоящее время практически все устройства используют технологию автоматического распределения ресурсов (портов ввода-вывода, запросов на прерывания и т.п.) — Plug and Play (PnP). Когда новое устройство, например, та же звуковая карта, будет добавлена в систему, ей будут выделены те ресурсы, которые в данный момент свободны — незадействованные линии запросов на прерывание (IRQ), свободные адреса портов ввода-вывода. Поэтому драйвер изначально «не знает», какие именно адреса портов и IRQ ему будут выделены — эти данные будут различными для разных компьютеров. При этом задача распределения ресурсов ложится на ОС.

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

На данный момент наиболее распространены два семейства ОС Windows: Windows NT, куда относятся Windows NT, 2000, XP, и Windows 9x (Win 95, 98, ME). При этом отмечается тенденция к отмиранию ветки 9х, хотя такие системы будут встречаться еще достаточно долго. Каждая ветка использует свою архитектуру ядра и подсистемы ввода-вывода. Поэтому естественно, написание драйверов для этих систем должно отличаться.

В Windows 9x долгое время использовались .vxd–драйвера. Эта модель драйверов начинает свою историю еще с Windows 3.1. Для .vxd–драйверов сохранилась совместимость «снизу вверх»: т.е. драйвер, написанный под Windows 3.1, будет нормально работать и под Windows 95, а может быть, и 98. Функции драйверов .vxd используются как Win32, так и Win16 приложениями.

В Windows NT 4.0 появилась своя архитектура драйверов. Она ставила перед собой цели повышения устойчивости работы драйвера, переносимости с одной платформы на другую, поддержки многопроцессорности т.п. Вместе с тем архитектура драйверов Windows NT 4.0 была, что называется, «сырой» и недоработанной, хотя и очень перспективной. С выходом систем Win98 и Win2000 появилась новая архитектура драйверов — WDM (Windows Driver Model). Она развилась из архитектуры драйверов Windows NT 4.0 с небольшими изменениями. WDM – драйвера с равным успехом могут быть использованы как в Win 98, так и в Win 2000.

Система Win 98 состоит как бы из двух слоев: User Mode (режим пользователя) и Kernel Mode (режим ядра). В режиме пользователя функционируют пользовательские приложения. Они работают в 3-м кольце защиты; каждая программа работает в своем виртуальном адресном пространстве. Для каждого DOS или Windows–приложения создается своя виртуальная машина (Virtual Machine, VM), задачей которой является виртуализация аппаратуры компьютера для данного приложения. Т.е. каждое приложение считает, что вся оперативная память и все остальные аппаратные ресурсы принадлежат только ему и приложение может обратиться к ним в любой момент. Ядро ОС содержи диспетчер виртуальных машин (Virtual Machine Manager, VMM). Задача VMM — корректно разрешать конфликты, возникающие при доступе к ресурсам системы из разных VM. Ядро, VMМ, виртуальные машины и драйвера виртуальных устройств (Virtual Device Drivers), естественно, работают в режиме ядра (Kernel Mode).

Рис. 1. Подсистема ввода-вывода Win 98.

В Windows 98 обработка запросов на ввод-вывод от приложений DOS и от старых Win16–приложений отличается от обработки запросов новых Win32–приложений. Для DOS–приложений создается своя виртуальная машина (DOS virtual machine), Win 16 и Win32 — приложения используют виртуальную машину Windows (System Virtual Machine). Обычно, когда приложение запрашивает операцию ввода-вывода (например, вызывает функцию API ReadFile — чтение из файла), этот запрос поступает в одну из системных DLL (в нашем случае — kernel32.dll). Оттуда запрос на операцию с внешним устройством передается сразу системным драйверам. Такая организация запроса Приложение?dll?Драйвер получила наибольшее распространение.

Система Windows 2000 имеет другую архитектуру, отличную от Win98. Это обусловлено повышенными требованиями к надежности, защите и переносимости этой системы (теоретически, Win2000 — переносимая система, и существуют реализации Win2000 под системы Alpha, MIPS и др.). В настоящее время именно благодаря этим особенностям Win2000 завоевывает все большую популярность, поэтому стоит рассмотреть особенности ее архитектуры подробнее.

Рис. 2 — главные компоненты Windows2000.

Окружение Win2000 включает компоненты, которые работают в режиме пользователя (User mode) и в режиме ядра (Kernel mode). В режиме пользователя работают подсистема защиты, подсистема Win32-архитектуры (обеспечивает стандартные API — вызовы Windows), подсистема POSIX (обеспечение кроссплатформенности). В режиме ядра работают все основные компоненты системы: диспетчер ввода-вывода (I/O manager), диспетчер конфигурации (Configuration Manager), подсистема PnP, диспетчер управления энергопотреблением (Power Manager), диспетчер памяти (Memory Manager) и прочие жизненно необходимые службы. Драйвера в Win2000 включены в подсистему ввода-вывода. При этом драйвера тесно взаимодействуют практически со всеми компонентами ядра. Драйвера взаимодействуют с аппаратурой при помощи Hardware Abstraction Level, HAL (уровень абстракции аппаратуры). HAL — программный компонент ядра Win2000, который обеспечивает интерфейс ядра (в том числе и некоторых драйверов) с аппаратурой. Т.к. Win2000 – платформенно независимая система (уже сейчас есть версии Win2000 для процессоров Alpha и RISC), то HAL избавляет ядро от непосредственного общения с кэшем, прерываниями, шинами ввода-вывода и большинством прочих устройств, оставляя эту работу драйверам, специально написанным для данной системы. Таким образом, ядро системы представляется набором отдельных изолированных модулей с четко определенными внешними интерфейсами.

Все драйвера NT имеют множество стандартных методов драйвера, определенных системой, и, возможно, несколько специфических методов, определенных разработчиком. Драйвера Windows 2000 используют архитектуру WDM (Windows Driver Model). В Windows 2000 драйвера бывают следующих типов:

• Kernel mode drivers (драйверы режима ядра). Основной тип драйвера. Такие драйвера используются для решения общих задач: управление памятью, шинами, прерываниями, файловыми системами, устройствами хранения данных и т.п.

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

• Multimedia drivers (мультимедиа-драйверы). Драйверы для :

 • Аудиоустройств — считывание, воспроизведение и компрессия аудиоданных.

 • устройств работы с видео — захват и компрессия видеоданных.

 • позиционных устройств — джойстики, световые перья, планшеты и пр.

• Network drivers (сетевые драйвера) — работа с сетью и сетевыми протоколами на всех уровнях.

• Virtual DOS Drivers — драйверы для виртуальных машин MS-DOS. Постепенно переходят в раздел рудиментарных.

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

• Device drivers (драйвера устройств), такие как драйвер клавиатуры или дисковый драйвер, напрямую общающийся с дисковым контроллером. Эти драйвера также называются драйверами низкого уровня, т. к. они находятся в самом низу цепочки драйверов Windows NT.

• Intermediate drivers (промежуточные драйвера), такие как драйвер виртуального или зеркального диска. Они используют драйверы устройств для обращения к аппаратуре.

• File system drivers (FSDs). Драйверы файловых систем, таких как FAT, NTFS, CDFS, для доступа к аппаратуре используют Intermediate drivers и Device drivers.

Драйвера Windows 2000 должны удовлетворять следующим требованиям:

• Переносимы с одной платформы на другую.

• Конфигурируемые программно.

• Всегда прерываемые.

• Поддерживающие мультипроцессорные платформы.

• Объектно-ориентированные.

• Поддерживать пакетный ввод-вывод с использванием I/O request packets (IRPs, запросы ввода-вывода).

• Поддерживать асинхронный ввод-вывод.

Система ввода-вывода Windows 2000 имеет следующие особенности:

• Менеджер ввода-вывода NT представляет интерфейс для всех kernel-mode драйверов, включая драйвера физических устройств, драйвера логических устройств и драйвера файловых систем.

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

• Разработчик драйвера обязан реализовать несколько стандартных функций, к которым будет обращаться диспетчер ввода-вывода (I/O manager).

Установка периферийных устройств и проверка работоспособности

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

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

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

Установка периферийного устройства выполняется в несколько этапов. Порядок и тип этих шагов зависит от типа физического подключения и от того, относится ли устройство к типу автоматически настраивающихся (PnP). Предусмотрены следующие шаги:

  • подсоединение периферийного устройства к узлу с помощью соответствующего кабеля или беспроводного соединения;

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

  • установка соответствующего драйвера.

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

Драйверы самонастраивающихся USB-устройств в системе уже имеются. В таком случае при подключении и включении операционная система распознает устройство и устанавливает соответствующий драйвер.

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

Если подключенное и установленное периферийное устройство не работает, убедитесь, что все кабели правильно подключены и устройство включено в сеть.

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

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

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

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

Далее: MAC и IP. Протокол разрешения адресов ARP

Сертифицированные Dell драйверы для рабочих станций Dell Precision

Сертифицированные Dell драйверы для рабочих станций Dell Precision

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

Часто задаваемые вопросы по сертифицированным драйверам независимых поставщиков ПО Dell

1. Что такое ISV?
Независимый поставщик программного обеспечения (ISV) — это компания-разработчик ПО, предназначенного для профессиональных рабочих станций, таких как Dell Precision™.

2. Что такое сертифицированный драйвер?
Сертифицированный драйвер отличается от стандартного тем, что первый был специально протестирован на конкретной операционной системе с конкретной графической платой при выполнении именно ваших приложений. Тестирование выполняется поставщиком и/или корпорацией Dell.

3. Если имеется драйвер, более новый по сравнению с сертифицированным, следует ли использовать новый?
Если ответить кратко, то НЕТ. Сертифицированный драйвер был протестирован в конкретной конфигурации и предназначен именно для вашего приложения. Другое дело, если драйвер был рекомендован вам авторизованным персоналом или он позволяет решить конкретную, возникшую у вас проблему. И самое главное, если вы сообщите о неполадке с несертифицированным драйвером, и вендор, и корпорация Dell порекомендуют вам использовать сертифицированный драйвер.

4. Как можно получить сертифицированный драйвер для приложения?
Dell предоставляет на сайте www.dell.com/support служебную программу, которая позволит скачать именно такой драйвер, который соответствует вашей конфигурации и приложению. Для получения драйвера Dell с сертификацией независимого поставщика ПО выполните следующие инструкции.

A. Выберите подходящий продукт. Вы можете получить доступ к драйверам для рабочих станций Dell Precision™, используя сервисный код или выбрав модель Precision.
Б. Откройте страницу продукта Precision.

В. Выберите раздел «Драйверы и загружаемые материалы».

Г. Найдите данные о графической плате, которая установлена в вашей системе.

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

Е. Перейдите по ссылке «Сертифицированные драйверы». Эта ссылка находится по центру страницы (не в правом и не в левом поле), ближе к ее нижней части.

Ж. Найдите свое приложение. Название приложения и является ссылкой на драйвер. Перейдите по этой ссылке.

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

Что такое драйвер — Драйверы для Windows

  • 4 минуты на чтение

В этой статье

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

Расширяя определение

Наше объяснение до сих пор упрощено в нескольких отношениях:

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

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

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

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

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

Программные драйверы

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

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

Дополнительные примечания

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

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

Наше объяснение до сих пор упрощает определение функционального драйвера . Мы сказали, что функциональный драйвер для устройства — это единственный драйвер в стеке, который напрямую взаимодействует с устройством. Это верно для устройства, которое напрямую подключается к шине Peripheral Component Interconnect (PCI).Функциональный драйвер для устройства PCI получает адреса, которые сопоставлены с ресурсами порта и памяти устройства. Функциональный драйвер напрямую связывается с устройством, записывая данные по этим адресам. Однако во многих случаях устройство не подключается напрямую к шине PCI. Вместо этого устройство подключается к адаптеру главной шины, который подключен к шине PCI. Например, USB-тостер подключается к адаптеру главной шины (называемому хост-контроллером USB), который подключен к шине PCI. USB-тостер имеет функциональный драйвер, а хост-контроллер USB также имеет функциональный драйвер.Функциональный драйвер тостера косвенно взаимодействует с тостером, отправляя запрос функциональному драйверу хост-контроллера USB. Затем функциональный драйвер хост-контроллера USB взаимодействует напрямую с оборудованием хост-контроллера USB, которое взаимодействует с тостером.

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

и его назначение

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

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

Как правило, это просто драйвер , также когда кто-то говорит Hardware Driver , который также относится к этому драйверу устройства .

Работа драйвера устройства:
Драйверы устройства зависят от инструкций операционной системы для доступа к устройству и выполнения какого-либо конкретного действия.После действия они также показывают свои реакции, доставляя выходные данные или статус / сообщение с аппаратного устройства в операционную систему. Например, драйвер принтера сообщает принтеру, в каком формате печатать после получения инструкции от ОС, аналогично там должен быть драйвер звуковой карты. в котором 1 и 0 данные файла MP3 преобразуются в аудиосигналы, и вы наслаждаетесь музыкой. Для работы устройства чтения карт, контроллера, модема, сетевой карты, звуковой карты, принтера, видеокарты, USB-устройств, оперативной памяти, динамиков и т. Д. Требуются драйверы устройств.


На следующем рисунке показано взаимодействие между пользователем, ОС, драйвером устройства и устройствами:

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

  1. Драйвер устройства в режиме ядра —
    Этот драйвер устройства в режиме ядра включает в себя некоторое общее оборудование, которое загружается с операционной системой как часть ОС, это BIOS, материнская плата, процессор и некоторое другое оборудование, являющееся частью программного обеспечения ядра.Сюда входят драйверы устройств с минимальными требованиями к системе для каждой операционной системы.
  2. Драйвер устройства пользовательского режима —
    Кроме устройств, которые предоставляются ядром для работы системы, пользователь также приносит некоторые устройства для использования во время использования системы, которой требуются драйверы устройств для функций, к которым эти драйверы относятся. Драйвер устройства пользовательского режима. Например, пользователю необходимо любое действие Plug and Play, подпадающее под действие этого правила.

Драйвер виртуального устройства:
Существуют также драйверы виртуальных устройств (VxD), которые управляют виртуальным устройством.Иногда мы используем одно и то же оборудование практически в то время, когда виртуальный драйвер контролирует / управляет потоком данных из разных приложений, используемых разными пользователями, на одно и то же оборудование.

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

Вниманию читателя! Не прекращайте учиться сейчас.Ознакомьтесь со всеми важными концепциями теории CS для собеседований SDE с помощью курса CS Theory Course по приемлемой для студентов цене и подготовьтесь к работе в отрасли.

Определение драйвера

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

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

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

Расширения файлов: .DRV, .DLL, .SYS, .KEXT

Обновлено: 4 апреля 2012 г.

TechTerms — Компьютерный словарь технических терминов

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

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

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

Подписаться

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

Что означает драйвер устройства?

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

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

Драйвер устройства также может называться программным драйвером.

Techopedia объясняет драйвер устройства

Единственная цель драйвера устройства — указать компьютеру, как взаимодействовать с устройством ввода / вывода (I / O), переводя инструкции ввода / вывода операционной системы на язык, понятный устройству.Существуют различные типы драйверов для устройств ввода-вывода, таких как клавиатуры, мыши, приводы CD / DVD, контроллеры, принтеры, графические карты и порты.

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

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

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

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

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

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

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

Карты и драйверы

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

Та же общая идея применима к видеокартам, клавиатурам, мониторам, мышам, дисководам и т. Д.

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

Как работают драйверы устройств?

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

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

Драйверы устройств и совместимость

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

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

Как управлять драйверами устройств

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

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

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

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

Общие задачи драйвера

Вот несколько распространенных задач в Windows, связанных с драйверами:

Вот несколько дополнительных ресурсов, связанных с драйверами:

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

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

Когда драйвер устройства нужен или не нужен

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

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

Различные типы драйверов устройств

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

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

Файлы .SYS

Windows использует файлы .SYS в качестве загружаемых драйверов устройств, то есть их можно загружать по мере необходимости, чтобы они не всегда занимали память — другие драйверы находятся в формате DLL или EXE. То же самое и с модулями Linux .KO.

Файлы SYS в Windows 8.

WHQL

WHQL — это процесс тестирования Microsoft, который помогает доказать, что конкретный драйвер устройства будет работать с определенной версией Windows. Вы можете увидеть, что загружаемый вами драйвер сертифицирован или не сертифицирован WHQL.Вы можете узнать больше о Лаборатории качества оборудования Windows здесь.

Драйверы виртуальных устройств

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

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

Спасибо, что сообщили нам!

Расскажите, почему!

Другой Недостаточно подробностей Сложно понять

Business Drivers — Руководство по анализу драйверов бизнеса

Что такое Business Drivers?

Движущие силы бизнеса — это ключевые факторы, влияющие на производственные и финансовые результаты бизнеса.Типичными примерами движущих сил бизнеса являются продавцы, количество магазинов, посещаемость веб-сайта, количество и цена проданных продуктов, единицы продукции и т. Д. Для того, чтобы сделать внутренний выбор в отношении бизнес-стратегии, стратегии и руководства по бизнес-стратегии. Прочтите все статьи и ресурсы CFI по бизнесу и корпоративной стратегии, важным концепциям, которые финансовые аналитики могут использовать в своем финансовом моделировании и анализе. Преимущество первопроходца, 5 сил Портера, SWOT-анализ, конкурентное преимущество, рыночная сила поставщиков или построение финансовой модели Что такое финансовая модель? Финансовая модель представляет собой представление прошлых и будущих результатов компании на основе ее активов и операций.Узнайте: что такое финансовая модель? Чтобы ценить компанию, очень важно хорошо понимать основные движущие силы бизнеса.

Примеры бизнес-драйверов

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

Вот список типичных бизнес-факторов:

  • Количество магазинов или местоположений
  • Средний размер (т. Е. Квадратных футов) на одно место
  • Количество проданных продуктов (объем)
  • Цены на проданные продукты / услуги
  • Количество продавцов
  • Эффективность продавцов
  • Объем трафика на веб-сайт
  • Скорость конверсии трафика на веб-сайт
  • Производительность на производстве
  • Показатели эффективности и время простоя
  • Затраты на электроэнергию и электричество
  • Аренда и офисные помещения
  • Заработная плата на одного сотрудника
  • Комиссионные, гонорары и прочие коммерческие расходы
  • Обменные курсы
  • Цены на сырьевые товары (e.(например, масло, медь, целлюлоза, резина и т. д.)

Как определить, что являются движущими силами бизнеса

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

Начните с просмотра финансовой отчетности компании и задайте вопрос: «Что движет этой статьей?»

Возьмем, к примеру, доход.

Q: Для компании, занимающейся розничной продажей кирпича и раствора (например,g., компания по производству одежды для йоги), что приносит доход?

A: Объем проданной продукции, умноженный на среднюю цену

Q: От чего зависит объем?

A: Количество продуктов и количество продавцов

Q: Что движет количеством продавцов?

A: Количество магазинов и размеры магазинов

Q: Что определяет количество магазинов?

A: Это основной движущий фактор бизнеса.Открывать больше магазинов или нет — это оперативное и капитальное решение, поэтому ему ничего не предшествует.

Количество магазинов является одним из ключевых факторов развития этого бизнеса.

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

Мониторинг и повышение эффективности бизнеса

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

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

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

Отчетность о драйверах бизнеса

Для любого профессионала, занимающегося финансовым планированием и анализом (FP&A), большая часть работы будет составлять отчеты по ключевым факторам бизнеса с помощью диаграмм, графиков и таблиц.

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

Приведенный выше снимок экрана взят из курса CFI Dashboards and Data Visualization, в котором рассказывается, как создать информационную панель с нуля.

Приложения в финансовом моделировании и оценке

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

После того, как модель из трех отчетов связана, модель дисконтированного денежного потока DCFПроведите меня через DCF Вопрос, проведите меня через DCF-анализ часто встречается в собеседованиях по инвестиционному банку. Узнайте, как ответить на вопрос, с подробным руководством CFI. могут быть построены так, чтобы ценить бизнес. Расширенное моделирование, такое как анализ чувствительности Что такое анализ чувствительности? Анализ чувствительности — это инструмент, используемый в финансовом моделировании для анализа того, как различные значения набора независимых переменных влияют на зависимую переменную, финансовые структуры и транзакции, такие как слияния и поглощения (M&A). тоже быть сделано.

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

Дополнительные ресурсы

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

Для продолжения обучения и развития ваших навыков будут полезны следующие бесплатные ресурсы CFI:

  • Конкурентное преимуществоКонкурентное преимуществоКонкурентное преимущество — это атрибут, который позволяет компании превосходить своих конкурентов.
  • Корпоративная стратегияКорпоративная стратегияКорпоративная стратегия фокусируется на том, как управлять ресурсами, рисками и доходностью в рамках всей фирмы, а не на поиске конкурентных преимуществ в бизнес-стратегии
  • Как 3 финансовых отчета связаныКак 3 финансовых отчета LinkedКак связаны между собой 3 финансовых отчета? Мы объясняем, как связать 3 финансовых отчета вместе для финансового моделирования и
  • Бесплатное руководство по финансовому моделированию Бесплатное руководство по финансовому моделированию Это руководство по финансовому моделированию содержит советы и передовые практики Excel по предположениям, драйверам, прогнозированию, связыванию трех отчетов, анализу DCF и т. Д.

Какие есть драйверы? Что делает водитель?

Если вы пользовались компьютером, то наверняка слышали о драйверах.Однако знаете ли вы, что такое драйвер? Более того, что делает его таким важным для работы компьютера? Даже если вы имеете представление о том, что такое драйвер и что он делает, знаете ли вы, как лучше всего обновлять драйверы? Что лучше: оставить драйверы, предлагаемые Windows, или установить свои собственные? Это все вопросы, на которые мы даем простые и понятные ответы в этой статье:

Какие драйверы?

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

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

Какие драйверы? Что делает водитель?

Что делает водитель?

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

Или представьте, что у вас есть документ, который вы хотите распечатать на принтере.Вы можете редактировать документ в Word или любом другом текстовом редакторе, который вам нравится. После этого вы нажимаете кнопку Print и ждете, пока документ выйдет из принтера. Текстовый редактор — это приложение, которое просит операционную систему распечатать документ. Операционная система берет документ и просит драйвер принтера распечатать документ. Драйвер берет документ и переводит его на язык, понятный принтеру. Наконец, принтер распечатывает документ и доставляет его пользователю.

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

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

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

Ответ на этот вопрос не может быть более однозначным: вам нужны драйверы устройств, чтобы можно было использовать ваши устройства. Как вы уже знаете из нашего предыдущего определения «что такое драйвер», нашему компьютеру нужны драйверы, чтобы иметь возможность взаимодействовать с подключенными к нему устройствами.Без правильного драйвера устройство — не что иное, как неработающее оборудование. Вероятно, поэтому драйверы устройств называются драйверами. 🙂

Где взять драйверы для своих устройств?

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

Если в Windows нет подходящего драйвера для вашего нового устройства, можно также использовать Центр обновления Windows для поиска драйвера в Интернете. Если на серверах Microsoft есть драйвер для вашего устройства, вы должны дождаться его загрузки и установки.

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

Это простые варианты поиска и установки драйверов для ваших устройств в Windows.Однако иногда драйверы не могут быть найдены в библиотеке Windows или на серверах Microsoft Windows Update. Что вы можете сделать, если вам «повезло» или вы хотите использовать конкретный драйвер, отличный от того, который установлен Windows? Ответ заключается в том, что вы также можете найти драйверы на веб-сайте поддержки производителя вашего устройства.

Вот пример видеокарты, которая у нас есть: AMD Radeon RX 5700. Лучшее место для получения драйвера для нее — это официальная страница поддержки AMD. Многие производители, включая AMD, предлагают средство обнаружения, которое автоматически определяет и загружает нужные драйверы для вашего устройства.

Как найти подходящий драйвер для видеокарты

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

Утилита установки драйвера, автоматически определяющая графическую карту

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

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

Стоит ли обновлять драйверы?

Хотя многие люди думают, что старая поговорка «не сломалась — не чини» применима и к драйверам, мы склонны не соглашаться.Обычно драйверы обновляют компании-производители оборудования, потому что они:

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

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

Хорошая новость заключается в том, что если вы используете Windows 10, для вас автоматически загружаются и устанавливаются важные обновления драйверов. Возникает следующий вопрос:

Какие драйверы мне нужны? Должен ли я использовать драйверы Windows или мне следует установить свои собственные?

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

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

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

У вас есть еще вопросы по драйверам?

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

Leave a comment