uzilishlari, supervizorni chaqirish programmalari yo`q va u bitta
foydalanuvchi bilan ishlashga moslashgan. SO`M/qV da aksincha
xotira katta va unda multiprogrammali OSdan foydalanish
maqsadga
muvofiqdir va resurslarni taqsimlash imkoniyatini beradi. quyida biz
SO`M/qV misolida EHM resurslarini boshqarish muammosini
ko`ramiz, ayrim hollarda ma`lum bir xossalar shu turdagi boshqa
mashinalarga ham ko`chirilishi mumkin.
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: