Arxitektura asoslangan multiproxtsirovka yuklashPowerPC yokiMips PowerPC yoki MIPS me'morchiligiga asoslangan ko'p protsessor tizimlarida yuklash tartibi x86 arxitekturasida ishlatilganiga o'xshaydi, ammo farq ularning maxsus yuklash dasturidan foydalanishi (masalan,startup-mvp yoki startup-bcm1250 ). Xususan, PowerPC arxitekturasidagi bootstrap dasturi bajarilishi uchun mo'ljallangan quyidagi vazifalar:
mavjud bo'lgan protsessor sonini aniqlash;
har bir qo'shimcha protsessorni ishga tushirish;
interruptlarni boshqarish (IRQ) va protsessorli blokirovkalarni (IPI), tizim boshqaruvchisini va boshqalarni ishga tushirish.
Har bir qo'shimcha protsessor aniqlansa, dastlabki dastur quyidagi ishlarni bajaradi:
protsessorni ishga tushirish;
xotira boshqaruvini ishga tushirish (MMU bloki);
keshlarni ishga tushirish;
Nosimmetrik juda ko'p ishlaydigan mikrokernel qanday ishlaydi Qo'shimcha protsessorlar qo'yib yuborilgach, barcha protsessorlar ish zarrachalaridan rejalashtirishda teng hisoblanadi. Rejalashtirish Vaqtinchalik algoritm bir xil protsessor tizimlari uchun qo'llaniladigan qoidalarga muvofiq qo'llaniladi. Bu shuni anglatadiki, eng yuqori o'ringa ega bo'lgan iplar bepul protsessorda ishlaydi. Eng yuqori ustunlik bilan bajarishga tayyor bo'lgan boshqa bir mavzu bo'lsa, u tegishli protsessorga o'tkaziladi. Agar bir nechta protsessor maqsad sifatida belgilansa, mikrokernel ipni oxirgi ishlaydigan protsessorga jo'natishga urinadi. Bunday yaqinlik mexanizmi jarayonlarning jarayonlari o'rtasidagi migratsiyasini kamaytirish uchun ishlatiladi, bu esa kesh ish faoliyatini qisqartiradi.
SMP tizimida rejalashtiruvchi rejani mustaqil boshqarishi mumkinkam ustunlik keshlarni ishlatishni optimallashtirish va iplar jarayonlari o'rtasidagi migratsiya darajasini minimallashtirish maqsadida ishlab chiqilgan. Har qanday holatda, bitta protsessorli tizimlarda ishlatiladigan real vaqtda rejalashtirish qoidalari ko'p-protsessorli tizimlarga to'liq amal qiladi.
Yadro himoyasi Bitta protsessorli tizimda bir vaqtning o'zida mikrokernelda faqat bir dona ish bajarilishi mumkin. Yadro tomonidan bajariladigan operatsiyalarning aksariyati juda qisqa (masalan, Pentium sinf protsessorida bir necha mikrosaniyadan ko'proq). QNX Neutrino mikrokerneli butunlay to'ldirilgan bo'lishi va undan ko'p vaqtni talab qiladigan operatsiyalar uchun qayta ishga tushirilishini ta'minlash uchun mo'ljallangan. Ushbu arxitektura mikrokernelni juda ixcham va tezkor harakatga keltirib chiqaradi va ko'p sonli batafsil qulflardan foydalanishni talab qilmaydi. Shuni aytib o'tish joizki, yadroning yadro kodida bir nechta qulflarning foydalanish tezligini sezilarli darajada pasaytiradi, chunki har bir blokirovkada, odatda, protsessor avtobusiga kirishni talab qiladi va bu protsessor to'xtatilishiga olib kelishi mumkin.
SMP tizimlarida QNX Neutrino OS bir xil falsafaga javob beradi: preemptable va qayta boshlangan yadroda faqat bittasi bo'lishi kerak. Har qanday protsessor uchun microkernel mavjud, lekin ulardan faqat bittasi har qanday vaqtda foydalanishlari mumkin.
Ko'pgina tizimlarda mikrokernel kodini bajarish uchun sarflangan vaqt protsessorda jami hisoblash yukining faqat kichik qismini tashkil etadi. Shuning uchun, ziddiyatlarning kelib chiqishi qoida emas, istisno holiga aylanmoqda. Bu, ayniqsa, operatsion tizimning an'anaviy xizmatlari (masalan, fayllar tizimi) alohida jarayonlar bo'lib, yadroning o'zi emasligida mikrokernelga to'g'ri keladi.
Do'stlaringiz bilan baham: |