JET Academy

Driver nədir?

Driver — həmçinin device driver olaraq da tanınan — əməliyyat sisteminin hardware cihazları ilə əlaqə qurmasına imkan verən xüsusi, aşağı səviyyəli proqram təminatıdır. Driverlər OS-in yüksək səviyyəli əmrlərini cihazın başa düşə biləcəyi aşağı səviyyəli, cihaz-spesifik göstərişlərə çevirərək əməliyyat sistemi ilə cihaz arasında “tərcüməçi” rolunu oynayır. Driver olmadan, ən qabaqcıl hardware belə istifadə edilə bilməz, çünki əməliyyat sisteminin hər bir cihazın necə işlədiyini bilmək üçün daxilində hazır məlumatı yoxdur.

Başqa sözlə, driver — əməliyyat sisteminin klaviatura, printer, qrafik kartı, şəbəkə adapteri, yaddaş qurğuları və daha saysız-hesabsız digər hardware komponentlərini tanımasına, idarə etməsinə və onlarla qarşılıqlı işləməsinə imkan verən vacib proqram qatıdır.

Driverlər hardware və əməliyyat sistemi arasında “körpü” və ya “interpretator” rolunu oynayır. Onlar cihazların düzgün işləməsini, sabit interfeyslər təmin olunmasını və tətbiqlərin hardware mürəkkəbliyindən qorunmasını təmin edirlər.

Sadə izahla: Driver nədir?

Driver əməliyyat sistemi ilə hardware arasında tərcüməçi kimidir.

Məsələn:

  • Siz “Print” düyməsinə basanda, əməliyyat sistemi printerlə birbaşa “danışmağı” bacarmır — amma printer drivəri bunu bilir.
  • USB cihazını qoşduqda dərhal işləməsinin səbəbi — əməliyyat sisteminin həmin cihaz üçün uyğun drivəri yükləməsidir.

Niyə driverlər lazımdır?

Hər hardware cihazı özünəməxsus dizayna, kommunikasiya protokoluna, registr xəritəsinə, vaxtlama tələblərinə və komanda formatına malikdir. Əməliyyat sistemi isə tarix boyu yaradılmış milyonlarla müxtəlif cihaz üçün daxilində hazır kod saxlaya bilməz.

Driverlər bu problemi aşağıdakı yollarla həll edir:

  • OS-ə cihazı necə idarə etməyi “öyrədir”
  • Hardware-spesifik detalların hamısını abstraksiya edir
  • Tətbiqlər üçün vahid API yaradır
  • Plug-and-Play funksionallığını təmin edir
  • Sistem təhlükəsizliyini və sabitliyini qoruyur
  • Hardware istehsalçılarının OS-i dəyişmədən innovasiya etməsinə imkan yaradır

Driverlər olmasa kompüter nə siçanı görə bilərdi, nə ekranda görüntü yarada bilərdi, nə Wi-Fi-ya qoşula bilərdi, nə də disklərə məlumat yaza bilərdi.

Driverlərin növləri

1. Kernel-Mode Driverlər

Bu driverlər əməliyyat sisteminin kernel (nüvə) səviyyəsində işləyir və hardware-ə birbaşa çıxışa malikdir. Onlar güclüdür, amma təhlükəlidir — kiçik bir səhv bütün OS-i çökdürə bilər.

Nümunələr:

  • GPU driverləri (NVIDIA, AMD, Intel)
  • SATA / NVMe yaddaş driverləri
  • Şəbəkə driverləri
  • USB kontroller driverləri
  • Fayl sistemi driverləri

2. User-Mode Driverlər

Bu driverlər user space səviyyəsində işləyir. Daha təhlükəsizdirlər, çünki səhv baş verərsə yalnız həmin tətbiq çökür, bütün sistem yox.

Nümunələr:

  • Printer driverləri
  • Kamera driverləri
  • Xüsusi cihaz tətbiqləri
  • Bluetooth-un tətbiq səviyyəsində işləyən driverləri

User-mode driverlər kernel driverləri ilə IPC vasitəsilə ünsiyyət qurur.

Driverin Quruluşu və Funksiyaları

Tipik bir driver aşağıdakı prosesləri idarə etməlidir:

1. İnitializasiya

  • Cihazı aşkar etmək
  • Lazım gəlsə firmware yükləmək
  • Resurslar ayırmaq (I/O portlar, yaddaş bölgələri)
  • OS-ə qeydiyyat

2. I/O əməliyyatları

  • Cihazdan məlumat oxuma / yazma
  • Buffering
  • OS-in sorğularını emal etmə

3. Interrupt emalı

Cihazlar müəyyən hadisələr baş verdikdə interrupt göndərir (məsələn, düymə basıldı, paket gəldi, GPU rendering bitirdi). Driver bunu dərhal emal edir.

4. Enerji idarəetməsi

  • Sleep, suspend, resume, power-saving rejimləri

5. Xəta idarəetməsi

  • Cihazın cavab verməməsi
  • Timeout
  • Hardware reset
  • Error logging

6. Təhlükəsizlik

  • Tətbiqlərin birbaşa hardware-ə çıxışının məhdudlaşdırılması
  • Zərərli əməliyyatların qarşısını alma

7. Cihaz vəziyyətinin idarə olunması

  • Növbələr, bufferlər, komanda ardıcıllıqları

Driverin hazırlanması

Driverlər adətən CC++ kimi aşağı səviyyəli dillərdə yazılır, çünki:

  • Yaddaşa birbaşa çıxış lazımdır
  • Dəqiq vaxt idarəetməsi tələb olunur
  • Hardware ilə birbaşa işləmək lazımdır

Driver yazmaq çətindir, çünki:

  • Hardware arxitekturası fərqlidir
  • Vaxta həssas əməliyyatlar var
  • Yaddaş idarəetməsi mürəkkəbdir
  • Təhlükəsizlik və sabitlik tələbləri yüksəkdir
  • Kernel debugging çox çətindir

Bir çox vendorlar proprietar (qapalı) driverlər yaradır — xüsusilə GPU və Wi-Fi çipləri üçün. Açıq mənbə icmalar isə Linux üçün driverləri əks-mühəndisliklə hazırlayır.

Fərqli əməliyyat sistemlərində driver modelləri

Windows

  • WDM (Windows Driver Model)
  • WDF (Windows Driver Frameworks)
  • KMDF (Kernel-Mode Driver Framework)
  • UMDF (User-Mode Driver Framework)

Microsoft sabitlik üçün ciddi standartlar tətbiq edir.

Linux

  • Driverlər kernelə inteqrasiya olunur və ya modul kimi (.ko) yüklənir
  • Açıq mənbə ekosistemi çox güclüdür

macOS

  • IOKit-dən istifadə edir (obyekt yönümlü framework)
  • Sərt sandboxing və Apple-ın imza tələbləri

Android

  • Linux kernel driverlərinə əsaslanır
  • Vendor modifikasiyaları geniş istifadə olunur

Cihaz Driverlərinin Funksional Kateqoriyaları

  1. Character Driverlər
  2. Klaviatura, serial port kimi byte-stream cihazları.
  3. Block Driverlər
  4. HDD və SSD kimi bloklarla işləyən cihazlar.
  5. Şəbəkə Driverləri
  6. Paketlərin göndərilməsi və qəbulu.
  7. GPU / Display Driverləri
  8. 3D sürətləndirmə, render, video decode.
  9. Virtual Driverlər
  10. Virtual disk, virtual şəbəkə adapteri.
  11. Firmware Driverləri
  12. OS ilə cihaz firmware-i arasında əlaqə yaradır.

Driver Yüklənməsi və Plug-and-Play (PnP)

Müasir əməliyyat sistemləri hardware-i avtomatik aşkar edir və uyğun drivəri yükləyir.

Bu prosesə daxildir:

  • PCI, USB və s. vasitəsilə cihazın identifikasiyası
  • Hardware ID əsasında driver seçimi
  • Resursların ayrılması
  • Servisin işə salınması / dayandırılması
  • Hot-plug (USB qoşma / çıxarma)
  • Driver yeniləmələri və rollback

PnP köhnə kompüterlərdə IRQ, DMA, I/O port seçimi kimi əl ilə konfiqurasiyanın qarşısını alıb və istifadə rahatlığını kəskin artırıb.

Driver Təhlükəsizliyi

Driverlər hardware-ə çox yaxın işlədiyinə görə kiberhücumlar üçün hədəf ola bilər.

Təhlükəsizlik mexanizmləri:

  • Kod imzalama (Windows, macOS)
  • Sandboxlama
  • İmtiyazların ayrılması
  • Yaddaş qoruma mexanizmləri
  • Zərərli əməliyyatların bloklanması
  • Davamlı yeniləmələr

Nasaz və ya zərərli bir driver:

  • BSOD (blue screen),
  • məlumat itkisi,
  • icazəsiz imtiyaz artırılması kimi problemlərə səbəb ola bilər.

Məşhur Driver Nümunələri

  • Qrafik drivəri: GPU rendering və 3D sürətləndirmə
  • Wi-Fi drivəri: Simsiz şəbəkəyə qoşulma
  • Audio drivəri: Səs giriş-çıxışı
  • Printer drivəri: Sənədləri printerə uyğun formatlama
  • USB drivəri: USB cihazları idarə edir
  • Siçan / Touchpad drivəri
  • Kamera drivəri
  • Chipset drivəri: Anakart komponentlərini idarə edir

Nəticə

Driver — müasir kompüter sistemlərinin ən vacib komponentlərindən biridir. Bu proqram qatının əsas vəzifəsi hardware-i “canlandırmaq”, əməliyyat sistemi üçün anlaşıqlı və idarəolunan etməkdir. Siçanı qoşmaqdan tutmuş, sənəd çap etməyə, videoya baxmağa, internetə girməyə və yeni bir cihaz bağlamağa qədər hər bir prosesdə driverlər görünməz şəkildə işləyir.

Onlar hardware-in mürəkkəbliyini gizlədir, uyğunluğu təmin edir, təhlükəsizliyi qoruyur və əməliyyat sistemi ilə hər fiziki komponent arasında fasiləsiz ünsiyyət yaradırlar. Driverlər olmasaydı, kompüterlər öz hardware-i ilə belə ünsiyyət qura bilməzdi və müasir kompüter anlayışı mövcud olmazdı.

Tədris sahələrimiz barədə məlumat almaq üçün qeydiyyatdan keçin

Teqlər:

Digər tədris sahələri