В старые времена (40–70-е годы) вы купили компьютер у компании, которая производила или приобретала собственное оборудование, писала все свое программное обеспечение для ОС и большую часть прикладного программного обеспечения. Операционная система будет работать только на платформе продавцов, используя именно то оборудование, которое они продавали при первоначальной покупке. Приложения были написаны на ассемблере и будут работать только на этой платформе, и их приходилось переписывать для каждого процессора, а часто и для каждой версии ОС. Для каждой небольшой разницы в аппаратном обеспечении необходимо было создать и поддерживать новую версию ОС. Короче говоря, оборудование, ОС и приложения были непереносимыми.
Портативность стала большой проблемой в 60-х годах, когда компьютерные технологии начали коммодитизироваться. Unix и язык программирования C долгое время считались двумя ключевыми технологиями, открывшими новую эру переносимости. Ядро Unix было написано в основном на C, с небольшим количеством специфичной для CPU сборки, поэтому любая платформа с компилятором C могла запускать приложение C, разработанное для другой платформы, включая ядро ОС. Поскольку у нас теперь были ОС, которые могли бы работать на нескольких аппаратных платформах, нам был необходим способ поддержки всего этого оборудования без его наличия в ядре ОС. вот где водители приходят. Unix мог работать на тысяче платформ, но ему не нужно было знать, как получить доступ ко всем видам оборудования, которое может быть на этих платформах. все, что ему нужно, это драйвер, предназначенный для работы с оборудованием и для подключения к ядру Unix.
Таким образом, суммируя, водители - это не проблема, требующая ответа, а ответ на проблему, настолько большую, что для того, чтобы получить право, потребовалось целых 5 десятилетий.