Uzilishlarni qayta-ishlash. Uzilish (Interrypt)-bu signal bo`lib, u EHMni buyruqlar oqimini oddiy tartibda bajarishida o`zgarish qilishga majbur etadi. Bu signallar o`qish-yozish amallari bajarilishi yoki oldindan berilgan vaqt intervali tugaganda, nolga bo`lish hollarida yuzaga keladi. quyidagi rasmda uzilishga javoban bo`ladigan hodisalar ketma-ketligi ko`rsatilgan.
Faraz qilaylik, uzilish signali kelgan paytda A programma bajarilayotgan bo`lsin. Natijada boshqaruv avtomatik ravishda uzilishlarni qayta ishlash blokiga beriladi, bu blok OSning bir qismidir. Bu blok uzilish shartiga javob berishga mo`ljallangan. Yuqorida qayd qilingan holatda uzilishni chaqirish A programmaga umuman bog`liq bo`lmasligi mumkin. Bu signal o`qish-yozish amalini tugagan boshqa programma tomonidan chaqirilgan bo`lishi mumkin. Umuman, A programmani qaysi joyda va qachon uzilishni aytib bo`lmaydi, boshqacha aytganda, uzilish asinxron ravishda ruy beradi. Uzilgan programmani keyinchalik to`g`ri ishlashini apparat va tizimli programma vositalari kuzatib boradi. Uzilish holatida programma bajarilishiga vaqtdan boshqa hech nima ta`sir qilmaydi. quyidagi rasmda SO`M/qV uchun uzilishlarning to`rtta sinfi keltirilgan.
-
Синф
|
Узилиш тури
|
1
|
SVC
|
2
|
Программавий
|
3
|
Таймер бўйича
|
4
|
Ўқиш-ёзиш бўйича
|
1-sinf. SVC uzilishlari-markaziy protsessor tomonidan supervizorni chaqirishda yuzaga keladi. Bu buyruq programma tomonidan OS funksiyalarini chaqirish uchun ishlatiladi.
2-sinf. Programma uzilishli bo`lib u nolga bo`lish, noto`g`ri mashina buyrug`ini bajarishga urinish va boshqa sabablari bo`yicha yuzaga kelishi mumkin.
3-sinf. Taymer bo`yicha uzilishlar markaziy protsessorning interval taymeri tomonidan chaqiriladi. Uzilish taymer registriga ega bo`lib, imtiyozli SVC buyrug`i orqali qandaydir boshlang`ich qiymatga ega bo`ladi va har bir millisekundan keyin bittaga kamayadi. Registr qiymati 0 bo`lganda taymer bo`yicha uzilish ro`y beradi. Interval taymeridan OS foydalanuvchi programmasi EHM boshqaruvida qancha vaqt qolish kerakligi aniqlashda ishlatiladi.
4-sinf. O`qish-yozish uzilishlarini o`qish-yozish kanali yoki qurilmalari chaqiradi. Bu uzilishlarga sabab o`qish-yozish amaliga murajaatdir. Bu uzilishlar orqali o`qish-yozish amalini normal yoki xato bilan tuguganligini bilish mumkin. Uzilish ro`y berganida markziy protsessor holati saqlanib qoladi va boshqaruvchi standart programmalarga beriladi. Har bir sinf uzilishlari uchun mos uzlishlar ishlash sohasi ajrtiladi. Misol uchun taymer bo`yicha uzilish sohasi 160chi adresdan boshlanadi. Taymer bo`yicha uzilish ro`y berganda, barcha registrlarning qiymatlari shu sohada saqlanadi. Sohaning birinchi ikkita so`ziga oldindan kiritilgan qiymatlarni Sw holat so`zi va Rs buyruq hisoblagich registrlariga yozadi. Registrlar qiymatini yozish va saqlash mashinaning apparat vositalari bilan avtomatik ravishda amalga oshiriladi. Rs registriga yangi qiymat yozish avtomatik ravishda boshqaruvchi mos buyruqqa (adresi ko`rsatilgan) berishni yuzaga keltiradi. Bu adres taymer bo`yicha uzilishni qayta ishlash standart programmasining boshlanish adresidir. Sw markaziy protsessorning yangi holatini aniqlaydi. Uzilishni qayta-ishlash standart programmasi bajarilishi tugallangandan so`ng, bu programma oxirgi buyruq sifatida protsessor holatini yuklash buyrug`ini (LPS-Load Processor Status) va natijada boshqaruv uzilgan programmaga beriladi. Sw-holat so`zi uzilishni qayta ishlash uchun zarur ma`lumaotlarning bir qismini o`z ichiga oladi. quyidagi rasmda Sw registrning razryadlar bo`yicha tuzilish keltirilgan.
Do'stlaringiz bilan baham: |