Краткая история драйверов
Краткая история драйверов
Опубликовано 09.10.2025 от
Сегодня драйверы входят в состав любой операционной системы. Благодаря им разработчикам не приходится адаптировать программы под десятки и даже сотни тысяч различных устройств, а пользователям обновление драйверов служит одним из наиболее простых и при этом эффективных способов немного улучшить быстродействие и возможности компьютера. Однако так было не всегда.
На заре электронных вычислительных машин отдельный слой между программами и аппаратурой, которым является драйвер, почти не требовался. Ранние аналоги современных драйверов появились в 1950-х годах и представляли собой библиотеки для выполнения операций ввода-вывода. Необходимость в них возникла из-за тогдашнего порядка работы: программист передавал программу в вычислительный центр, ее помещали в очередь, а затем множество программ последовательно запускали в одном процессе. Это экономило время и ресурсы, но любая критическая ошибка могла обрушить всю очередь. Поэтому такие «прото-драйвера» были тщательно проверенными наборами кода, к которым обращались программисты, не создавая собственными «велосипедами» дополнительных проблем и расходов в сотни долларов за час.
Со временем компьютеры усложнялись, а число периферийных устройств и накопителей постоянно увеличивалось. Например, к выпущенному в 1962 году мэйнфрейму IBM 1050 подключалось множество терминалов разных типов — от простых телетайпов до полноценных систем связи, а данные хранились на магнитной ленте и дисках. Возникла задача стандартизации: как обеспечить совместимость компьютера и программ не только с нынешним оборудованием, но и с будущими устройствами? Было решено, что каждое подключаемое устройство должно иметь специальную «программу адаптера ввода-вывода», преобразующую получаемые и отправляемые «сырые» данные в один из двух стандартных форматов. «Интерфейс I» предназначался для символьной информации — букв, знаков и цифр, а «Интерфейс II» — для накопителей, работающих со словами или кодами. Такие программы и принято считать первыми в истории драйверами в более или менее традиционном смысле этого понятия.
Теперь перенесемся из вычислительных центров к домашним и офисным компьютерам. К 80-м годам концепция драйверов уже была хорошо отработана на крупных машинах. Однако программы для пользовательских ПК, особенно относительно слабых Commodore 64 и ZX Spectrum, часто обходились без них: так эффективнее использовались ограниченные ресурсы. По мере роста вычислительной мощности и количества периферии драйверы все же стали необходимы. Первые драйверы для MS-DOS создавались преимущественно без единой системы и при этом редко использовались прикладными программами, предпочитавшими напрямую обращаться к устройствам. Настоящая польза драйверов проявилась в многозадачных средах вроде Windows, где нельзя было позволить одному приложению занять все ресурсы. В экспериментальной Windows/386 для этого появилась концепция «виртуальных драйверов», благодаря которой программы работали не с физическим оборудованием напрямую, а с его виртуальным представлением, чьи действия затем передавались реальным устройствам. Виртуальные драйверы, получившие распространение после Windows 3.0, специалисты часто называли VxD-драйверами— сокращение от “virtual xxx driver”, то есть «виртуальный драйвер чего-либо». Термин возник из названий файлов первых виртуальных драйверов: например, драйвер джойстика назывался vjoyd.386.
Виртуальные драйвера использовались и в следующих домашних версиях Windows, включая 95 и 98, тогда как системы Windows NT для сетевой инфраструктуры применяли собственную архитектуру драйверов. Поскольку со временем эти две технически очень разные ветви стали сближаться, появилась потребность в едином подходе. Так в классической Windows 98 и основанной на NT Windows 2000 появилась унифицированная модель драйверов — WDM (Windows Driver Model). После этого производителям рекомендовали создавать драйверы по данной модели, что позволяло применять один комплект программ для периферии во всех версиях Windows. На практике старые драйверы иногда работали лучше WDM, хотя и не поддерживали отдельные функции, например спящий режим. Особенно часто это проявлялось у сетевого оборудования — модемов и LAN-адаптеров.
После прекращения развития Windows 9x и окончательного перехода на архитектуру NT произошел полный переход на Windows Driver Model. Однако изменения в Windows Vista потребовали разработать еще одну модель — Windows Driver Foundation, сокращенно WDF. Она создавалась скорее как расширение предыдущей, а не как ее замена, и добавляла объектно-ориентированный подход к разработке драйверов. Теперь драйвер можно было собирать из отдельных компонентов, а затем дополнять новыми возможностями с помощью модулей. Модель учитывала обратную совместимость вплоть до Windows 2000. Но это не устранило трудностей переходного периода: каждый, кто устанавливал драйверы устройств в Vista или пытался запустить новое оборудование в проверенной XP, знаком с такими проблемами.
К сожалению, рассмотреть абсолютно все особенности развитии драйверов драйверов как явления и подробно описать положение дел в мире альтернативных ОС не позволяют ни объем материала, ни интерес читателя. Тем не менее даже такая краткая история помогает составить ясное представление о теме. От библиотек вычислительных центров до модульных программ драйверы создавались и создаются для того, чтобы пользователь мог использовать все возможности подключенного оборудования — и сегодня, и в будущем.
Источник: ddriver.ru
Опубликовано в Программы
| Упаковщик Купить stretchhood.ru |