uy - Noutbuklar
Mikroyadro funktsiyalari. Microkernel OS arxitekturasi

Mikroyadro arxitekturasi operatsion tizimni qurishning klassik usuliga muqobildir.

Mikroyadro arxitekturasining mohiyati quyidagicha. Imtiyozli rejimda OS ning faqat juda kichik qismi ishlaydi, chaqiriladi mikroyadro (14-rasm). Mikroyadro qolgan OT va ilovalardan himoyalangan. Mikroyadro odatda mashinaga bog'liq modullarni, shuningdek, jarayonni boshqarish, uzilishlarni boshqarish, virtual xotirani boshqarish, xabarlarni yo'naltirish va yuklash yoki o'qish bilan bog'liq kiritish-chiqarish qurilmalarini boshqarish kabi asosiy (ammo hammasi emas!) yadro funktsiyalarini bajaradigan modullarni o'z ichiga oladi. qurilmalarni ro'yxatdan o'tkazadi. Mikroyadroning funktsiyalari to'plami odatda oddiy yadroning asosiy mexanizm qatlamining funktsiyalariga mos keladi. Operatsion tizimning bunday funksiyalarini foydalanuvchi maydonida bajarish qiyin, hatto imkonsizdir.

Boshqa barcha yuqori darajadagi yadro funktsiyalari foydalanuvchi rejimida ishlaydigan ilovalar sifatida paketlangan. Qaysi tizim funktsiyalarini imtiyozli rejimda qoldirish va qaysi birini foydalanuvchi rejimiga o'tkazish haqida aniq qaror yo'q.

Umuman olganda, oddiy yadroning ajralmas qismi bo'lgan ko'plab resurs menejerlari- fayl tizimi, virtual xotira va jarayonlarni boshqarish quyi tizimlari, xavfsizlik menejeri va boshqalar, - foydalanuvchi rejimida ishlaydigan "periferik" modullarga aylanadi.

Foydalanuvchi rejimida ishlaydigan resurs menejerlari an'anaviy operatsion tizim yordam dasturlari va ishlov berish dasturlaridan tubdan farq qiladi, ammo mikroyadro arxitekturasi bilan ushbu dasturiy ta'minotning barcha komponentlari ilovalar sifatida paketlangan. Utilitlar va ishlov berish dasturlari birinchi navbatda foydalanuvchilar tomonidan chaqiriladi. Bitta dastur boshqa ilovaning funksiyasini (protsedurasini) bajarishni talab qiladigan holatlar juda kam uchraydi.

Shu sababli, klassik arxitekturaga ega bo'lgan operatsion tizimlarda bir dastur boshqasining funktsiyalarini chaqirishi mumkin bo'lgan mexanizm mavjud emas.

Operatsion tizimning bir qismi dastur shaklida taqdim etilganda butunlay boshqacha vaziyat yuzaga keladi. Ta'rifga ko'ra, bunday dasturning asosiy maqsadi boshqa ilovalarning so'rovlariga xizmat qilishdir, masalan, jarayonni yaratish, xotirani ajratish, resurs ruxsatlarini tekshirish va hokazo.

Shuning uchun foydalanuvchi rejimiga joylashtirilgan resurs menejerlari OS serverlari deb ataladi, bular. modullar, ularning asosiy maqsadi mahalliy ilovalar va boshqa OT modullarining so'rovlariga xizmat qilishdir. Bu aniq Mikroyadro arxitekturasini amalga oshirish uchun zaruriy shart - bu operatsion tizimda bir jarayonning protseduralarini boshqasidan chaqirishning qulay va samarali usulining mavjudligi. Bunday mexanizmni qo'llab-quvvatlash mikroyadroning asosiy vazifalaridan biridir.


Sxematik ravishda server sifatida ishlab chiqilgan OT funktsiyalariga kirish mexanizmi quyidagicha ko'rinadi (15-rasm).

Amaliy dastur yoki boshqa OT komponenti bo'lishi mumkin bo'lgan mijoz tegishli serverdan xabar yuborish orqali ba'zi funksiyalarni bajarishni so'raydi. Ilovalar o'rtasida to'g'ridan-to'g'ri xabarlarni uzatish mumkin emas, chunki ularning manzil joylari bir-biridan ajratilgan.

Mikroyadro, imtiyozli rejimda ishlaydigan, ushbu ilovalarning har birining manzil joylariga kirish huquqiga ega va shuning uchun vositachi sifatida ishlashi mumkin. Mikroyadro birinchi navbatda kerakli serverga chaqiriladigan protsedura nomi va parametrlarini o'z ichiga olgan xabarni yuboradi, so'ngra server so'ralgan operatsiyani bajaradi, shundan so'ng yadro boshqa xabar yordamida natijalarni mijozga qaytaradi.

Mikroyadro operatsion tizimlarida biz tizimning nazorat qismiga tegishli markaziy ixcham modulni aniqlashimiz mumkin. Ushbu modul o'lchami juda kichik va nisbatan kam sonli boshqaruv funktsiyalarini bajaradi, lekin boshqaruvni boshqa boshqaruv modullariga o'tkazish imkonini beradi, ular so'ralgan funktsiyani bajaradi. Mikroyadro modulli va portativ kengaytmalar uchun asos bo'lib xizmat qiluvchi operatsion tizimning minimal asosiy qismidir. Mikroyadroning o'zi kompyuterning eng yuqori ustuvor holatida ishlaydigan va operatsion tizimning qolgan qismi bilan aloqada bo'lgan tizim dasturiy ta'minotining moduli bo'lib, u server ilovalari (xizmatlari) to'plami hisoblanadi.

20-asrning 90-yillarida keyingi avlodlarning aksariyat operatsion tizimlari mikroyadro sifatida quriladi, degan juda keng tarqalgan e'tiqod mavjud edi. Biroq, amaliyot shuni ko'rsatadiki, bu mutlaqo to'g'ri emas. Ishlab chiquvchilar ixcham mikroyadroga ega bo'lishni xohlashadi, lekin ayni paytda ushbu dasturiy modul tomonidan to'g'ridan-to'g'ri bajariladigan imkon qadar ko'proq funktsiyalarni o'z ichiga oladi. Chunki mikroyadrodan chaqirilgan boshqa modul tomonidan so'ralgan funksiyaning bajarilishi qo'shimcha kechikishlar va qo'shimcha asoratlarga olib keladi. Bundan tashqari, mikroyadroga nisbatan operatsion tizim xizmatlarini qanday tashkil qilish kerakligi haqida juda ko'p turli xil fikrlar mavjud; Funktsionallikni saqlagan holda eng yuqori samaradorlikka erishish uchun qurilma drayverlarini qanday loyihalash kerak


290____________________________ 9-bob. Operatsion tizimlar arxitekturasi

apparatdan imkon qadar mustaqil bo'lgan drayverlar; yadro bo'lmagan operatsiyalar yadro maydonida yoki foydalanuvchi maydonida bajarilishi kerakmi; Mavjud quyi tizimlar (masalan, UNIX) dasturlarini saqlashga arziydimi yoki hamma narsani tashlab, noldan boshlash yaxshiroqmi?

Mikroyadro texnologiyasining asosiy g'oyasi ierarxiyaning yuqori darajasida barcha apparat darajasidagi funktsiyalarga osongina kirish mumkin bo'lgan zarur muhitni yaratishdir. Bunday holda, mikroyadro barcha boshqa tizim modullarini yaratish uchun boshlang'ich nuqtadir. Tizim uchun zarur bo'lgan funktsiyalarni amalga oshiradigan ushbu boshqa barcha modullar mikroyadrodan chaqiriladi va xizmat vazifasini bajaradi. Shu bilan birga, ular oddiy jarayon yoki vazifa maqomini oladilar. Aytishimiz mumkinki, mikroyadro arxitekturasi mijoz-server texnologiyasiga mos keladi. Aynan shu texnologiya operatsion tizimni loyihalashning yuqoridagi tamoyillarini ko'proq va kamroq mehnat bilan amalga oshirish imkonini beradi.

Mikroyadroni ishlab chiqishning eng muhim vazifasi kerakli va yetarli xizmat ko'rsatish uchun mikroyadroda bo'lishi kerak bo'lgan asosiy primitivlarni tanlashdir. Mikroyadro asosiy tizim chaqiruvlarini amalga oshirish uchun zarur bo'lgan minimal kod miqdorini o'z ichiga oladi va bajaradi. Ushbu qo'ng'iroqlar mikroyadrodan tashqarida bo'lgan jarayonlar o'rtasidagi xabarlarni uzatish va boshqa aloqalarni, uzilishlarni boshqarishni qo'llab-quvvatlashni va boshqa bir qator juda kam funktsiyalarni o'z ichiga oladi. "Oddiy" (mikroyadro bo'lmagan) operatsion tizimlarga xos bo'lgan qolgan tizim funktsiyalari modulli qo'shimcha jarayonlar sifatida taqdim etiladi, ular asosan bir-biri bilan o'zaro ta'sir qiladi va xabarlarni uzatish orqali o'zaro ta'sir qiladi.

Aksariyat mikroyadroli operatsion tizimlar uchun ushbu arxitekturaning asosi Mach mikroyadro texnologiyasidir. Ushbu operatsion tizim Karnegi Mellon universitetida yaratilgan va ko'plab ishlab chiquvchilar undan o'rnak olishgan.

Mikroyadro tomonidan bajariladigan funktsiyalar uning hajmini kamaytirish va amaliy dastur sifatida ishlaydigan kod miqdorini maksimal darajada oshirish uchun cheklangan. Mikroyadro faqat amaliy dasturlar uchun mavhum ishlov berish muhitlari to'plamini aniqlash va ilovalar bilan birgalikda ishlashga ruxsat berish uchun zarur bo'lgan funktsiyalarni o'z ichiga oladi. Natijada, mikroyadro faqat besh xil turdagi xizmatlarni taqdim etadi:

Virtual xotirani boshqarish;

Ishlar va mavzularni qo'llab-quvvatlash;

Jarayonlararo aloqa (IPC);
- kiritish-chiqarishni qo'llab-quvvatlash va uzilishlarni boshqarish;

Xost 1 va protsessor xizmatlari.

1 Xost - asosiy kompyuter. Hozirgi vaqtda bu atama IP-manzilga ega bo'lgan har qanday kompyuterni anglatadi.


Mikroyadro operatsion tizimlari______________ 291

Fayl tizimlari, tashqi qurilmalarni qo'llab-quvvatlash va an'anaviy dasturiy interfeyslar kabi boshqa operatsion tizim quyi tizimlari va funktsiyalari tizim xizmatlari sifatida paketlanadi yoki oddiy ishlov berish vazifalari maqomi beriladi. Bu dasturlar mikroyadro dasturlari sifatida ishlaydi.

Har bir topshiriqni bajarishning bir nechta iplari kontseptsiyasidan foydalanib, mikroyadro ko'p protsessorlardan foydalanishga imkon beruvchi dastur muhitini yaratadi; Bunday holda, mashinaning ko'p protsessorli bo'lishi shart emas: bitta protsessorli mashinada turli xil iplar turli vaqtlarda ishlaydi. Ko'p protsessorli mashinalar uchun zarur bo'lgan barcha yordam nisbatan kichik va oddiy mikroyadroda to'plangan.

Kichik o'lchamlari va amaliy dasturlar bilan birga ishlaydigan oddiy jarayonlar sifatida boshqa xizmatlarni qo'llab-quvvatlash qobiliyati tufayli mikroyadrolarning o'zlari monolit yoki modulli operatsion tizim yadrolariga qaraganda oddiyroqdir. Mikroyadro yordamida operatsion tizimning nazorat qismi modulli qismlarga bo'linadi, ular bir necha usul bilan sozlanishi mumkin, bu esa kichikroq qismlarga qismlarni qo'shish orqali kattaroq tizimlarni qurishga imkon beradi. Misol uchun, har bir apparatdan mustaqil neytral xizmat mantiqiy jihatdan alohida va turli yo'llar bilan sozlanishi mumkin. Mikroyadrolar, shuningdek, agar mavjud bo'lsa, bir nechta protsessorlardan foydalanishi mumkin bo'lgan, agar mavjud bo'lmasa, bittasida ishlaydigan standart dasturiy ta'minot muhitini yaratish orqali ko'p protsessorlarni qo'llab-quvvatlashni osonlashtiradi. Ko'p protsessorlar uchun maxsus kod faqat mikroyadroning o'zi bilan cheklangan. Bundan tashqari, bir-biri bilan aloqa qiladigan mikroyadrolar tarmoqlari paydo bo'lgan massiv parallel mashinalar sinfi uchun operatsion tizimni qo'llab-quvvatlash uchun ishlatilishi mumkin.

Ba'zi hollarda mikroyadro yondashuvidan amalda foydalanish ma'lum qiyinchiliklarga duch keladi, bu klassik yondashuvga nisbatan mikroyadro orqali xabarlarni uzatishda tizim chaqiruvlarini bajarish tezligining biroz sekinlashishi bilan namoyon bo'ladi. Boshqa tomondan, buning aksini aytish mumkin. Mikroyadrolar kichik va yuqori darajada optimallashtirilganligi sababli, muayyan sharoitlarda ular qurilmani boshqarish va yuqori tezlikdagi aloqa uchun zarur bo'lgan real vaqtda ishlashni ta'minlay oladi. Nihoyat, yaxshi tuzilgan mikroyadrolar yuqori darajadagi dasturlash tillaridan foydalanish bilan niqoblanmagan apparat farqlariga qarshi izolyatsiya qatlamini ta'minlaydi. Shunday qilib, ular kodni portlashni osonlashtiradi va kodni qayta ishlatish darajasini oshiradi.

Mikroyadro operatsion tizimlarining eng ko'zga ko'ringan vakili QNX real vaqtda operatsion tizimidir. QNX mikroyadrosi faqat jarayonni rejalashtirish va jo'natish, jarayon aloqasi, uzilishlar bilan ishlash va quyi darajadagi tarmoq xizmatlarini qo'llab-quvvatlaydi (QNX OS haqida qo'shimcha ma'lumot olish uchun 10-bobga qarang). Ushbu mikroyadro bor-yo'g'i bir necha o'nlab tizim qo'ng'iroqlarini ta'minlaydi, ammo buning natijasida u butunlay hatto Intel 486 kabi protsessorlarning ichki keshida joylashgan bo'lishi mumkin. Ma'lumki, ushbu operatsion tizimning turli versiyalarida yadro o'lchamlari har xil edi - 8 dan. 46 KB gacha.


292____________________________ 9-bob. Operatsion tizimlar arxitekturasi

Minimal QNX tizimini yaratish uchun mikroyadroga jarayonlar va jarayon xotirasini yaratuvchi va boshqaradigan jarayon menejerini qo'shish kerak. QNX operatsion tizimini o'rnatilgan va disksiz tizimlardan ko'proq narsaga qo'llash uchun fayl tizimi va qurilma menejerini qo'shishingiz kerak. Ushbu menejerlar yadro maydonidan tashqarida ishlaydi, shuning uchun yadro kichik bo'lib qoladi.

  • Tizim dasturlash,
  • Linuxni rivojlantirish
  • Yaqinda Amsterdam Vrije Universiteit professori, Minix ta'lim va miniatyura Unix tizimining muallifi Endryu Tatenbaum epistolyar janr tufayli yana harakat markazida bo'ldi. Intelga o'z maktubida u Minix-dan foydalangani uchun kompaniyaga minnatdorchilik bildirdi, uni har qadamda karnay qilmayotganidan shikoyat qildi va shu sababli Minix-ning bugungi kunda ekanligini kam odam bilishini aytdi. dunyodagi eng mashhur OS.



    Uning kreditiga, professor elektron pochta orqali yuborilgan oddiy xabar bilan baland va doimiy effekt yaratish uchun qabul qiluvchini, vaqt va joyni qanday tanlashni biladi. Uning oldingi muxbiri Linus Torvalds edi va ularning monolit va mikroyadro haqidagi yozishmalari IT tarixining yilnomalariga kirdi. Busiz, Endryu Tanenbaum atigi o'n yil davomida Intelning IME orqa eshiklarining ishlashini ta'minlagan Minixning taxminiy muvaffaqiyatidan nima uchun juda hayajonlanganini tushunish qiyin.

    Linuxning tug'ilishi va monolit yadro tanqidi

    26 yil oldin, Unix uchun dasturlash oddiy talaba uchun ahamiyatsiz ish emas edi, chunki Unixning barcha turlari pullik edi. Ushbu operatsion tizimni o'zlashtirish uchun Linus Minix-ni o'rnatishga qaror qildi. O'sha paytda Internet hali boshlang'ich bosqichida edi, OS buyurtmasi oddiy pochta orqali, shuningdek etkazib berish orqali amalga oshirildi. Minix uchun men 169 dollar ajratishim kerak edi.


    Minix haqida ko'p shikoyatlarim bor. Eng yomoni terminal emulyatsiyasi edi, men uchun juda muhim dastur, chunki men universitet kompyuteriga ulanganim uchun foydalanardim. Kuchli Unix tizimi bilan ishlash yoki shunchaki internetga kirish uchun universitet kompyuteriga har safar ulanganimda men ushbu emulyatsiyaga bog'liq edim.

    Tez orada Linux-ning bo'lajak yaratuvchisi Minix-ning jiddiy kamchiliklarini aniqladi. Bu Unixning ta'lim versiyasi bo'lgani uchun professor uni ataylab buzib ko'rsatdi. Ushbu kamchiliklarning ko'pchiligini eng mashhur Minix xakeri Bryus Evansning yamog'i bilan bartaraf etish mumkin edi, ammo uni o'rnatish uchun siz juda ko'p skripka qilishingiz kerak edi. Linus uchun eng muhim kamchilik terminal emulyatsiya dasturi bo'lib, uni o'zi bilan almashtirish kerak edi. Keyin fayl tizimi drayveri kerak edi va biz ketamiz, yangi OS yadrosi boltadan bo'tqa kabi tug'ildi.


    1991 yil 25 avgust Linus o'zining bepul operatsion tizim ustida ishlayotgani haqida mashhur xabarini yubordi, ammo bu unchalik katta va professional loyiha bo'lmaydi. GNU. Shunisi e'tiborga loyiqki, Linus o'zining operatsion tizimining ushbu va boshqa dastlabki e'lonlarini Minix konferentsiyasiga yuborib, foydalanuvchilarni jalb qiladi.


    Endryu Tanenbaum hozircha bunga hech qanday munosabat bildirmadi, lekin Linux qor to'pi kabi o'sdi. 1992 yil yanvar oyida allaqachon 0.12 versiyasi chiqarildi, unda diskdagi paging amalga oshirildi - Minix-da mavjud bo'lmagan narsa. Ko'p o'tmay, professor unga shaxsan javob berish uchun boshlovchiga murojaat qildi va 29 yanvar kuni Linus axloqiy mazmun bilan comp.os.minix konferentsiyasiga xabar oldi. Boshlanish dalda berdi.


    Kimdan: [elektron pochta himoyalangan](Endi Tanenbaum)
    Bu: Yangiliklar guruhlari: comp.os.minix
    Mavzu: LINUX eskirgan
    Sana: 29 Yanvar 92 12:12:50 GMT

    Men bir necha hafta AQShda bo'ldim, shuning uchun men LINUX haqida ko'p yozmadim (bu erda bo'lganimda yozardim degani emas). Biroq, endi men bir nechta sharhlarni aytmoqchiman.
    Ko'pchiligingizga ma'lumki, men uchun MINIX - bu men uchun kechki payt kitob yozishdan charchaganimda va CNN telekanalida urush, inqilob yoki parlament eshituvlari bo'lmaganda qiladigan sevimli mashg'ulotim. Mening asosiy ishim - operatsion tizimlar sohasida o'qitish va tadqiqot.

    Shundan so'ng u yoki bu printsipga ega bo'lgan monolit yadro, mikroyadro va OS haqida ma'lumot berildi. Keyin operatsion tizimni ishlab chiqish bo'yicha mutaxassislar o'rtasida mikroyadroning aniq afzalliklari tufayli ushbu masala bo'yicha bahs-munozaralar allaqachon to'xtatilganligi haqidagi mantiqiy asossiz dalil keldi. Minixning progressiv ekanligi va Linux 1970-yillarga qaytishi haqidagi keyingi bayonotlar. Bundan tashqari, Linux yagona arxitekturada qulflangan, Minix esa Intel protsessorlaridan boshqa platformalarga: Atari, Amiga, Macintosh, SPARC va NS32016 ga ko'chirilgan.


    Men ushbu ikki yondashuvning nisbiy afzalliklari haqida ko'p gapirishim mumkin, ammo operatsion tizim ishlab chiquvchilari o'rtasidagi bahs-munozaralar tugaganligini aytish kifoya. Mikroyadro g'alaba qozondi. Minix - bu mikroyadroli tizim. Fayl tizimi va xotira boshqaruvi yadrodan tashqarida ishlaydigan alohida jarayonlardir. I/U ham alohida bajariladi. LINUX - bu monolit tizim. Bu 70-yillarga katta qadamdir. yillar.


    90-yillarning boshlarida mikroyadro haqiqatan ham operatsion tizim dizaynerlari orasida sevimli bo'lgan. Ularning fikriga ko'ra, OS yadrosi minimal bo'lishi kerak va faqat asosiy narsalarni o'z ichiga olishi kerak: xotira boshqaruvi, rejalashtiruvchi va IPC va qolgan hamma narsa xizmatlar sifatida amalga oshirilishi kerak. Butunlikni ko'plab oddiy qismlarga bo'lish orqali murakkablik yo'qoladi va engil xizmatlar mikroyadro bilan osongina bog'lanadi. Fayl tizimi yoki tarmoq kartasi drayveridagi nosozlik tegishli xizmatni qayta ishga tushirish orqali tiklandi.

    Linus taklifni qabul qiladi

    Linus bu borada boshqacha fikrda edi. Garchi u nazariy nuqtai nazardan mikroyadro arxitekturasining nafisligi va nafisligini yuqori baholagan bo'lsa-da, u mikroyadroni amaliy maqsadlar uchun yaroqsiz deb hisobladi. Mikroyadroning xayoliy soddaligi shundan kelib chiqadiki, mikroyadroning oddiy qismlari orasidagi o'zaro ta'sir va interfeys uning barcha "qog'oz" afzalliklarini zararsizlantiradigan asoratlarni keltirib chiqaradi. O'z javobida u ushbu masala bo'yicha o'z qarashlarini bayon qildi. Raqibiga jasoratli hujumlar uyushtirganidan so'ng, Linus nuqtaga etib boradi.


    Kimdan: [elektron pochta himoyalangan](Linus Benedikt Torvalds)
    Mavzu: Re: LINUX eskirgan
    Sana: 29 Yanvar 92 23:14:26 GMT
    Tashkilot: Xelsinki universiteti

    ...
    Ha, linux - bu monolit tizim va men mikroyadro yaxshiroq ekanligiga qo'shilaman. Agar sizning postingiz bunday bahsli sarlavhaga ega bo'lmaganida, ehtimol siz aytgan gaplarning aksariyatiga qo'shilardim. Nazariy (va estetik) nuqtai nazardan, Linux yo'qotadi. Agar GNU yadrosi o'tgan bahorda tayyor bo'lganida edi, men o'z rivojlanishimni boshlamagan bo'lardim: muammo shundaki, u o'sha paytda tayyor emas edi va hali tayyor emas. Linux, birinchi navbatda, u allaqachon tayyor bo'lgani uchun g'alaba qozonadi.

    Keyin Minix-ning ko'p vazifali fayl tizimi bilan bog'liq muammolarini sanab o'tadi.


    Agar bu yadro sifati uchun yagona mezon bo'lsa, siz haqsiz. Biroq, siz miniksdagi mikroyadro yomon ishlab chiqilganligi va ko'p vazifali (yadroda) muammolar paydo bo'lishi haqida yozmayapsiz. Agar men fayl tizimida ko'p vazifalarni bajarish bilan bog'liq muammolarga duch kelgan operatsion tizimni yaratganimda, men boshqalarni hukm qilishga u qadar shoshilmagan bo'lardim: aksincha, hammaga mening muvaffaqiyatsizligimni unutish uchun egilib qolardim. Ha, bilaman, minix uchun ko‘p tarmoqli ishlashni qo‘llab-quvvatlash uchun bir necha tonna yamoqlar bor, lekin ular shunchaki yamoqlar va Bryus Evansning aytishicha, sinxronizatsiya bilan bog‘liq muammolar hali ham ko‘p.

    Konferentsiyadagi to'qnashuv davom etmoqda, yangi ishtirokchilar bahsga kirishmoqda. Endryu Tanenbaum va Linus Torvalds bahslarini davom ettirmoqdalar, ammo bo'ysunadigan tarzda. Quyida tanlangan tirnoqlarning bepul tarjimasi keltirilgan.


    Endryu Tanebaum: Men Minix-ni talabalar uni turli xil arzon kompyuter uskunalarida ishga tushirishlari uchun ataylab shunday bema'nilik bilan yozdim, lekin mening operatsion tizimimning dizayni sizning qoloq Linuxingizga o'xshamaydi. Bundan tashqari, uni boshqa platformalarga o'tkazib bo'lmaydi. Men sizga imtihonda baho qo'ygan bo'lardim.

    Devid Feustel: Hech qanday muammo yo'q va Eynshteyn matematika va fizikadan yomon baholarga ega edi.

    Ken Tompson: Foydalanuvchilar o'z kompyuteridagi dasturiy ta'minotning yangilanganligiga ahamiyat bermaydilar; unumdorlik muhimroqdir. Ha, kelajak mikroyadroga tegishli, ammo monolit yadroni pishirish osonroq. Biroq, agar siz kodni shoshilinch ravishda yozsangiz, uni buzish osonroq bo'ladi.

    Rendi Berns: Linux tizimi qo'ng'iroqlari portativ operatsion tizimlar bilan mos keladi, shuning uchun bitta platformaga qulflanganligi haqidagi shikoyatlar ahamiyatsiz. Aksincha, Linux bo'shliqni yopadi, GNU dasturlaridan foydalanishga imkon beradi. Ehtimol, bir necha yil ichida Hurd va arzon BSD tizimlari keng tarqalib, Linux eskirgan bo'lsa, lekin hozircha biz gcc, bash, bizondan hech narsaga bahramand bo'lishimiz va yaxshiroq OS uchun kod yozishimiz mumkin..

    Pit frantsuz: Mikroyadrolar va monolit yadrolar ular yozilgan dasturlash tilining artefaktlari emasmi? C da yozilgan mikroyadro va OCCAM da yozilgan monolit yadro o'rtasidagi farq nima?

    Linus Torvalds: Siz talabalar uchun juda ko'p harakat qildingiz, buni tushunish mumkin. Ammo operatsion tizimingizda ko'p vazifalarni bajarish hali ham muammo bo'lib qolmoqda, qanday qarasangiz ham, lekin mening "orqaga" monolit Linuximda hamma narsa uchib ketadi. Portativlik bilan bog'liq katta muammolar bo'lmaydi, chunki Linux API portativdir - agar buni qilishni xohlaydigan odamlar bo'lsa. Va baribir men yaxshi baho olmayman; Men yaqinda boshqa OS arxitekturasi o'qituvchisi bilan janjallashib qoldim.

    Lourens C. Foard: Nazariychilar nazariyotchilardir. Ularning ajoyib g'oyalari bor, lekin ularni amalda sinab ko'rish uchun hech kim bezovta qilmadi. Intel 32-bitli protsessorlari bozorda deyarli 10 yildan beri mavjud, ammo Linusdan boshqa hech kim ular uchun OS yozmagan, siz 100 000 dollarga AT&T Unix sotib olmasdan tegishingiz mumkin. Tayyor OS o'nlab qog'ozga tushadi. I Bugun men Linux uchun kod yozishim mumkin va men xohlagancha tajriba qiling.

    Peter da Silva: Linux mavjudligi juda yaxshi va monolit yadro uning tez yaratilishiga sabab bo'lgan. Bu monolit yadro foydasiga kuchli dalil, lekin bu mikroyadro sekin bo'lishi kerak yoki u qog'ozli ekanligini anglatmaydi.

    O'sha paytda mikroyadro foydasiga argumentlar haqiqatan ham ustun edi, ammo bugungi kunda OS qurishning ikkala printsipidan foydalanish tajribasi

      Bu atamaning boshqa maʼnolari ham bor, qarang: Amoeba (maʼnolari). Amoeba dasturchisi Endryu Tanenbaum va boshqalar Manba kodi Ochiq Birinchi nashr 1983 yil 5.3 so'nggi versiya 1996 Yadro turi Mik ... Vikipediya

      Spring - 1990-yillarning boshida Sun Microsystems tomonidan ishlab chiqilgan eksperimental mikroyadro ob'ektga yo'naltirilgan operatsion tizim. U Mach yadrosida qo'llaniladigan printsiplarga o'xshash printsiplardan foydalangan. Rivojlanish o'rtada to'xtadi ... Vikipediya

      Bu ma'lum operatsion tizimlar ro'yxati. Operatsion tizimlar asosiy texnologiyalar (UNIX-ga o'xshash, UNIX-dan keyingi avlodlar), litsenziya turi (xususiy yoki ochiq manba), hozirda ishlab chiqilmoqdami (eski yoki... Vikipediya) bo'yicha tasniflanishi mumkin.

      Bu atamaning boshqa maʼnolari ham bor, qarang. Yadro - operatsion tizimning (OT) markaziy qismi bo'lib, ilovalarni protsessor vaqti, xotira va tashqi apparat kabi kompyuter resurslariga muvofiqlashtirilgan foydalanish imkonini beradi... ... Vikipediya

      Mavzuni ishlab chiqish bo'yicha ishlarni muvofiqlashtirish uchun yaratilgan maqolalarning xizmat ro'yxati. Bu ogohlantirish o'rnatilmagan... Vikipediya

      Mavzuni ishlab chiqish bo'yicha ishlarni muvofiqlashtirish uchun yaratilgan maqolalarning xizmat ro'yxati. Bu ogohlantirish axborot maqolalari, roʻyxatlar va lugʻatlarga taalluqli emas... Vikipediya

      3.1.3a Dasturchi Endryu Tanenbaum ... Vikipediya

      QNX 6 ish stoli (Neytrino) tomonidan ... Vikipediya

    Mikroyadro operatsion tizimlarida tizimning nazorat qismiga tegishli bo'lgan markaziy ixcham modulni ajratib ko'rsatish mumkin. Ushbu modul o'lchami juda kichik va nisbatan kam sonli boshqaruv funktsiyalarini bajaradi, lekin boshqaruvni boshqa boshqaruv modullariga o'tkazish imkonini beradi, ular so'ralgan funktsiyani bajaradi. Mikroyadro- bu modulli va portativ kengaytmalar uchun asos bo'lib xizmat qiluvchi operatsion tizimning minimal asosiy (yadro) qismi. Mikroyadroning o'zi kompyuterning eng ustuvor holatida ishlaydigan tizim dasturiy moduli bo'lib, operatsion tizimning qolgan qismi bilan aloqa o'rnatadi, bu server ilovalari (xizmatlari) to'plami hisoblanadi.

    20-asrning 90-yillarida keyingi avlodlarning aksariyat operatsion tizimlari mikroyadro sifatida quriladi, degan juda keng tarqalgan e'tiqod mavjud edi. Biroq, amaliyot shuni ko'rsatadiki, bu mutlaqo to'g'ri emas. Ishlab chiquvchilar ixcham mikroyadroga ega bo'lishni xohlashadi, lekin ayni paytda ushbu dasturiy modul tomonidan to'g'ridan-to'g'ri bajariladigan imkon qadar ko'proq funktsiyalarni o'z ichiga oladi. Chunki mikroyadrodan chaqirilgan boshqa modul tomonidan so'ralgan funksiyaning bajarilishi qo'shimcha kechikishlar va qo'shimcha asoratlarga olib keladi. Bundan tashqari, mikroyadroga nisbatan operatsion tizim xizmatlarini qanday tashkil qilish kerakligi haqida turli xil fikrlar mavjud; eng yuqori samaradorlikka erishish uchun qurilma drayverlarini qanday loyihalash kerak, lekin drayver funksiyalarini iloji boricha apparatdan mustaqil saqlash; yadro bo'lmagan operatsiyalar yadro maydonida yoki foydalanuvchi maydonida bajarilishi kerakmi; Mavjud quyi tizimlar (masalan, UNIX) dasturlarini saqlashga arziydimi yoki hamma narsani tashlab, noldan boshlash yaxshiroqmi?

    Mikroyadro texnologiyasining asosiy g'oyasi ierarxiyaning yuqori darajasida barcha apparat darajasidagi funktsiyalarga osongina kirish mumkin bo'lgan zarur muhitni yaratishdir. Bunday holda, mikroyadro barcha boshqa tizim modullarini yaratish uchun boshlang'ich nuqtadir. Tizim uchun zarur bo'lgan funktsiyalarni amalga oshiradigan ushbu boshqa barcha modullar mikroyadrodan chaqiriladi va xizmat vazifasini bajaradi. Shu bilan birga, ular oddiy jarayon yoki vazifa maqomini oladilar. Aytishimiz mumkinki, mikroyadro arxitekturasi mijoz-server texnologiyasiga mos keladi. Aynan shu texnologiya operatsion tizimni loyihalashning yuqoridagi tamoyillarini ko'proq va kamroq mehnat bilan amalga oshirish imkonini beradi.

    Mikroyadroni ishlab chiqishning eng muhim vazifasi kerakli va yetarli xizmat ko'rsatish uchun mikroyadroda bo'lishi kerak bo'lgan asosiy primitivlarni tanlashdir. Mikroyadro asosiy tizim chaqiruvlarini amalga oshirish uchun zarur bo'lgan minimal kod miqdorini o'z ichiga oladi va bajaradi. Ushbu qo'ng'iroqlar mikroyadrodan tashqarida bo'lgan jarayonlar o'rtasidagi xabarlarni uzatish va boshqa aloqalarni, uzilishlarni boshqarishni qo'llab-quvvatlashni va boshqa bir qator juda kam funktsiyalarni o'z ichiga oladi. "Oddiy" (mikroyadro bo'lmagan) operatsion tizimlarga xos bo'lgan qolgan tizim funktsiyalari modulli qo'shimcha jarayonlar sifatida taqdim etiladi, ular asosan bir-biri bilan o'zaro ta'sir qiladi va xabarlarni uzatish orqali o'zaro ta'sir qiladi.

    Aksariyat mikroyadroli operatsion tizimlar uchun ushbu arxitekturaning asosi Mach mikroyadro texnologiyasidir. Ushbu operatsion tizim Karnegi Mellon universitetida yaratilgan va ko'plab ishlab chiquvchilar undan o'rnak olishgan.

    Mikroyadro tomonidan bajariladigan funktsiyalar uning hajmini kamaytirish va amaliy dastur sifatida ishlaydigan kod miqdorini maksimal darajada oshirish uchun cheklangan. Mikroyadro faqat amaliy dasturlar uchun mavhum ishlov berish muhitlari to'plamini aniqlash va ilovalar bilan birgalikda ishlashga ruxsat berish uchun zarur bo'lgan funktsiyalarni o'z ichiga oladi. Natijada, mikroyadro faqat besh xil turdagi xizmatlarni taqdim etadi:

    • virtual xotirani boshqarish;
    • ish va iplarni qo'llab-quvvatlash;
    • jarayonlar o'rtasidagi o'zaro ta'sir (Inter-Process Communication, IPC);
    • I/U qo'llab-quvvatlash va uzilishlarni boshqarish;
    • xost va protsessor xizmatlari.

    Fayl tizimlari, tashqi qurilmalarni qo'llab-quvvatlash va an'anaviy dasturiy interfeyslar kabi boshqa operatsion tizim quyi tizimlari va funktsiyalari tizim xizmatlari sifatida paketlanadi yoki oddiy ishlov berish vazifalari maqomi beriladi. Bu dasturlar mikroyadro dasturlari sifatida ishlaydi.

    Har bir topshiriqni bajarishning bir nechta iplari kontseptsiyasidan foydalanib, mikroyadro ko'p protsessorlardan foydalanishga imkon beruvchi dastur muhitini yaratadi; Bunday holda, mashinaning ko'p protsessorli bo'lishi shart emas: bitta protsessorli mashinada turli xil iplar turli vaqtlarda ishlaydi. Ko'p protsessorli mashinalar uchun zarur bo'lgan barcha yordam nisbatan kichik va oddiy mikroyadroda to'plangan.

    Kichik o'lchamlari va amaliy dasturlar bilan birga ishlaydigan oddiy jarayonlar sifatida boshqa xizmatlarni qo'llab-quvvatlash qobiliyati tufayli mikroyadrolarning o'zlari monolit yoki modulli operatsion tizim yadrolariga qaraganda oddiyroqdir. Mikroyadro yordamida operatsion tizimning nazorat qismi modulli qismlarga bo'linadi, ular bir necha usul bilan sozlanishi mumkin, bu esa kichikroq qismlarga qismlarni qo'shish orqali kattaroq tizimlarni qurishga imkon beradi. Misol uchun, har bir apparatdan mustaqil neytral xizmat mantiqiy jihatdan alohida va turli yo'llar bilan sozlanishi mumkin. Mikroyadrolar, shuningdek, agar mavjud bo'lsa, bir nechta protsessorlardan foydalanishi mumkin bo'lgan, agar mavjud bo'lmasa, bittasida ishlaydigan standart dasturiy ta'minot muhitini yaratish orqali ko'p protsessorlarni qo'llab-quvvatlashni osonlashtiradi. Ko'p protsessorlar uchun maxsus kod faqat mikroyadroning o'zi bilan cheklangan. Bundan tashqari, bir-biri bilan aloqa qiladigan mikroyadrolar tarmoqlari paydo bo'lgan massiv parallel mashinalar sinfi uchun operatsion tizimni qo'llab-quvvatlash uchun ishlatilishi mumkin.

    Ba'zi hollarda mikroyadro yondashuvidan amalda foydalanish ma'lum qiyinchiliklarga duch keladi, bu klassik yondashuvga nisbatan mikroyadro orqali xabarlarni uzatishda tizim chaqiruvlarini bajarish tezligining biroz sekinlashishi bilan namoyon bo'ladi. Boshqa tomondan, buning aksini aytish mumkin. Mikroyadrolar kichik va yuqori darajada optimallashtirilganligi sababli, muayyan sharoitlarda ular qurilmani boshqarish va yuqori tezlikdagi aloqa uchun zarur bo'lgan real vaqtda ishlashni ta'minlay oladi. Nihoyat, yaxshi tuzilgan mikroyadrolar yuqori darajadagi dasturlash tillaridan foydalanish bilan niqoblanmagan apparat farqlariga qarshi izolyatsiya qatlamini ta'minlaydi. Shunday qilib, ular kodni portlashni osonlashtiradi va kodni qayta ishlatish darajasini oshiradi.

    Mikroyadro operatsion tizimlarining eng ko'zga ko'ringan vakili QNX real vaqtda operatsion tizimidir. QNX mikroyadrosi faqat jarayonni rejalashtirish va jo'natish, jarayon aloqasi, uzilishlar bilan ishlash va quyi darajadagi tarmoq xizmatlarini qo'llab-quvvatlaydi. Ushbu mikroyadro bor-yo'g'i bir necha o'nlab tizim qo'ng'iroqlarini ta'minlaydi, ammo buning natijasida u butunlay hatto Intel 486 kabi protsessorlarning ichki keshida joylashgan bo'lishi mumkin. Ma'lumki, ushbu operatsion tizimning turli versiyalarida yadro o'lchamlari har xil edi - 8 dan. 46 KB gacha.



     


    O'qing:



    Chap menyuni oching cayo coco

    Chap menyuni oching cayo coco

    Kayo Koko oroli - Kubaning markazidagi kurort oroli. Kayo Koko orolining joylashuvi to'g'ridan-to'g'ri Canal Viejo ro'parasida joylashgan ...

    Nima uchun bizga radioaloqa va radiostansiyalar kerak?

    Nima uchun bizga radioaloqa va radiostansiyalar kerak?

    Ba'zi odamlar yangi iPhone, boshqalari mashina, boshqalari esa radiosi uchun ehtiyot qismlar to'plami va yangi dinamikni orzu qiladi. Yaqinda bir vaqt bor edi...

    Kendall va Spearman darajali korrelyatsiya koeffitsientlari Kendall darajali korrelyatsiya koeffitsienti misoli

    Kendall va Spearman darajali korrelyatsiya koeffitsientlari Kendall darajali korrelyatsiya koeffitsienti misoli

    Ekspert baholarini taqdim etish va dastlabki ishlov berish Amalda baholashning bir necha turlari qo'llaniladi: - sifatli (ko'pincha-kamdan-kam,...

    Dasturlash funktsiyalari

    Dasturlash funktsiyalari

    Ishning maqsadi: 1) funktsiyalarni tavsiflash qoidalarini o'rganish; 2) C++ tilida dastur yozishda funksiyalardan foydalanish malakalarini egallash.Nazariy...

    tasma tasviri RSS