Skillnaden mellan mikrokärnan och monolitisk kärnan
Innehåll
- Jämförelsediagram
- Definition av Microkernel
- Definition av monolitisk kärna
- Viktiga skillnader mellan mikrokärnan och monolitisk kärna
- Slutsats:
Kärnan är kärndelen i ett operativsystem; det hanterar systemresurserna. Kärnan är som en bro mellan applikation och hårdvara på datorn. Kärnan kan klassificeras vidare i två kategorier, Microkernel och Monolithic Kernel. Microkernel är den där användartjänster och kärntjänster hålls i separat adressutrymme. Men i monolitiska kärnan är användartjänster och kärntjänster båda i samma adressutrymme. Låt oss diskutera några fler skillnader mellan mikrokärnan och monolitisk kärna med hjälp av jämförelsediagram som visas nedan.
- Jämförelsediagram
- Definition
- Viktiga skillnader
- Slutsats
Jämförelsediagram
Grund för jämförelse | mikrokärna | Monolitisk kärna |
---|---|---|
Grundläggande | I användarna tjänster och kärnor i mikrokärnor hålls tjänsterna i ett separat adressutrymme. | I monolitisk kärna hålls både användartjänster och kärntjänster i samma adressutrymme. |
Storlek | Mikrokärnor är mindre i storlek. | Monolitisk kärna är större än mikrokärnan. |
Avrättning | Långsam körning. | Snabb exekvering. |
utdrag | Mikrokärnan är lätt utdragbar. | Den monolitiska kärnan är svår att förlänga. |
säkerhet | Om en tjänst kraschar påverkar den på mikrokärnan. | Om en tjänst kraschar kraschar hela systemet i en monolitisk kärna. |
Koda | För att skriva en mikrokärna krävs mer kod. | För att skriva en monolitisk kärna krävs mindre kod. |
Exempel | QNX, Symbian, L4Linux, Singularity, K42, Mac OS X, Integrity, PikeOS, HURD, Minix och Coyotos. | Linux, BSD (FreeBSD, OpenBSD, NetBSD), Microsoft Windows (95,98, Me), Solaris, OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400 etc. |
Definition av Microkernel
Microkernel som en kärna hanterar alla systemresurser. Men i en mikrokärnan användartjänster och den kärntjänster implementeras i olika adressutrymme. Användartjänsterna hålls inne användaradressutrymme, och kärntjänster hålls under kärnans adressutrymme. Detta minskar storleken på kärnan och ytterligare reducerar storleken på operativsystemet.
Förutom kommunikationen mellan applikation och hårdvara i systemet ger mikrokärnan minimala tjänster för process- och minneshantering. Kommunikationen mellan klientprogrammet / applikationen och tjänster som körs i användaradressutrymme upprättas genom passering. De interagerar aldrig direkt. Detta minskar hastigheten för körning av mikrokärnan.
I en mikrokärnan är användartjänsterna isolerade från kärntjänster så om någon användartjänst misslyckas påverkar den inte kärntjänsten och därmed operativsystemet förblir opåverkade. Detta är en av fördelarna med mikrokärnan. Mikrokärnan är lätt utdrag. Om de nya tjänsterna ska läggas till läggs de till i användaradressutrymmet och därför kräver kärnutrymmet ingen modifiering. Mikrokärnan är också lätt bärbar, säker och pålitlig.
Definition av monolitisk kärna
Den monolitiska kärnan hanterar systemresurserna mellan applikation och maskinvara i systemet. Men till skillnad från mikrokärnan implementeras användartjänster och kärntjänster under samma adressutrymme. Detta ökar storleken på kärnan ökar storleken på operativsystemet ytterligare.
Den monolitiska kärnan tillhandahåller CPU-schemaläggning, minneshantering, filhantering och andra operativsystemfunktioner genom systemsamtal. Eftersom användartjänster och kärntjänster båda ligger i samma adressutrymme resulterar detta i det snabbt körande operativsystemet.
En av nackdelarna med den monolitiska kärnan är om någon tjänst misslyckas med att hela systemet kraschar. Om en ny tjänst ska läggas till i en monolitisk kärna, ska hela operativsystemet ändras.
Viktiga skillnader mellan mikrokärnan och monolitisk kärna
- Den grundläggande punkten på vilken mikrokärnan och den monolitiska kärnan skiljer sig är den mikrokärna implementera användartjänster och kärntjänster i olika adressutrymmen och monolitisk kärna implementera både användartjänster och kärntjänster under samma adressutrymme.
- Storleken på mikrokärnan är små eftersom endast kärntjänster finns i kärnans adressutrymme. Storleken på den monolitiska kärnan är dock jämförelsevis större än mikrokärnan eftersom både kärntjänster och användartjänster ligger i samma adressutrymme.
- Utförandet av monolitisk kärna är snabbare eftersom kommunikationen mellan applikation och hårdvara upprättas med hjälp av systemsamtal. Å andra sidan är exekveringen av mikrokärnan långsam eftersom kommunikationen mellan applikation och hårdvara i systemet upprättas genom godkänd.
- Det är lätt att utöka mikrokärnan eftersom ny tjänst ska läggas till i användaradressutrymme som är isolerat från kärnutrymme, så kärnan behöver inte ändras. Motsatsen är fallet med monolitisk kärna om en ny tjänst ska läggas till i monolitisk kärna måste hela kärnan ändras.
- Microkernel är mer säkra än monolitisk kärna som om en tjänst misslyckas i mikrokärnan förblir operativsystemet inte påverkat. Å andra sidan, om en tjänst misslyckas i monolitisk kärna misslyckas hela systemet.
- Monolitisk kärndesign kräver mindre kod, vilket ytterligare leder till färre buggar. Å andra sidan behöver design av mikrokärnor mer kod som vidare leder till fler buggar.
Slutsats:
Mikrokärnan är långsammare men säkrare och pålitligare än monolitisk kärna. Monolitisk kärna är snabb men mindre säker eftersom alla servicefel kan leda till systemkrasch.