Драйвер

Матеріал з Словник з інформатики
Перейти до: навігація, пошук

Драйвер (англ. driver) — комп'ютерна програма, за допомогою якої операційна система отримує доступ до приладу апаратного забезпечення. У загальному випадку для використання кожного пристрою, підключеного до комп'ютера, необхідний спеціальний драйвер. Зазвичай операційна система вже містить драйвери для ключових компонентів апаратного забезпечення, без яких система не зможе працювати. Однак для більш специфічних пристроїв (таких, як графічна плата або принтер) можуть знадобитися спеціальні драйвери, які надає виробник пристрою.

Ідеологія побудови драйверів

Операційна система керує деяким "віртуальним пристроєм", який розуміє стандартний набір команд. Драйвер переводить ці команди в команди, які розуміє безпосередньо пристрій. Ця ідеологія називається "абстрагування від апаратного забезпечення". Драйвер складається з декількох функцій, які обробляють певні події операційної системи. Зазвичай це 7 основних подій:

  • завантаження драйвера. Драйвер реєструється в системі, робить первинну ініціалізацію й т.п. ;
  • вивантаження. Драйвер звільняє захоплені ресурси - пам'ять, файли, пристрої й т.п. ;
  • відкриття драйвера. Початок основної роботи. Зазвичай драйвер відкривається програмою як файл, функціями CreateFile() в Win32 або fopen() в UNIX-подібних системах;
  • читання;
  • запис;
  • закриття: операція, зворотна відкриттю, звільняє зайняті при відкритті ресурси й знищує дескриптор файлу;
  • керування вводом-виводом-IO Control-IOCTL. Найчастіше драйвер підтримує інтерфейс вводу-виводу, специфічний для даного пристрою.

За допомогою цього інтерфейсу програма може послати спеціальну команду, що підтримує даний пристрій. Наприклад, для SCSI пристроїв можна послати команду GET_INQUIRY, щоб одержати опис пристрою. В Win32 системах керування здійснюється через API-функцію DeviceIoControl(). В UNIX-подібних — ioctl()

Інтеграція драйверів

У міру розвитку систем, що сполучають у собі на одній платі не тільки центральні елементи комп'ютера, але й більшість пристроїв комп'ютерів у цілому, виникло запитання зручності підтримки таких систем, що одержали назву "апаратна комп'ютерна платформа", або просто "платформа". Спочатку виробники платформ поставляли набір окремих драйверів для операційних систем, зібраний на один носій (зазвичай CD), Потім з'явилися установні пакети, що називалися «4-in-1» та «One touch» і дозволяли спростити установку драйверів у систему. Однак єдиного, усталеного терміна довго не було. Сучасний термін, що описує такі набори драйверів пристроїв — Board Support Package, або "пакет підтримки платформи". Крім власне драйверів, він може, як і інші установні пакети, містити модулі операційної системи й програми. В сленгу "дрова".[1]

Посилання