к сожелению многие незнают какое важное зачение имеют драйвера
для компьютерного железа.тема которая вам поможет немного в этом вопросе:
Дра́йвер (англ. driver) (множественное число дра́йверы, вариант модуля разговорный и профессиональный, пример: модуль к ядру Операционной системы для определенного устройства) — компьютерная программа, с помощью которой другая программа (обычно операционная система) получает доступ к аппаратному обеспечению стандартным образом. В общем случае для использования каждого устройства, подключённого к компьютеру, необходим специальный драйвер. Обычно с операционными системами поставляются драйверы для ключевых компонентов аппаратного обеспечения, без которых система не сможет работать. Однако для более специфических устройств (таких, как графическая плата или принтер) могут потребоваться специальные драйверы, обычно предоставляемые производителем устройства.
Идеология построения драйверов
Операционная система управляет некоторым «виртуальным устройством», которое понимает стандартный набор команд. Драйвер переводит эти команды в команды, которые понимает непосредственно устройство. Эта идеология называется «абстрагирование от аппаратного обеспечения». Впервые в отечественной вычислительной технике подобный подход появился в серии ЕС ЭВМ, а такого рода управляющие программы назывались канальными программами.
Драйвер состоит из нескольких функций, которые обрабатывают определенные события операционной системы. Обычно это 7 основных событий:
* загрузка драйвера. Тут драйвер регистрируется в системе, производит первичную инициализацию и т. п.;
* выгрузка. Драйвер освобождает захваченные ресурсы — память, файлы, устройства и т. п.;
* открытие драйвера. Начало основной работы. Обычно драйвер открывается программой как файл, функциями CreateFile() в Win32 или fopen() в UNIX-образных системах;
* чтение;
* запись: программа читает или записывает данные из/в устройство, обслуживаемое драйвером;
* закрытие;
* IOCTL. Зачастую драйвер поддерживает интерфейс ввода-вывода, специфичный для данного устройства. С помощью этого интерфейса программа может послать специальную команду, которую поддерживает данное устройство. Например, для SCSI устройств можно послать команду GET_INQUERY, чтобы получить описание устройства. В Win32 системах управление осуществляется через API-фунцию DeviceIoControl(). В UNIX-подобных — ioctl()
Интеграция драйверов
По мере развития систем, сочетающих в себе на одной плате не только центральные элементы компьютера, но и большинство устройств компьютера в целом, возник вопрос удобства поддержки таких систем, получивших название «аппаратная платформа», или просто «платформа».
Сначала производители платформ поставляли набор отдельных драйверов для операционных систем, собранный на один носитель (обычно CD), Затем появились установочные пакеты, называвшиеся «4-in-1» и «One touch», и позволявшие упростить установку драйверов в систему. Однако единого, устоявшегося термина долго не было.
Современный термин, описывающий такие наборы драйверов устройств — Board Support Package, или «пакет поддержки платформы». Помимо собственно драйверов, он может, как и прочие установочные пакеты, содержать модули операционной системы и программы.