Modulli arxitektura (mikroyadroga asoslangan)
Modulli arxitektura (10.2.2-rasm) darboğazni - APIni olib tashlash va tizimni yangilashni osonlashtirish va uni yangi protsessorlarga ko'chirishga urinish sifatida paydo bo'ldi.
Modulli arxitekturadagi API faqat bitta rol o'ynaydi: u amaliy jarayonlar va maxsus modul - jarayon menejeri o'rtasidagi aloqani ta'minlaydi. Biroq, mikroyadro endi ikki tomonlama rol o'ynaydi:
tizim qismlarining o'zaro ta'sirini boshqarish (masalan, jarayon va fayl menejerlari),
tizim kodining bajarilishining uzluksizligini ta'minlash (ya'ni, mikroyadroni bajarish jarayonida vazifani almashtirishning yo'qligi).
Guruch. 10.2.2 - Modulli arxitektura
Modulli arxitekturaning kamchiliklari aslida monolitniki bilan bir xil. Muammolar API darajasidan mikroyadro darajasiga o'tdi. Mikroyadro ishlayotgan vaqtda tizim interfeysi hali ham vazifani almashtirishga ruxsat bermaydi, faqat bu holatda o'tkaziladigan vaqt qisqartirildi. API hali ham faqat assemblerda amalga oshirilishi mumkin, mikroyadroning portativligi bilan bog'liq muammolar kamaydi (uning hajmining qisqarishi tufayli), ammo saqlanib qolmoqda.
Mikroyadro ob'ektlari asosidagi obyekt arxitekturasi
Ushbu arxitektura (SoftKernel RTOS-da qo'llaniladi) umuman APIga ega emas. Tizim komponentlari (mikroyadrolar) va foydalanuvchi jarayonlari o'rtasidagi o'zaro ta'sir oddiy funktsiya chaqiruvi orqali amalga oshiriladi, chunki tizim ham, ilovalar ham bir xil tilda (C++) yozilgan. Bu tizim qo'ng'iroqlarining maksimal tezligini ta'minlaydi.
Tizimning barcha komponentlarining haqiqiy tengligi vazifalarni istalgan vaqtda almashtirish imkoniyatini beradi, ya'ni. tizim to'liq ustunlik qiladi.
Ob'ektga yo'naltirilgan yondashuv modullilik, xavfsizlik, modernizatsiya qilish qulayligi va kodni qayta ishlatishni ta'minlaydi.
API rolini kompilyator va ob'ekt havolalarining dinamik muharriri (bog'lovchi) bajaradi. Ilova ishga tushganda, dinamik bog'lovchi o'ziga kerak bo'lgan mikroyadrolarni yuklaydi (ya'ni, oldingi tizimlardan farqli o'laroq, operatsion tizimning barcha komponentlarini RAMga yuklash shart emas). Agar mikroyadro boshqa dastur uchun allaqachon yuklangan bo'lsa, u qayta yuklanmaydi, lekin allaqachon mavjud mikroyadroning kodi va ma'lumotlari ishlatiladi. Ushbu usullarning barchasi kerakli xotira hajmini kamaytiradi.
Turli xil ilovalar bir xil mikroyadrolarni baham ko'rganligi sababli, ular bir xil manzil maydonida ishlashi kerak. Shunday qilib, tizim virtual xotiradan foydalana olmaydi va shuning uchun tezroq ishlaydi (chunki virtual manzilni jismoniy manzilga tarjima qilishda kechikishlar yo'q).
Barcha ilovalar va mikroyadrolarning o'zlari bir xil manzil maydonida ishlaganligi sababli ular kompilyatsiya vaqtida noma'lum manzildan boshlab xotiraga yuklanadi. Shuning uchun ilovalar va mikroyadrolar boshlang'ich manzilga bog'liq bo'lmasligi kerak (kodda ham, ma'lumotlarda ham (ikkinchisini taqdim etish ancha qiyin)). Ushbu xususiyat avtomatik ravishda ilovalar va modullarni ROMga yozish imkoniyatini beradi, keyinchalik ularni ROMning o'zida ham, RAMda ham bajaradi.
Mikroyadrolar xarakteristikalari bo'yicha boshqa operatsion tizimlarda qo'llaniladigan tuzilmalarga o'xshash, ammo ba'zi farqlar mavjud.
Do'stlaringiz bilan baham: |