Qurilma drayverlari Kompyuterga ulangan har bir kiritish/chiqarish qurilmasini
boshqarish uchun maxsus dasturlar talab etiladi.
Bu dasturlar qurilma drayveri deyiladi, ko‘pincha qurilma ishlab
chiqaruvchisi tomonidan yaratiladi, qurilma bilan birgalikda kompakt
diskda tarqatiladi. Har bir operatsion tizim uchun maxsus drayverlar
talab qilinar ekan, odatda ishlab chiqaruvchilar bir nechta keng
tarqalgan operatsion tizimlar uchun drayverlarni joylashtiradilar.
Har bir drayver bir turdagi qurilmaga yoki bir biriga o‘xshash
ko‘plab qurilmalarga kiradilar. Masalan, bitta sichqoncha drayveriga
qaramasdan tizim bir nechta turdagi sichqonchalarni q o‘llabquvvatlaydi. Disk o‘quvchi qurilma drayverlari bir necha turdagi
diskli, turli hajmli va tezlikni qo‘llab-quvvatlashi, shuningdek
kompaktdiskli imkoniyatli bo‘lishi mumkin.
Drayver qurilma apparat qismiga kirish imkoniyatini beradi,
unda kontroller registri mavjud, o‘nta operatsion tizim yadrosida
integratsiyalanadi. Bunday usul yuqori samarodorlikni ta’minlaydi.
Lekin past ishonchlikga ega bo‘ladi, sababi, istalgan qurilma
drayveridagi xato butun bir tizimni ishini izdan chiqaradi.
Operatsion tizim nuqtai nazaridan qaralganda drayverlar blokli
(masalan, diskli) va belgili (masalan, klaviatura va printerlar) qurilmalari
uchun bo‘ladi. Ko‘plab operatsion tizim kompyuterga tegishli bo‘lgan
barcha blokli va barcha belgili qurilmalarni qo‘llab-quvvatlashi kerak
bo‘lgan ikkita standart interfeys aniqlaniladi. Interfeyslar o‘zining ishini
bajarilishini drayver orqali ta’minlaydigan operatsion tizimlarda
chaqiriladigan protseduralar majmuini o‘z ichiga oladi.
Drayverning vazifasi yuqori pogona apparatdan mustaqil dastur
mavhum so‘rovlarini qabul qilish va so‘rov bajarilganligi to‘g‘risida
xabar berish. Odatiy so‘rov diskdan drayverga kelib tushadi - berilgan
ma’lumotlar bloki deb hisoblaniladi. Shu sababli agar s o‘rovni uzatish
vaqtida harakatsiz bo‘lsa, u darrov ishlashni boshlaydi. Agar drayver
band bo‘lsa, so‘rov odatda navbatga qo‘yiladi va unga imkoniyat
bo‘lganda xizmat ko‘rsatiladi.
Kiritish/chiqarish so‘roviga xizmat ko‘rsatishda birinchi qadam
uzatilgan parametrlarni to‘g‘riligini tekshirish va xatolarni to‘g‘irlash
bo‘ladi. Agar so‘rov to‘g‘ri bo‘lsa keyingi qadam mavhum taqdim
etilgan shakldan aniq bir shaklga o‘tkaziladi.
Shundan so‘ng belgilangan buyruqlarni bajarishda drayver
kontroller registri orqali uning qurilmasiga uzatishni boshlaydi.
Sodda kontrollerlar bitta buyruq bo‘yicha bir marta qabul qiladi,
nisbatan murakkab buyruqlar ro‘yxati bilan bog‘liqlikni qo‘llabquvvatlash operatsion tizimning ishtirokisiz bajariladi.
Barcha buyruqlar uzatilgandan so‘ng holat ikki senariydan
bittaga o‘tadi. Qurilma drayverlari ko‘p holatlarda uning uchun
belgilangan ish bajarilmagunga qadar kutadilar, shu sababli
qurilmadan to‘xtalishlar kelib tushgunga qadar bloklash holatida
bo‘ladi. Boshqa bir variantda operatsiya kutishsiz yakunlanadi va
drayverni bloklashga zarurat bo‘lmaydi.
Agar drayver bloklansa unda to‘xtalish bo‘lganda blokdan ozod
etiladi. Boshqa bir holatda drayver bloklanmaydi, umuman bloklanmaydi.
Drayver operatsiyasini yakunlash bo‘yicha operatsiya xatosiz o‘tganligiga
ishonch hosil qilishi kerak. Agar bari to‘g‘ri bo‘lsa drayverga qurilma
dasturiy ta’minotidan mustaqil ravishda ma’lumotlarni uzatish mumkin
bo‘ladi (faqat o‘qilgan bloklar). Va nihoyat drayver operatsiya
yakunlanganligi to‘g‘risida ma’lumot uchun chaqiruvchi dastur ayrim
axborotlariga murojaat qilinadi. Agar navbatda boshqa so‘rov turgan
bo‘lsa, ulardan biri tanlaniladi va ishga tushiriladi, boshqa so‘z bilan
aytganda drayver keyingi so‘rovni kutishga bloklanadi.