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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Автор статьи: неизвестный | Дата публикации: 23:01 24.03.2017 Stashinfo.Ru




Отзывы и комментарии
Ваше имя (псевдоним):
Проверка на спам:

Введите символы с картинки:



Как выращивать «щучий хвост»?

Как выращивать «щучий хвост»?


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


Вкусные рецепты: Закусочный торт "ЧЕТВЕРГ", Ягодный тарт, Беляши сочные

Вкусные рецепты: Закусочный торт "ЧЕТВЕР...


Закусочный торт "ЧЕТВЕРГ"Молоки и лук мелко порубить,Смешать с остальными ингридиентами и дать постоять минут 20 . Масло разогреть на сковороде и переложить смесь .Жарить на среднем огне,помешивая,15 ...


Когда поднялся в небо первый предшественник дельтапланов? Судьба изобретения Бориса Павлова-Сильванского

Когда поднялся в небо первый предшественник д...


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


Витамины

Витамины


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


Вкусные рецепты: Салат "Мимоза", Борщ с "крестьянским" горохом (нутом), Холодник на простокваше

Вкусные рецепты: Салат "Мимоза", Бо...


Салат "Мимоза"Салат так же укладываю слоями 1-й: рыбку размять вилкой и на дно ,но без масла 2-й: маринованый лук 3-й: майонез 4-й: белки яиц на крупной тёрке 5-й: м-з 6-й: масло сливочное на крупной ...


Отдых на двоих

Отдых на двоих


— Поехали ко мне?— Куда?— На дачу. — Я не против. А что мы там будем делать?— Растоплю баньку, попаримся, шашлыки приготовлю— Звучит классно. Когда?— В ближайшую субботу. Тебя устроит?— Да, я свободна...


Читаемые

Что такое сахарный диабет?!

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

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

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

Интернет для бизнеса во время кризиса

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

Преимущества и особенности шиберных задвижек

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

Вкусные рецепты: Хмельной вишневый пирог (без выпе

Хмельной вишневый пирог (без выпечки)Распустить масло на слабом огне. Для основы взять ржаные хлебцы,положить их в пакет и хорошо раскатать скалкой,пока хлебцы не раскрошатся.Высыпатькрошкив миску и х...

Сайты-сайты-сайты

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

Азбука воспитания детей. 3 важных правила.

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

Что такое fast-zoom в игре counter-strike и как с

Fast-zoom можно расшифровать по названию, это означает стрельба без прицела. В принципе можно стрелять вообще без зума, но в CS стрельба из авп без зума будет не ровно по центру а чуть левей или праве...

Двери из массива

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

Вкусные рецепты: Фаршированные кальмары "Лодо

Фаршированные кальмары "Лодочки" с гарниромКальмары помыть и обрезать "плавники". Хлебный мякиш залить молоком. Смешать: мякиш хлеба,яйцо,сыр тёртый,петрушку,анчеусы,перец и соль(по - вкусу,немного,т....

Развивая портал:

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

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