Privileged Instruction — faqat operatsion tizim yadrosi yoki yuqori imtiyoz darajasida bajarishga ruxsat etilgan mashina buyrug‘i. U xotira himoyasi, interrupt boshqaruvi, qurilma holati yoki protsessorning global nazorat registrlarini o‘zgartirishi mumkin. Oddiy foydalanuvchi dasturi bunday buyruqni bajarsa, protsessor amalni bajarish o‘rniga himoya istisnosini hosil qiladi.
Imtiyoz darajalari
Protsessor joriy bajarish rejimini maxsus holatda saqlaydi. User mode cheklangan, kernel mode esa tizim resurslarini boshqarish vakolatiga ega. Ayrim arxitekturalarda gipervizor va xavfsiz monitor uchun qo‘shimcha darajalar mavjud. Har bir buyruq va tizim registri qaysi darajada ruxsat etilishi ISAda belgilanadi.
Xotira sahifa jadvallari bazasini almashtirish, MMU yoki kesh siyosatini boshqarish, interruptlarni global maskalash va protsessorni to‘xtatish imtiyozli amallarga misol bo‘lishi mumkin. Aniq ro‘yxat arxitekturaga bog‘liq; bir ISAda alohida buyruq, boshqasida himoyalangan registrga yozuv ishlatiladi.
Tizim chaqiruvi
Foydalanuvchi dasturi disk yoki tarmoq kabi resursga to‘g‘ridan-to‘g‘ri imtiyozli buyruq bilan murojaat qilmaydi. System call maxsus nazoratli kirish nuqtasi orqali kernelga o‘tadi. Yadro argument va ruxsatlarni tekshiradi, kerakli amalni o‘z vakolatida bajaradi va natijani user mode’ga qaytaradi.
Bu chegara least privilege tamoyilini amalga oshiradi. Har jarayon global apparat holatini o‘zgartira olsa, xato yoki zararli kod boshqa jarayon xotirasini o‘qishi, himoyani o‘chirishi yoki tizimni ishdan chiqarishi mumkin.
Virtualizatsiya
Mehmon operatsion tizimi o‘zini kernel deb biladi, ammo haqiqiy resurslarni gipervizor boshqaradi. Sezgir buyruq bajarilganda apparat VM exit hosil qilib, gipervizorga nazorat beradi. U amalni emulyatsiya qiladi, virtual holatni yangilaydi yoki xavfsiz bo‘lsa apparat yordamida bevosita bajarishga ruxsat beradi.
Trap-and-emulate to‘g‘ri ishlashi uchun mehmon holatiga ta’sir qiluvchi barcha sezgir amal tutib olinishi kerak. Zamonaviy virtualizatsiya kengaytmalari sahifa tarjimasi, interrupt va timerlarni apparat darajasida ajratib, tez-tez chiqish xarajatini kamaytiradi.
Xavfsizlik va tekshiruv
Imtiyoz tekshiruvi buyruq yon ta’siridan oldin bajarilishi kerak. Spekulyativ ichki ish me’moriy natija qoldirmasa ham, maxfiy holatga bog‘liq yon kanal yaratmasligi lozim. Kernel foydalanuvchi ko‘rsatkichini imtiyozli kontekstda ishlatishdan oldin manzil, uzunlik va sahifa ruxsatini tekshiradi.
Debugger yoki administrator vakolati ham ISA privilege bilan aynan bir tushuncha emas. Operatsion tizim siyosati kernel interfeysiga kim kira olishini belgilaydi; protsessor esa joriy execution level bo‘yicha buyruqni nazorat qiladi.
Holatni almashtirish
Imtiyoz darajasi o‘zgarganda protsessor faqat rejim bitini almashtirmaydi. Qaytish manzili, oldingi status, interrupt maskasi va ba’zan alohida stek tanlanadi. Kirish vektori ruxsat etilgan manzildan olinadi. Handler tugagach maxsus return instruction saqlangan holatni tekshirib tiklaydi; oddiy funksiya return’i bu vazifani bajarmaydi.
Kernel foydalanuvchi taqdim etgan qiymatni control registerga to‘g‘ridan-to‘g‘ri yozmaydi. Ruxsat etilgan bitlar niqoblanadi, rezerv qilinganlari saqlanadi va o‘zgarishdan oldin kerakli kesh yoki TLB to‘siqlari bajariladi. Bir registrdagi noto‘g‘ri bit butun xotira himoyasi yoki interrupt yetkazilishini buzishi mumkin.
Audit tizimi muhim imtiyozli holat o‘zgarishlarini qayd etishi mumkin, lekin har bir past darajadagi buyruqni jurnal qilish amaliy emas. Yadro yuqori darajadagi siyosiy hodisa — modul yuklash, sahifa himoyasini o‘zgartirish yoki virtual mashina yaratishni yozadi.
Bog‘liq tushunchalar
kernel mode, user mode, system call, protection ring, hypervisor, control register