Что Такое Драйверы И Откуда Они Взялись?

Опубликованно: 21/06/2010 |Комментарии: 0 | Показы: 176 |

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

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

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

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

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

Архитекторы IBM нашли более элегантное решение: API - Application Programm Interface (программный интерфейс приложений). Коротко суть идеи вот в чем: придумывается некий стандартный "язык" на котором все приложения должны сообщать команду устройству, возвращаясь к примеру с видеокартой, придумывается набор методов рисования, вызывая которые приложение может рисовать на экране некие примитивы: точку, линию, прямоугольник, текст. Из этих методов разработчики операционной системы составляют целые библиотеки и бесплатно распространяют для всех ключевых, на данный момент, языков программирования.

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

ДОБАВИТЬ("библиотека_видеопроцедур");
НАРИСОВАТЬ_ЛИНИЮ(0,0,100,100);

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

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

1. Приложение вызывает API-метод операционной системы.
2. Операционная система обращается к драйверу видеокарты и на стандартном языке дает инструкции по рисованию примитива.
3. Драйвер видеокарты, используя низкоуровневый, уникальный для этой модели видеокарты, язык, дает ей (видеокарте) инструкции для рисования примитива.
4. Видеокарта преобразует цифровой сигнал от драйвера в электрический ток, который передается монитору.
5. Монитор, интерпретируя сигнал, пришедший ему, рисует изображение.

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

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

Автор: Kosmich
Оригинал статьи: Цератопс.ру

Источник статьи: http://www.rusarticles.com/programmy-statya/chto-takoe-drajvery-i-otkuda-oni-vzyalis-2692910.html

Обсудить статью

В статье дан поверхностный анализ операционным системам корпорации Microsoft, начиная с ОС MS-DOS и заканчивая системой Windows XP. Операционные системы MS Windows Vista/Se7en не рассматриваются в виду отсутствия опыта работы с ними.

От: promtxtl Компьютеры> Программыl 30/10/2009 lПоказы: 192

Статья-руководство для неопытных пользователей об установке (переустановке) популярной операционной системы Windows XP.

От: Кузьменко Андрейl Образование> Курсыl 11/09/2009 lПоказы: 4,009

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

От: windowstatl Компьютеры> Программыl 16/03/2011 lПоказы: 211

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

От: chaica13l Компьютеры> Программыl 01/05/2013 lПоказы: 804

Бывают такие ситуации, когда привод для чтения дисков просто "исчезает" из операционной системы. Причём в BIOSе он определяется. С чем это связано? В большинстве случаев "виноваты" в этом различные программы для записи компакт-дисков, такие как Easy CD Creator или DirectCD, а также другое аналогичное ПО.

От: Василий Калашниковl Компьютеры> Ремонтl 25/11/2008 lПоказы: 8,222 lКомментарии: 5

Последние полгода были богаты анонсами всевозможных программных решений, в названиях которых присутствовало слово «нетбук». «Netbook edition», «netbook remix», «for netbooks», «netbooks compatible» – подобные надписи можно сегодня увидеть на коробках с самым разнообразным ПО. Мы же сейчас рассмотрим основные тенденции развития главного сегмента рынка программных продуктов для нетбуков – операционных систем.

От: sufanl Компьютеры> Ноутбуки и КПКl 19/12/2009 lПоказы: 179

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

От: softsobakal Интернетl 31/01/2013 lПоказы: 42

Небольшое сравнение двух операционных систем Windows и Linux. Их плюсы и минусы.

От: Vladimir Cartmanl Компьютеры> Программыl 01/08/2014

На данный момент операционные системы Windows и MacOS являются самыми популярными компьютерными ОС в мире. При этом, про обе системы существует масса мифов и предрассудков. В этой статье мы подробно сравним Windows 7 и Mac OS X.

От: Alexandrl Компьютеры> Программыl 12/08/2014

В этой статье Вы узнаете как легко и бесплатно можно ускорить свой компьютер

От: dzhemkvol Компьютеры> Программыl 28/06/2013 lПоказы: 563

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

От: Grig OKl Компьютеры> Программыl 26/06/2013 lПоказы: 862

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

От: dstepl Компьютеры> Программыl 03/06/2013 lПоказы: 196

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

От: dstepl Компьютеры> Программыl 24/05/2013 lПоказы: 188

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

От: Андрейl Компьютеры> Программыl 07/05/2013 lПоказы: 122

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

От: dstepl Компьютеры> Программыl 07/05/2013 lПоказы: 183

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

От: chaica13l Компьютеры> Программыl 01/05/2013 lПоказы: 1,006

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

От: chaica13l Компьютеры> Программыl 01/05/2013 lПоказы: 804

О существовании частного космического корабля знают далеко не все. Оказывается он уже долгие годы регулярно летает в космос.

От: kosmichl Образование> Физикаl 01/06/2010 lПоказы: 56

Решил разобраться в современном понимании процесса телепортации, современных достижениях, проблемах и перспективах этой идеи.

От: kosmichl Образование> Научные исследованияl 01/06/2010 lПоказы: 83
Блок автора
Категории статей
Quantcast