|
I ma’ruza mavzulari
|
bet | 15/83 | Sana | 01.06.2024 | Hajmi | 182,05 Kb. | | #258938 |
Bog'liq Қарши давлат университети3. Drayverlarning tuzilishi.
Ikki turdagi drayverlar mavjud:
simvolli qurilma drayveri
blokli qurilma drayveri.
Simvolli qurilmalar drayveri ketma-ket simvolli kiritish-chiqarishni amalga oshiradi. Bunday toifadagi qurilmalarga konsol, ketma-ket yo‘l (port), soat va printer (CON, AUX, CLOCK$, PRN) kiradi.
Blokli qurilmalar tizimdagi barcha disk yurituvchilarni birlashtiradi. Ular bloklar ustida (odatda sektor o‘lchamiga teng) kiritish-chiqarish amallarini bajara oladilar. Ularning har biri o‘z nomeriga ega hamda A, B, C va hokazo harflar bilan belgilanadi.
Bitta blokli qurilma drayveri bir yoki bir nechta, mantiqan bir-biri bilan bog‘langan disk yurituvchiga javob berishi mumkin. Demak, uning uchun to‘rtta nomer (0-3) ajratilgan, uning o‘zi esa to‘rtta harfni egallaydi. Drayverning ro‘yxatdagi o‘rni uning nomerlari qaysi harflarga mos kelishini aniqlaydi.
Agar drayver ro‘yxat bo‘yicha ikkinchi bo‘lib, uning uchun uchta nomer (0-2) aniqlangan bo‘lsa, u holda bu nomerlar E, F va G harflariga mos keladi.
Yuklanuvchi drayverni hosil qilish uchun drayver sarlavhasiga ega bo‘lgan COM yoki EXE tipidagi fayl hosil qilish kerak. Agar faylda faqat bitta drayver bo‘lsa, keyingi drayverga ko‘rsatuvchi FFFFh ga tenglashtirib olinadi. Mos ravishda attribut va kirish nuqtalari (siljish) o‘rnatiladi.
Ramzli qurilmalar uchun nom maydoniga ramzli qurilma nomi qo‘yiladi. Agar nomdagi ramzlar soni 8 tadan kam bo‘lsa, u bo‘sh o‘rinlar bilan to‘ldiriladi.
OS yuklanuvchi drayverni rezident drayverlardan oldin bajaradi. Shuning uchun CON qurilmasining yangi drayverini o‘rnatishda oddiygina unga CON nomini qo‘yish kerak. Drayverlar ro‘yxatini ko‘rib chiqishda DOS doim birinchi mos nomni topganda to‘xtaydi. Shuning uchun ham yuklanuvchi drayverlar ustunlikka ega.
Blokli qurilmalarning rezident drayverlarini o‘zgartirishga ruxsat etilmaydi. To‘g‘ridan-to‘g‘ri IBMBIO.COM rezident drayverlari tomonidan boshqarilmaydigan blokli qurilmalar uchungina shunday drayverlarni ishlatish mumkin.
Qurilmalar drayverlari operatsion tizim yuklanish jarayonida tezkor xotiraga yuklanadi. DOS qurilmalar drayverlarini quyidagicha chaqiradi:
1. DOS strategiya dasturini yuklaydi.
2. So‘rov sarlavhasidagi ma’lumot strategiya dasturini uzatadi.
3. DOS uzilish dasturini chaqiradi.
Chaqirishning bunday tartibi kelajakda tizimni rivojlantirish maqsadida amalga oshirilgan. Qurilma drayveri caplavhasi drayver boshlanishiga o‘rnatilib, u quyidagi maydonlarga ega:
- keyingi drayverga ko‘rsatuvchi (ro‘yxatdagi oxirgi drayver uchun FFFFh);
- qurilma atributlari (Drvatlr);
- strategiya dasturiga ko‘rsatuvchi (Ptrstr);
- uzilish dasturiga ko‘rsatuvchi (Ptrint);
- ramzli qurilma drayveri nomi (DrvName);
- disk nomi (CDROM);
- qurilmalar soni (CDROM).
Ko‘rsatuvchi maydonida keyingi drayver adresi (siljish:segment) ko‘rsatiladi. Atributlar maydonida qurilma tipi ko‘rsatiladi. Nom maydonida ramzli qurilma nomi yoki blokli qurilmalar soni ko‘rsatiladi.
DOS qurilma drayverini chaqirganda strategiya dasturiga so‘rov sarlavhasi adresi uzatiladi. Bu maydon aniq uzunlikka ega bo‘lib, undan keyin kerakli amalni bajarish uchun qiymatlar joylashadi. Registrlar va bayroqlar qiymatlarini saqlash drayver zimmasida bo‘ladi. Agar ko‘proq joy talab qilinadigan bo‘lsa, drayver o‘z stekini hosil qilishi mumkin.
So‘rov sarlavhasi quyidagi maydonlardan iborat:
- so‘rov sarlavhasi uzunligi (baytlarda);
- murojaat etiladigan qurilma kodi;
- amal kodi;
- qurilma holati.
Sarlavha uzunligi maydoni baytlarda ko‘rsatiladi. Qurilma kodi, masalan, drayver 3 ta qurilmani boshqarsa, bu maydonda 0, 1 yoki 2 turishi mumkin. Amal kodlari quyidagilar bo‘lishi mumkin:
0-qurilmani o‘rnatish;
1-diskni tekshirish;
2-BIOS ko‘rsatkichlari blokini (BKB) qurish;
4-kiritish (o‘qish);
5-buferlanmagan o‘qish;
6-kiritish holati;
7-qurilmani bo‘shatish (ozod etilish);
8-chiqarish (yozish);
9-chiqarish va tekshirish;
10-chiqarish holati;
11-chiqarishni to‘xtatish;
13-ochish (yopiqlik atributini olib tashlash);
14-yopish (yopiqlik atributini o‘natish);
15-almashuvchi disk;
16-band bo‘lmaganda chiqarish;
23-mantiqiy disk yurituvchi xaritasini olish;
24-mantiqiy disk xaritasini o‘rnatish.
Qurilma holati maydoni (ikki baytli so‘z) kirish paytida 0 ga teng bo‘ladi va uzilish dasturi tomonidan to‘ldiriladi. 8-bit to‘ldirilsa, tugaganlikni; 9-bit to‘ldirilsa, qurilma bandligini; 15-bit to‘ldirilsa, xato borligini bildiradi.
|
| |