Operatsion tizim yadrosining muhim vazifasi uzilishlar bilan ishlashdir. Uzilishlar bu protsessor tomonidan bajarilgan ko'rsatmalar ketma-ketligini o'zgartirishga imkon beruvchi protsedura
Operatsion tizim yadrosining muhim vazifasi uzilishlar bilan ishlashdir. Uzilishlar - bu protsessor tomonidan bajarilgan ko'rsatmalar ketma-ketligini o'zgartirishga imkon beruvchi protsedura. Uzilishlar - bu protsessorga voqea sodir bo'lganligi to'g'risida xabar beradigan signal. Bunday holda, buyruqlarning amaldagi ketma-ketligi bajarilishi to'xtatiladi va boshqaruv hodisaga javob beradigan va unga xizmat qiladigan uzilish qayta ishlovchisiga o'tkaziladi, so'ngra boshqaruvni uzilgan kodga qaytaradi. Yadro joriy uzilishni qayta ishlasa, u boshqa uzilishlarni o'chiradi va faqat joriy ishlov berilgandan keyingina ularni qayta yoqadi. Uzluksiz uzilishlar oqimi bilan uzilishlar navbati paydo bo'lishi mumkin, shuning uchun yadro shunday tarzda tashkil qilinganki, u faqat uzilish turini aniqlaydi va keyin uni qayta ishlashda ushbu tizim bilan ishlash uchun tegishli tizim dasturiga uzatadi hamda bu OSdagi uzilishlardan katta navbatlar paydo bo’lishini oldini oladi.
Har bir uzilish ikkita parametrga ega: uzilish soni va uzilish vektori. Uzilish vektori - bu uzilish dasturini saqlaydigan xotira yacheykasining manzili. Uzilishni qayta ishlash vositasi (yoki uzilish xizmatining muntazamligi) - bu ishlashni amalga oshirish uchun uzilishga chaqirilgan maxsus tartib. Uzilishni qayta ishlovchilar uzilish sabab bo'lgan sabablarga ko'ra ko'plab funktsiyalarni bajarishi mumkin. Uzilishlarning olti turi mavjud. SVC uzilishlar (supervizorning chaqiruvi bo'yicha dasturiy uzilishlar). Ushbu uzilishlarning tashabbuskori - bu boshqaruvchini (supervizor) chaqirish buyrug'ini bajaruvchi qayta ishlaydigan jarayon - bu supervizor chaqiruvi - bu ma'lum bir tizim xizmatini ko'rsatish uchun dastur so'rovi, masalan, kiritish-chiqarish operatsiyasini bajarish, ajratilgan xotira hajmini oshirish.
SVC mexanizmi operatsion tizimni SVC buyrug'i yordamida kerakli xizmatni talab qilishi kerak bo'lgan foydalanuvchilardan himoya qilishga yordam beradi. Shu tufayli operatsion tizim har doim foydalanuvchining o'z chegaralarini kesib o'tishga bo'lgan barcha urinishlaridan xabardor va agar ushbu foydalanuvchi tegishli vakolatlarga ega bo'lmasa, ba'zi so'rovlarni bajarishdan bosh tortishi mumkin.
I/O (K/Ch) uzilishi. Ushbu uzilishlar I / O apparati tomonidan boshlanadi. Ular markaziy protsessorga I/O qurilmasining holatida o'zgarishlar bo'lganligi to'g'risida signal berishadi (Kiritish-chiqarish jarayoni tugallandi, xato yuz berdi yoki qurilma tayyor holatga kirmoqda).
Tashqi uzilishlar. Ushbu uzilishlarga turli xil hodisalar, jumladan, uzilish taymeriga o'rnatilgan vaqt bo'lagi tugashi yoki ko'p protsessor tizimidagi boshqa protsessordan uzilish signalining qabul qilinishi sabab bo'lishi mumkin. Ushbu uzilishlar operator qayta boshlash tugmachasini bosganda yoki ko'p protsessor tizimidagi boshqa protsessordan qayta ishga tushirish buyrug'i olinganida yuz beradi.
Dasturni boshqarish (xato) uchun uzilishlar. Ushbu uzilishlar ishlash jarayonida uchraydigan har xil xatolar, masalan, nolga bo'linish, foydalanuvchi tomonidan imtiyozli buyruqni bajarishga yoki uning manzil maydonidan chiqib ketishga urinish va h.k.
Mashinani boshqarish (xato) to'xtaydi. Ushbu uzilishlar apparatdagi xatolar tufayli yuzaga keladi. Signal manbaiga qarab uzilishlar quyidagilarga bo'linadi: asinxron yoki tashqi (apparat) - tashqi manbalardan kelib chiqadigan hodisalar (masalan, periferik qurilmalar) va har qanday ixtiyoriy sodir bo'lishi mumkin: taymerdan signal, tarmoq kartasi yoki disk drayveri, klaviatura tugmachalarini bosish, sichqoncha harakati. Tizimda bunday uzilish sodir bo'lishi, uzilish so'rovi sifatida talqin etiladi; sinxron yoki ichki - protsessorning o'zida mashinaning kodini bajarish paytida ba'zi bir shartlarning buzilishi natijasida sodir bo'lgan hodisalar: nolga bo'linish yoki stekning haddan tashqari ko'payishi, yaroqsiz xotira manzillariga yoki noto'g'ri ish kodiga kirish; dasturiy ta'minot (ichki uzilishning alohida holati) - dastur kodida maxsus ko'rsatmani bajarish bilan boshlangan.
To'siqlar odatda proshivka, drayvlar va operatsion tizimdagi funktsiyalarga kirish uchun ishlatiladi. Tashqi uzilishlar taqiqlanish imkoniyatiga qarab quyidagilarga bo'linadi: maskalangan - uzilishlarni maskalash registrida tegishli bitlarni o'rnatish orqali o'chirib qo'yilishi mumkin bo'lgan uzilishlar (x86 protsessorlarda - bayroqlar registridagi IF bayrog'ini tozalash orqali); niqobsiz - boshqa uzilishlar taqiqlanishidan qat'i nazar, har doim qayta ishlanadi. Masalan, bunday uzilish xotira chipidagi nosozlik tufayli yuzaga kelishi mumkin. Uzilish qayta ishlovchilari odatda shunday yoziladi, ularning ishlash muddati iloji boricha qisqa bo'ladi, chunki ularning ishlashi davomida boshqa uzilishlar qayta ishlanmasligi mumkin va agar ularning ko'pi (ayniqsa, bitta manbadan) bo'lsa, ular yo'qolishi mumkin. Buning uchun Windows kechiktirilgan protsedura chaqiruvlaridan foydalanadi. Uzilishni qayta ishlash tugashidan oldin, odatda, protsessor bitta uzilishni qayta ishlash tsikliga kirmasligi uchun ushbu turdagi uzilishni qayta ishlashga taqiq qo'yiladi.
Prioritetlashtirish shuni anglatadiki, barcha uzilish manbalari sinflarga bo'linadi va har bir sinfga uzilish so'rovi uchun har xil ustuvorlik darajasi beriladi. Afzalliklarga nisbatan ham, ham mutlaq xizmat qilish mumkin. Nisbiy uzilish xizmati shuni anglatadiki, agar uzilishlar bilan ishlash paytida ustuvor uzilishlar yuzaga kelsa, bu uzilishlar faqat joriy uzilishlar tartibi tugagandan so'ng qayta ishlanadi. Mutlaqo uzilish xizmati shuni anglatadiki, agar uzilishni qayta ishlash paytida yuqori ustuvor uzilish kelib tushsa, amaldagi uzilish xizmatining tartibi oldindan belgilanadi va protsessor yangi kelgan yuqori ustuvor uzilishni qayta ishlashni boshlaydi. Ushbu muntazam ish tugagandan so'ng, protsessor oldindan to'xtatilgan tartibni bajarishga qaytadi.