Kernel - bu protsessor vaqti, xotira, tashqi apparat, tashqi kirish va chiqish moslamasi kabi kompyuter resurslariga muvofiqlashtirilgan kirish imkoniyatiga ega bo'lgan operatsion tizimning (OS) markaziy qismi. Odatda, yadro fayl tizimi va tarmoq protokoli xizmatlarini ham taqdim etadi.
Operatsion tizimning asosiy elementi sifatida yadro ilovalar uchun zarur bo'lgan tizim resurslariga kirish uchun abstraktsiyaning eng past darajasi hisoblanadi. Odatda, yadro protsesslararo aloqa mexanizmlari va OS tizimidagi qo'ng'iroqlarga dastur qo'ng'iroqlari yordamida tegishli dasturlarning bajariladigan jarayonlariga bunday kirishni ta'minlaydi.
Ta'riflangan vazifa yadro arxitekturasi turiga va qanday amalga oshirilishiga qarab farq qilishi mumkin.
Tarkib
1 Operatsion tizim yadrosi arxitekturasining turlari
1.1 Monolit yadrosi
1.2 Modulli yadro
1.3 Mikrokernel
1.4 Exokernel
1.5 Nanokernel
1.6 Gibrid yadro
2 Turli xil yondashuvlarning kombinatsiyasi
3 Izohlar
4 Adabiyotlar
5 Adabiyot
Operatsion tizim yadrosi arxitekturasining turlari
Monolitik yadro
Asosiy maqola: Monolitik yadro
Monolitik yadro apparat abstraktsiyalarining boy to'plamini beradi. Monolitik yadroning barcha qismlari bir xil manzil maydonida ishlaydi. Bu uning yadrosining barcha komponentlari bitta dasturning tarkibiy qismlari bo'lgan, umumiy ma'lumotlar tuzilmalaridan foydalanadigan va protseduralarni to'g'ridan-to'g'ri chaqirish orqali o'zaro aloqador bo'lgan operatsion tizimning sxemasi. Monolit yadro - operatsion tizimlarni tashkil qilishning eng qadimgi usuli. UNIX tizimlarining aksariyati monolit yadroli tizimlarga misoldir.
Afzalliklari: Ish tezligi, soddalashtirilgan modullarni ishlab chiqish.
Kamchiliklari: Butun yadro bir xil manzil maydonida ishlaganligi sababli, tarkibiy qismlardan birining ishdan chiqishi butun tizimning ishlashini buzishi mumkin.
Misollar: an'anaviy UNIX yadrolari (masalan, BSD), Linux; MS-DOS yadrosi, KolibriOS yadrosi.
Ba'zi eski monolitik yadrolar, ayniqsa UNIX / Linux tizimlari, apparat o'zgarganda har doim kompilyatsiya qilishni talab qiladi. Ko'pgina zamonaviy yadrolar, ishlayotganda, yadro funktsiyalarining bir qismini bajaradigan modullarni yuklashga imkon beradi. Bunday holda, operatsion tizimning tarkibiy qismlari mustaqil modullar emas, balki protseduralar to'plami bo'lgan monolit yadro deb nomlangan bitta katta dasturning tarkibiy qismlari bo'lib, ularning har biri har birini chaqirishi mumkin. Barcha protseduralar imtiyozli rejimda ishlaydi.
Modulli yadro
Asosiy maqola: Modulli yadro
Modulli yadro - bu monolit operatsion tizim yadrolari arxitekturasining zamonaviy, takomillashtirilgan modifikatsiyasi.
"Klassik" monolitik yadrolardan farqli o'laroq, modulli yadrolar, qoida tariqasida, kompyuter apparati tarkibi o'zgarganda yadroning to'liq kompilyatsiyasini talab qilmaydi. Buning o'rniga, modulli yadrolar ma'lum bir apparatni qo'llab-quvvatlaydigan yadro modullarini yuklash uchun ba'zi mexanizmlarni taqdim etadi (masalan, drayverlar). Bunday holda, modullarni yuklash ham dinamik bo'lishi mumkin ("zudlik bilan", operatsion tizimni qayta ishga tushirmasdan, ishlaydigan tizimda) va statik (ma'lum bir modullarni yuklash uchun tizimni qayta tuzgandan so'ng, OS qayta ishga tushirilganda amalga oshiriladi).
Mikrokernel
Asosiy maqola: Mikrokernel
Mikrokernel faqat asosiy jarayonlarni boshqarish funktsiyalari va apparat bilan ishlash uchun minimal abstraktlar to'plamini taqdim etadi. Ishlarning aksariyati xizmatlar deb nomlangan maxsus jarayonlar orqali amalga oshiriladi. "Mikrokernel" uchun hal qiluvchi mezon - bu barcha yoki deyarli barcha haydovchilar va modullarning xizmat ko'rsatish jarayonlariga joylashtirilishi, ba'zida har qanday kengaytma modullarini mikrokernelning o'ziga yuklash, shuningdek, bunday kengaytmalarni ishlab chiqish mumkin emasligi aniq.
Afzalliklari: Uskunaning ishdan chiqishiga, tizim komponentlaridagi xatolarga chidamli. Mikrokernel arxitekturasining asosiy afzalligi - bu operatsion tizim yadrosining yuqori darajadagi modulligi. Bu unga yangi tarkibiy qismlarni qo'shishni ancha osonlashtiradi. Mikrokernel operatsion tizimida, uning ishlashini to'xtatmasdan, yangi drayverlarni, fayl tizimlarini va boshqalarni yuklash va tushirish mumkin. Yadro komponentlarini disk raskadrovka jarayoni juda soddalashtirilgan, chunki butun drayverni qayta ishga tushirmasdan yangi drayver versiyasini yuklash mumkin. tizim. Operatsion tizim yadrosi komponentlari foydalanuvchi dasturlaridan tubdan farq qilmaydi, shuning uchun ularni disk raskadrovka qilish uchun odatiy vositalardan foydalanishingiz mumkin. Mikrokernel arxitekturasi tizimning ishonchliligini oshiradi, chunki imtiyozsiz dastur darajasidagi xato yadro rejimi darajasidagi halokatga qaraganda kamroq xavfli.
Kamchiliklari: Jarayonlar o'rtasida ma'lumotlarni uzatish qo'shimcha xarajatlarni talab qiladi.
Klassik mikrokernellar operatsion tizimning asosiy xizmatlarini amalga oshiradigan juda kichik darajadagi primitivlar to'plami yoki tizim qo'ng'iroqlarini taqdim etadi.
Xizmat qilish jarayonlari (UNIX oilasida qabul qilingan terminologiyada - "demonlar") har xil operatsion tizimlarda dasturlarni jadval bo'yicha (UNIX va Windows NT) ishga tushirish, tizimga kirish kabi vazifalar uchun faol foydalaniladi.
(UNIX va Windows NT), markazlashtirilgan parolni tekshirish va joriy interaktiv foydalanuvchi parolini maxsus cheklangan xotira maydonida saqlash (Windows NT). Ammo, bunday arxitekturadan foydalanganligi sababli, operatsion tizimlarni mikrokernel deb hisoblash mumkin emas.
Misollar: Symbian OS; Windows CE; OpenVMS; Mach, GNU / Hurd va Mac OS X tomonidan ishlatiladi; QNX; AIX; Minix; ChorusOS; AmigaOS; Morfos.
Exokernel
Asosiy maqola: Exocore
Exokernel - bu jarayonlar orasidagi aloqa, resurslarni xavfsiz ajratish va chiqarish uchun faqat funktsiyalarni ta'minlaydigan operatsion tizim yadrosi. Amaliy dasturlar uchun API-lar yadrodan tashqaridagi kutubxonalar tomonidan ta'minlanadi (shuning uchun arxitektura nomi).
Nazoratchi darajasidagi qurilmalarga kirish qobiliyati universal OS tizimiga mos kelmaydigan ba'zi vazifalarni yanada samarali echishga imkon beradi, masalan, DBMS dasturining disk sektorlari darajasida diskka kirish huquqi bo'ladi, ishlashga ijobiy ta'sir ko'rsatadigan fayllar va klasterlardan ko'ra.
Nanokernel
Asosiy maqola: Nanokore
Nanokernel - bu operatsion tizim yadrosining arxitekturasi bo'lib, uning ichida o'ta soddalashtirilgan va minimalist yadro faqat bitta vazifani bajaradi - kompyuter qurilmalari tomonidan ishlab chiqarilgan apparat uzilishlarini qayta ishlash. Jihozdagi uzilishlarni qayta ishlagandan so'ng, nanokore, o'z navbatida, ishlov berish natijalari to'g'risidagi ma'lumotlarni (masalan, klaviaturadan olingan belgilar) xuddi shu uzilish mexanizmi yordamida yuqori dasturiy ta'minotga yuboradi. Masalan, KeyKOS - nano-yadrodagi birinchi OS. Birinchi versiyasi 1983 yilda chiqarilgan.
Gibrid yadro
Asosiy maqola: Gibrid yadro
Gibrid yadrolar - bu ishlarni tezlashtirish uchun yadro makonida "keraksiz" qismlarni ishlashiga imkon beradigan o'zgartirilgan mikrokernellar. Misol: Windows NT operatsion tizimining yadrolari.
Turli xil yondashuvlarning kombinatsiyasi
Operatsion tizimlarni qurishda ko'rib chiqilgan barcha yondashuvlarning o'ziga xos afzalliklari va kamchiliklari mavjud. Ko'pgina hollarda zamonaviy operatsion tizimlar ushbu yondashuvlarning turli xil kombinatsiyalaridan foydalanadilar. Masalan, endi Linux yadrosi modul yadrosining alohida elementlari bo'lgan monolitik tizimdir [1]. Yadroni kompilyatsiya qilishda siz juda ko'p yadro komponentlarini - modullar deb nomlangan dinamik yuklash va tushirishni yoqishingiz mumkin. Modul yuklanganda uning kodi tizim darajasida yuklanadi va yadroning qolgan qismiga bog'lanadi. Modul ichida yadro tomonidan eksport qilingan har qanday funktsiyalardan foydalanish mumkin.
Monolitik yadro o'rniga Mach yadrosidan foydalanadigan GNU operatsion tizimining variantlari mavjud (xuddi shu Hurd bilan bir xil) va uning ustiga foydalanuvchi makonida Linux yordamida yadro tarkibiga kiradigan bir xil jarayonlar ishlaydi. Aralashtirilgan yondashuvning yana bir misoli - bu operatsion tizimni monolitik yadro bilan mikrokernel nazorati ostida boshqarish qobiliyatidir. Mach mikrokerneliga asoslangan 4.4BSD va MkLinux shunday ishlaydi. Mikrokernel virtual xotirani boshqarish va past darajadagi drayverlarni ta'minlaydi. Boshqa barcha funktsiyalar, shu jumladan amaliy dasturlar bilan o'zaro aloqani monolit yadro bajaradi. Ushbu yondashuv monolitik yadro kodini iloji boricha yaxshi disk raskadrovka qilish bilan birga mikrokernel arxitekturasidan foydalanishga urinishlar natijasida shakllandi.
Aralashgan yadro, asosan, monolitik yadro va mikrokernelning afzalliklarini birlashtirishi kerak: tuyuladiki, mikro yadro va monolit yadro haddan tashqari, aralash yadro esa oltin o'rtacha hisoblanadi. Qurilma drayverlarini ularga ikkita usulda qo'shish mumkin: ham yadro ichida, ham foydalanuvchi makonida. Ammo amalda aralash yadro kontseptsiyasi ko'pincha yadrolarning nafaqat afzalliklarini, balki kamchiliklarini ham ta'kidlaydi.
Do'stlaringiz bilan baham: |