Драйвер
Материал из Википедии — свободной энциклопедии
- Также «драйвером» называется одна из услуг такси.
Дра́йвер (англ. driver) (множественное число дра́йверы, вариант модуля разговорный и профессиональный, пример: модуль к ядру Операционной системы для определенного устройства) — компьютерная программа, с помощью которой другая программа (обычно операционная система) получает доступ к аппаратному обеспечению стандартным образом. В общем случае для использования каждого устройства, подключённого к компьютеру, необходим специальный драйвер. Обычно с операционными системами поставляются драйверы для ключевых компонентов аппаратного обеспечения, без которых система не сможет работать. Однако для более специфических устройств (таких, как графическая плата или принтер) могут потребоваться специальные драйверы, обычно предоставляемые производителем устройства.
Содержание |
[править] Идеология построения драйверов
Операционная система управляет некоторым «виртуальным устройством», которое понимает стандартный набор команд. Драйвер переводит эти команды в команды, которые понимает непосредственно устройство. Эта идеология называется «абстрагирование от аппаратного обеспечения». Впервые в отечественной вычислительной технике подобный подход появился в серии ЕС ЭВМ, а такого рода управляющие программы назывались канальными программами.
Драйвер состоит из нескольких функций, которые обрабатывают определенные события операционной системы. Обычно это 7 основных событий:
- загрузка драйвера. Тут драйвер регистрируется в системе, производит первичную инициализацию и т. п.;
- выгрузка. Драйвер освобождает захваченные ресурсы — память, файлы, устройства и т. п.;
- открытие драйвера. Начало основной работы. Обычно драйвер открывается программой как файл, функциями CreateFile() в Win32 или fopen() в UNIX-образных системах;
- чтение;
- запись: программа читает или записывает данные из/в устройство, обслуживаемое драйвером;
- закрытие;
- IOCTL. Зачастую драйвер поддерживает интерфейс ввода-вывода, специфичный для данного устройства. С помощью этого интерфейса программа может послать специальную команду, которую поддерживает данное устройство. Например, для SCSI устройств можно послать команду GET_INQUERY, чтобы получить описание устройства. В Win32 системах управление осуществляется через API-фунцию DeviceIoControl(). В UNIX-подобных — ioctl()
[править] Интеграция драйверов
По мере развития систем, сочетающих в себе на одной плате не только центральные элементы компьютера, но и большинство устройств компьютера в целом, возник вопрос удобства поддержки таких систем, получивших название «аппаратная платформа», или просто «платформа».
Сначала производители платформ поставляли набор отдельных драйверов для операционных систем, собранный на один носитель (обычно CD), Затем появились установочные пакеты, называвшиеся «4-in-1» и «One touch», и позволявшие упростить установку драйверов в систему. Однако единого, устоявшегося термина долго не было.
Современный термин, описывающий такие наборы драйверов устройств — Board Support Package, или «пакет поддержки платформы». Помимо собственно драйверов, он может, как и прочие установочные пакеты, содержать модули операционной системы и программы.
[править] См. также
- DDK — Driver Development Kit
- klife — Introduction to Linux Device Drivers (pdf)
[править] Ссылки
- Драйвера и программы
- Коллекция драйверов для операционной системы Windows Vista
- Библиотека драйверов для всех устройств компьютера
- Подборка драйверов для всех устройств компьютера
- Большой архив драйверов
- Программа для автоматической установки драйверов для большинства популярных устройств
|
|
|
|---|---|
| Ядро | Микроядро · Монолитное ядро · Гибридное ядро · Пространство ядра (Kernel space) · Модульное ядро · Наноядро · Драйвер · Пространство пользователя · Область пользователя |
| Управление процессом | Процесс · Мультипрограммирование · Прерывание · Защищённый режим · Режим супервизора · Многозадачность · Многопоточность ·Управление процессом · Планировщик задач · Переключение контекста · Кооперативная многозадачность · Вытесняющая многозадачность · Режимы работы процессора |
| Управление памятью | Защита памяти · Сегментация памяти · Страничная память (Paging) · Блок управления памятью · Ошибка сегментации · Общая ошибка защиты |
| Примеры | AmigaOS · Microsoft Windows · GNU/Linux · GNU · UNIX · Mac OS · MS-DOS |
| Разные понятия | Начальный загрузчик · API · VFS · Компьютерная сеть · GUI · История операционных систем · Слой аппаратных абстракций HAL |
| Это незавершённая статья о компьютерном программном обеспечении. Вы можете помочь проекту, исправив и дополнив её. |

