EMZETT.
Увійти

Драйвери

Коротко: Драйвер — це програма, що повідомляє операційній системі, як керувати конкретним пристроєм (відеокарта, принтер, мережева карта). Без драйвера система не може використовувати пристрій або використовує лише обмежено.

Докладніше: Кожен пристрій говорить своєю «мовою» (команди, регістри). Операційна система пропонує застосункам єдиний інтерфейс (наприклад, «надрукувати цю сторінку»). Драйвер перекладає між ними. Зазвичай він працює з високими привілеями в режимі ядра, тому помилки драйверів особливо небезпечні.

Подробиці

Види:

  • Драйвери пристроїв в операційній системі: файли Windows .sys, модулі ядра Linux (.ko), kext/DriverKit у macOS.
  • Драйвери прошивки (драйвери UEFI): працюють у прошивці до операційної системи й дають змогу, наприклад, завантажуватися з SSD NVMe або використовувати мережеве завантаження (PXE).
  • Класові драйвери: загальні драйвери для типів пристроїв (USB-накопичувачі, HID на кшталт миші та клавіатури), що працюють без ПЗ виробника.
  • Драйвери виробників: більше функцій і продуктивності (NVIDIA, AMD, Intel).
  • Віртуальні драйвери: для програмних пристроїв (VPN-адаптери, віртуальні диски).

Встановлення та підтримка драйверів:

  • Центр оновлення Windows автоматично доставляє багато драйверів. Для відеокарт варто використовувати драйвер виробника.
  • Диспетчер пристроїв (devmgmt.msc): пристрій із жовтим попереджувальним знаком означає відсутній чи несправний драйвер.
  • Відкотіть старий драйвер («Попередній драйвер»), якщо оновлення спричиняє проблеми.
  • Встановлюйте драйвери лише з надійного джерела.

Безпека та стабільність:

  • Драйвери підписані. Windows у 64-бітному режимі завантажує лише підписані драйвери ядра.
  • Вразливості в підписаних, але несправних драйверах використовуються для атак («bring your own vulnerable driver»). Microsoft веде список блокування.
  • Помилки драйверів призводять до синіх екранів (наприклад, DRIVER_IRQL_NOT_LESS_OR_EQUAL).
  • Linux постачає багато драйверів прямо в ядрі, тому багато обладнання працює одразу.

Див. також: Прошивка (firmware), Архітектура системи, Інтерфейси