Palyginimo diagrama
Palyginimo pagrindas | „Microkernel“ | Monolitinė branduolys |
---|---|---|
Pagrindinis | Mikrokernelio paslaugų ir branduolio paslaugos teikiamos atskiroje adresų erdvėje. | Monolitinėje branduolyje tiek vartotojų, tiek branduolio paslaugos yra laikomos toje pačioje adresų erdvėje. |
Dydis | „Microkernel“ yra mažesnio dydžio. | Monolitinis branduolys yra didesnis nei mikrokernelis. |
Vykdymas | Lėtas vykdymas. | Greitas vykdymas. |
Išplečiama | Mikrokernelis lengvai pasiekiamas. | Monolitinę branduolį sunku išplėsti. |
Saugumas | Jei paslauga sugenda, ji veikia mikrokernelio darbą. | Jei paslaugų avarijos, visa sistema sugenda monolitinėje branduolyje. |
Kodas | Norėdami parašyti mikrokernelį, reikia daugiau kodo. | Norėdami parašyti monolitinę branduolį, reikia mažiau kodo. |
Pavyzdys | QNX, Symbian, L4Linux, Singularity, K42, Mac OS X, Integrity, PikeOS, HURD, Minix ir Coyotos. | Linux, BSD (FreeBSD, OpenBSD, NetBSD), Microsoft Windows (95, 98, Me), Solaris, OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400 ir kt. |
„Microkernel“ apibrėžimas
„Microkernel“ kaip branduolys valdo visus sistemos išteklius. Tačiau mikrokerneliu naudotojo paslaugos ir branduolio paslaugos įgyvendinamos skirtingose adresų erdvėse. Naudotojo paslaugos saugomos vartotojo adresų erdvėje, o branduolio paslaugos saugomos pagal branduolio adreso erdvę . Tai sumažina branduolio dydį ir toliau mažina operacinės sistemos dydį.
Be komunikacijos tarp sistemos taikymo ir techninės įrangos, mikrokompiuteris teikia minimalias proceso ir atminties valdymo paslaugas. Ryšys tarp kliento programos / programos ir paslaugų, kurios veikia vartotojo adresų erdvėje, nustatomas perduodant pranešimą. Jie niekada tiesiogiai nedalyvauja. Tai sumažina mikrokernelio vykdymo greitį.
Mikroelemente naudotojo paslaugos yra atskiriamos nuo branduolio paslaugų, todėl, jei kuri nors vartotojo paslauga nepavyksta, ji neturi įtakos branduolio paslaugai, todėl Operacinė sistema lieka nepakeista . Tai vienas iš mikrokernelio privalumų. Mikroelementas yra lengvai prailginamas . Jei reikia pridėti naujų paslaugų, jos pridedamos prie vartotojo adreso vietos, taigi branduolio erdvėje nereikia jokių pakeitimų. Mikroelementas taip pat yra lengvai nešiojamas, saugus ir patikimas.
Monolitinės branduolio apibrėžimas
Monolitinis branduolys valdo sistemos išteklius tarp sistemos taikymo ir aparatinės įrangos. Tačiau, skirtingai nei „microkernel“, naudotojų paslaugos ir branduolio paslaugos įgyvendinamos toje pačioje adresų erdvėje. Tai padidina branduolio dydį ir dar padidina operacinės sistemos dydį.
Monolitinis branduolys suteikia procesoriaus planavimą, atminties valdymą, failų tvarkymą ir kitas operacinės sistemos funkcijas per sistemos skambučius. Kadangi abiejų vartotojų paslaugų ir branduolio paslaugos yra toje pačioje adresų erdvėje, tai greitai sukuria operacinę sistemą.
Vienas iš monolitinės branduolio trūkumų yra tai, kad bet kuri viena paslauga nepavyksta sugesti. Jei monolitinėje branduolyje turi būti pridėta nauja paslauga, reikia pakeisti visą operacinę sistemą.
Pagrindiniai „Microkernel“ ir „Monolitinės“ branduolio skirtumai
- Pagrindinis dalykas, kuriuo išskiriamas mikrokernelis ir monolitinis branduolys, yra tai, kad mikrokernelis įgyvendina vartotojų paslaugas ir branduolio paslaugas skirtingose adresų erdvėse, o monolitinė branduolys vienoje adresų erdvėje diegia tiek vartotojų, tiek branduolio paslaugas.
- Mikrokernelio dydis yra mažas, nes branduolio adreso erdvėje yra tik branduolio paslaugos. Tačiau monolito branduolio dydis yra palyginti didesnis nei mikrokernelis, nes tiek branduolio paslaugos, tiek vartotojų paslaugos yra toje pačioje adresų erdvėje.
- Monolitinės branduolio vykdymas yra greitesnis, nes ryšys tarp programos ir aparatūros yra sukurtas naudojant sistemos skambutį . Kita vertus, mikrokernelio vykdymas yra lėtas, nes ryšys tarp sistemos taikymo ir aparatinės įrangos yra sukurtas perduodant pranešimą .
- Labai paprasta išplėsti mikrokernelį, nes naudotojo adresų erdvėje, kuri yra izoliuota nuo branduolio erdvės, reikia pridėti naują paslaugą, todėl branduoliui nereikia modifikuoti. Priešais yra monolitinis branduolys, jei monolitinėje branduolyje turi būti pridėta nauja paslauga, tada reikia pakeisti visą branduolį.
- „Microkernel“ yra saugesnis už monolitinį branduolį, nes jei „microkernel“ paslauga nepavyktų, operacinė sistema nesikeičia. Kita vertus, jei paslauga nepavyksta monolitiniame branduolyje, visa sistema sugenda.
- Monolitiniam branduolio projektavimui reikia mažiau kodų, o tai dar labiau sumažina klaidų skaičių. Kita vertus, mikrokernelio projektavimui reikia daugiau kodų, dėl kurių atsiranda daugiau klaidų.
Išvada:
„Microkernel“ yra lėtesnis, bet saugesnis ir patikimesnis nei monolitinis branduolys. Monolitinis branduolys yra greitas, bet mažiau saugus, nes bet kokie paslaugų gedimai gali sukelti sistemos gedimą.