The main purpose of device drivers is to
provide abstraction by acting as a translator between a hardware device and the applications or operating systems that use it.
[1] Programmers can write higher-level application code independently of whatever specific hardware the end-user is using. For example, a high-level application for interacting with a
serial port may simply have two functions for "send data" and "receive data". At a lower level, a device driver implementing these functions would communicate to the particular serial port controller installed on a user's computer. The commands needed to control a
16550 UART are much different from the commands needed to control an
FTDI serial port converter, but each hardware-specific device driver
abstracts these details into the same (or similar) software interface.
Основное назначение драйверов устройств -
обеспечить абстракцию, действуя как транслятор между аппаратным устройством и приложениями или операционными системами, которые его используют. [1] Программисты могут писать код приложения более высокого уровня независимо от того, какое оборудование использует конечный пользователь. Например, приложение высокого уровня для взаимодействия с последовательным портом может просто иметь две функции для «отправки данных» и «приема данных». На более низком уровне драйвер устройства, реализующий эти функции, будет взаимодействовать с конкретным контроллером последовательного порта, установленным на компьютере пользователя. Команды, необходимые для управления 16550 UART, сильно отличаются от команд, необходимых для управления преобразователем последовательного порта FTDI, но каждый аппаратно-зависимый драйвер устройства абстрагирует эти детали в один и тот же (или аналогичный) программный интерфейс.