Jämförelsediagram
Grunder för jämförelse | mikrokärna | Monolitisk kärna |
---|---|---|
Grundläggande | I mikrokernel användartjänster och kärnor hålls tjänster i separat adressutrymme. | I monolitisk kärna hålls både användartjänster och kärntjänster i samma adressutrymme. |
Storlek | Mikrokärnan är mindre i storlek. | Monolitisk kärna är större än mikrokärnan. |
Avrättning | Långsamt utförande. | Snabbt utförande. |
utdrag | Mikrokärnan är lätt förlängbar. | Den monolitiska kärnan är svår att förlänga. |
säkerhet | Om en tjänst kraschar har den effekt på mikrokärnans funktion. | Om en tjänst kraschar, kraschar hela systemet i 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, Integritet, 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 mikrokärnan
Mikrokärnan är en kärna hanterar alla systemresurser. Men i en mikrokärnan implementeras användartjänsterna och kärntjänsterna i olika adressutrymmen. Användartjänsterna förvaras i användaradressutrymme och kärntjänster hålls under kärnadressadressutrymme . Detta minskar kärnans storlek och minskar ytterligare operativsystemets storlek.
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änsterna som körs i användaradressutrymme upprättas genom att meddelandet skickas. De interagerar aldrig direkt. Detta minskar hastigheten på utförandet 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 inte kärntjänsten och därmed operativsystemet förblir opåverkat . Detta är en av fördelarna i mikrokärnan. Mikrokärnan är lätt utdragbar . Om de nya tjänsterna ska läggas till läggs de till i användaradressutrymme och därför behöver inte kärnutrymmet ändras. 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 systemansökan och hårdvaran. Men till skillnad från mikrokärnan implementeras användartjänsterna och kärntjänsterna under samma adressutrymme. Detta ökar storleken på kärnan ytterligare ökar storleken på operativsystemet.
Den monolitiska kärnan ger CPU-schemaläggning, minneshantering, filhantering och andra operativsystemfunktioner genom systemanrop. Eftersom användartjänster och kärntjänster båda ligger i samma adressutrymme, resulterar det i operativsystemet Snabbkörning.
En av nackdelarna med den monolitiska kärnan är om någon tjänst misslyckas hela systemet kraschas. Om en ny tjänst ska läggas till i monolitisk kärna, måste hela operativsystemet ändras.
Viktiga skillnader mellan mikrokärnor och monolitiska kärnor
- Den grundläggande punkten på vilken mikrokernel och monolitisk kärna särskiljs är att mikrokärnan implementerar användartjänster och kärntjänster i olika adressrum och monolitisk kärna implementerar både användartjänster och kärntjänster under samma adressutrymme .
- Storleken på mikrokärnan är liten eftersom endast kärntjänster finns i kärnadressen. Storleken på den monolitiska kärnan är emellertid relativt 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 då kommunikationen mellan applikation och hårdvara är etablerad med systemanropet . På andra händer är utförandet av mikrokärnan långsam, eftersom kommunikationen mellan systemansökan och hårdvaran är etablerad genom att meddelandet passerar .
- Det är lätt att förlänga 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. Motsatt ä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.
- Mikrokärnan är säkrare än monolitisk kärna som om en tjänst misslyckas i mikrokärnan är operativsystemet inte opåverkat. Om en tjänst misslyckas i monolitisk kärna misslyckas hela systemet.
- Monolitisk kärna design kräver mindre kod, vilket ytterligare leder till färre buggar. På andra händer behöver mikrokernel design mer kod, vilket furher 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 eventuella servicefel kan leda till systemkrasch.