Rambler's Top100

Реклама на сайте | Реклама в Интернет | "Все Кулички"


Главная страница
Все о компьютерном "железе"
Вся полезная информация
Эрудиту
Гарантированная продажа рекламных мест
Цены магазинов Москвы на ноутбуки и мобильные компьютеры
Мои разработки и переводы
Микроконтроллеры >>
Мои разработки
Полезные конструкции
Программаторы
FAQ по ПИКам
"Глюки" ПИКов
Ссылки
Железо и драйвера >>
Статьи и FAQ
Ссылки на статьи
Определение конфигурации
Настройка компонентов ПК
Утилиты для накопителей информации
Ремонт "железа"
Восстановление информации
Полезный софт
Операционные системы
Безопасность и защита информации
Радиоэлектроника
Программирование >>
Техдокументация
Разработчику программ
Мобильники
Вебмастеру
Поиск информации
On-Line перевод
Обмен ссылками, сотрудничество
Немного о себе
Контакты
Гостевая книга
Форум

Поиск на сайте
Поиск на Куличках:

Сделать стартовой страницей

Реклама:

(!) MP3 плееры всех видов. Возьми с собой 6 обычных Audio-CD на одном(!!!) MP3-CD
Телевизоры, DVD-плееры, видеомагнитофоны, видео-плееры. Аппаратура Hi-End класса


rax.ru: показано число посетителей за сегодня

Рейтинг@Mail.ru

RadioTOP-рейтинг радиотехнических сайтов
PROext: Top 1000
ENGLISH version
Доброе утро! Суббота, 20 апреля 2024
КОЕ-ЧТО О ДРАЙВЕРАХ
Источник: Белорусский "железный" сайт
Публикуется с разрешения администратора

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

Что это такое

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

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

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

Драйверы и Windows

В операционных системах Microsoft Windows драйвер состоит из нескольких файлов, хранящихся обычно в каталогах SYSTEM, SYSTEM32 и их подкаталогах. Ядро драйвера хранится в файлах с расширениями .VXD, .DRV, .SYS и некоторых других, а дополнительные процедуры собраны в динамические библиотеки .DLL. Кроме того, в состав драйвера могут входить файлы справки, утилиты, модули деинсталляции и т.д.

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

Windows умеет автоматически находить драйвер для устройства. Для этого она использует технологию Plug&Play, точнее, ее часть, отвечающую за самоидентификацию устройства. В частности, PCI-устройства обнаруживаются BIOS и заносятся в виде списка в специальную область ESCD (Extended System Configuration Data). Windows может использовать ее, а может и самостоятельно опросить шину PCI и узнать у каждого устройства коды его производителя, модели и версии, необходимые ресурсы и другую информацию. Далее проверяется база данных (файлы DRVDATA.BIN и DRVIDX.BIN) по всем известным устройствам и находится необходимый .INF-файл. Если в каталоге .INF имеются новые файлы, они будут автоматически проиндексированы и внесены в базу данных.

Следует также помнить, что операционные системы Windows 98 SE и Windows 2000, равно как и их потомки, поддерживают новую модель драйверов, получившую название WDM (Windows Driver Model). Это – попытка реализовать полную поддержку Plug&Play и ACPI, то есть дать возможность загружать и выгружать драйверы «на ходу», без перезагрузки системы, подключать их в виде фильтров-расширений к стандартным драйверам Microsoft, более гибко управлять энергосбережением и конфигурацией устройств и т.п. WDM-драйверы хранятся в каталоге SYSTEM32/DRIVERS. В частности, интерфейсы нового поколения USB и IEEE-1394 (FireWire) работают только под управлением WDM-драйверов.

«Референс» или «фирменные»?

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

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

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

Версии драйверов

Закладка 'Версия'

Как и любое другое программное обеспечение, драйверы имеют свои версии. Формат версии свободный – каждый разработчик сам решает, сколько ему нужно цифр для нумерации и в какой последовательности они должны стоять. В некоторых случаях все-таки есть система: Windows-драйверы для наиболее интересных с нашей точки зрения устройств вроде игровых видео- и звуковых карт, поддерживающих DirectX, нумеруются определенным образом. Первая цифра – номер версии операционной системы Windows. 4 = Win9x/WinNT, 5 = Win2000. Далее после точки идет версия DirectX. 12 = DX7, 13 = DX8. Последние цифры – номер версии самого драйвера. Например, представленный на скриншоте драйвер для видеокарт nVIDIA имеет версию 4.13.01.1241, что означает предназначен для Win9x и DirectX8, его версия – 1241.

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

Иногда производители сопровождают драйвер своим инсталлятором (setup.exe, install.exe и т.п.). Тогда увидеть файлы драйвера не представляется возможным. Поищите файл readme.txt, version.txt, release.txt или что-нибудь подобное, так как в них часто тоже указаны версии файлов или всего комплекта.

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

Чтобы предотвратить сбои в системе из-за бета-драйверов, Microsoft ввела специальную сертификацию. Драйверы тестируются в лаборатории Microsoft Windows Hardware Quality Lab (WHQL), и после успешного прохождения всех процедур они получают сертификат. Он имеет вид файла типа “Security Catalog” (расширение .CAT), в котором перечислены все сертифицированные компоненты драйвера. Если такого файла в комплекте драйвера нет, то очень велика вероятность, что это бета-версия.

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

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

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

Все чипы обязательно имеют маркировку, где указано название производителя, модель, серия, версия и ревизия чипа, дата выпуска. Микросхемы чипсета обычно имеют самое сложную структуру, у них большой корпус и много контактов, поэтому они больше других чипов по размерам. По маркировке, пользуясь поисковиками www.google.com, www.altavista.com, www.yandex.ru и другими, можно достаточно быстро отыскать сайт производителя чипсета и “reference”-драйверы.

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

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

В-третьих, если устройство устанавливается в слот PCI или AGP, то с помощью утилит можно определить код производителя этого устройства или чипсета. Могу порекомендовать Sandra, PowerStrip. Принцип, положенный в основу идентификации, базируется на анализе информации, выдаваемой PCI-устройством. Как минимум можно получить коды производителя (Vendor ID) и модели (Device ID), которые поддаются расшифровке с помощью таблиц. В частности, в таблице Sandra содержится более 6 тыс. кодов различных устройств.

Где взять драйвер

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

Если вы точно знаете доменное имя сайта производителя (или догадываетесь – www.производитель.com, www.производитель.com.tw), то можно начинать поиск. На титульной странице отыщите кнопку “Download”, “Drivers”, “Support” или аналогичную. Далее предстоит выбрать из списка именно то устройство, которое у вас имеется. Вполне возможно, что вы увидите несколько устройств с совпадающими названиями, отличия которых будут заключаться только в суффиксах или даже номерах ревизий. Обращайте на это внимание, иначе драйвер может не подойти. Далее, по возможности скачивайте драйверы не только для той операционной системы, которая у вас установлена, но и для других ОС: во время инсталляции новой Windows будет неприятно обнаружить факт отсутствия необходимого драйвера.

Если вам никак не удается найти нужный сайт, обращайтесь на специализированные драйверные сайты (www.windrivers.com, www.driverhq.com, www.drv.ru и т.д.). Скачивать оттуда непосредственно файлы драйвера можно только в одном случае: фирма-разработчик уже прекратила свое существование и ее сайта физически нет в Сети. Гораздо лучше воспользоваться поиском не драйвера, а сайта производителя или его страницы технической поддержки.

Как установить

Установка драйвера заключается в следующем: Windows обнаруживает .INF-файл, отыскивает в нем строки идентификации Plug&Play-устройств, и если они совпадают с информацией, выданной самим устройством, система выполняет предписанные действия по копированию файлов, добавлению записей в реестр и т.д. Вы должны указать местоположение файла в ответ на запрос мастера обновления оборудования. Мастер запускается либо автоматически, после появления сообщения о найденном устройстве, либо вручную. В последнем случае зайдите в «Свойства системы» (нажать я+Pause), выбирайте закладку «Управление устройствами», потом свойства нужного устройства, закладку «Драйвер», «Обновить драйвер».

Если в комплекте с драйвером есть свой инсталлятор, то лучше воспользоваться им. Для этого нужно после появления сообщения о найденном устройстве нажать «ESC», загрузить Windows без драйвера и запустить инсталлятор. Он скопирует все файлы драйвера в папку Windows\INF\Other, где драйвер и будет найден после перезагрузки. Кроме того, будут установлены дополнительные программы, идущие в комплекте. Немаловажно также и то, что в большинстве случаев инсталлятор может корректно убрать драйвер, не оставив следов своего пребывания («Панель управления»/«Установка и удаление программ»).

Как удалить вручную

Если установленный вами драйвер не справляется со своими функциями и даже вызывает ошибки и сбои, его нужно удалить. Просто нажать «DEL» в списке устройств, а потом дождаться сообщения о новом устройстве?.. Иногда это помогает, иногда – нет. Дело в том, что Windows может следующий раз и не спросить у вас драйвер, а просто проинформировать о найденном устройстве и тут же вернуть все на место. Для удаления информации о драйвере потребуется дополнительно выйти в DOS, зайти в каталог Windows/Inf и найти там .INF-файл нужного (точнее, уже ненужного) драйвера и удалить его. Вслед за ним можно отправить и .VXD-файлы, которые обычно находятся в Windows/System, но тут нужно проявить аккуратность, так как можно и перестараться. Теперь после перезагрузки Windows обновит свою базу данных и не найдет старого драйвера, а значит, можно устанавливать новый или возвращать на место старый, хорошо работавший до того, как вы начали ремонтировать то, что не сломалось.

И еще

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

Наверх | К списку статей | На главную страницу


Полное или частичное воспроизведение любых материалов, содержащихся на этом сайте, допускается только с письменного разрешения администрации. Авторские права на опубликованные на сайте материалы принадлежат их владельцам.
Замечания? Предложения? "Мертвые" ссылки? Проблемы с загрузкой страниц? Пишите вебмастеру или в гостевую книгу
Designed by Эfir studio | © 2002-03 Yuri Lysenkov