Главный Каталог Статей РФ
85946 авторов, размещено 47073 статей, сейчас на сайте пользователей: 213 Статистика
Аватар anufriy89

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

Категория:  ПО и игры  | Автор:  anufriy89 | Опубликовано: 21.06.2010
Данная статья предназначена для людей, которым интересно как оно на самом деле устроено и почему. Сегодня речь пойдет о драйверах.

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

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

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

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

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

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

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

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

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

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

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

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

Автор: Kosmich
Оригинал статьи: Цератопс.ру
Автор: Kosmich Оригинал статьи: Цератопс.ру
Комментарии
К этой статье пока нет комментариев. Станьте первым! У нас гости не могут комментировать статьи. Пожалуйста авторизуйтесь или зарегистрируйтесь, чтобы прокомментировать.
Интересные статьи по теме
Аватар Виталий Эмула
Ретро игры-онлайн на игровом портале Коллекция игр от ретро консолей – это игры формата NES(известная как Денди), SMS(Sega Master System) и GBA(GAME BOY ADVANCE). ...
Категория: ПО и игры | Автор: Виталий Эмула | Добавлено: 24.08.2021
Аватар fly_e135
Настройка телефона Fly Мобильные телефоны есть почти у каждого в нашей стране,да и в мире тоже! Телефон - это сложный механизм, к которому нужно относиться бережно и тогда он будет служить долго. Прежде чем начать использов...
Категория: ПО и игры | Автор: fly_e135 | Добавлено: 25.11.2010
Аватар Anastasya
DVD-Audio авторинг с помощью DigiOnAudio2 Pro. Часть I Методология DVD-Audio авторинга в программе DigiOnAudio2 Pro. Детально рассмотрена технология создания навигации для DVD-Audio, от инсталляции DigiOnAudio2 Pro до записи проекта на лазерный диск....
Категория: ПО и игры | Автор: Anastasya | Добавлено: 17.02.2010
Аватар Excelskype
Excel – то, что нужно знать и уметь всем! Восемь самых востребованных возможностей программы Excel.Это необходимый минимум, которым должен владеть каждый, кто ежедневно использует Excel.Используй эти приемы, чтобы повысить эффективность своей...
Категория: ПО и игры | Автор: Excelskype | Добавлено: 05.04.2015
Аватар Maxim Sherbina
Как StarCraft 2 скачать и можно ли в него играть без battle.net? Все ждут и игру StarCraft 2! А что же она из себя представляет? Давайте вместе пробежимся по статье и узнаем много ценной информации как и для поклонников этой игры, так и для игроков всего мира!...
Категория: ПО и игры | Автор: Maxim Sherbina | Добавлено: 04.04.2010
Лучшие авторы
Аватар Mio452
Я интернет-маркетолог с опытом более 10 лет. Разра...

Читать

Аватар mmz
mmz
Проектирование и производство станочного оборудова...

Читать

Аватар georgi58
Человек простой, кто бы хотел научится любит всех.

Читать

Аватар tsforex
Действующий Трейдер с опытом работы 7 лет.
Пров...

Читать

Аватар Смирнова Ирина
Образование - биохимик. Мое хобби и дело - здоровы...

Читать

Свежие комментарии
Талантливый человек талантлив во всём! Будь как Паша! А ещё ты можешь ...

Читать

Можно выбрать.

Читать

Ой, шутник.

Читать

https://priornews.ru/zastrojshhik-iz-hmao-sravnil-ufas-s-prestupnoj-gr...

Читать

https://ura-news.turbopages.org/turbo/ura.news/s/news/1052688335

Читать

Напишите нам