Sammenligningstabel
Grunnlag for sammenligning | mikrokjerne | Monolitisk kjerne |
---|---|---|
grunn~~POS=TRUNC | I mikrokernel brukertjenester og kjerne holdes tjenester i separat adresserom. | I monolitisk kjernen holdes både brukertjenester og kjernetjenester i samme adresserom. |
Størrelse | Mikrokjernen er mindre i størrelse. | Monolitisk kjernen er større enn mikrokjernen. |
Henrettelse | Langsom utførelse. | Rask utførelse. |
utbyggbar | Mikrokernen er lett utvidbar. | Den monolitiske kjernen er vanskelig å forlenge. |
Sikkerhet | Hvis en tjeneste krasjer, har den effekt på mikrokjernens arbeid. | Hvis en tjeneste krasjer, krasjer hele systemet i monolitisk kjernen. |
Kode | For å skrive en mikrokjernen, er det nødvendig med mer kode. | For å skrive en monolitisk kjerne, kreves mindre kode. |
Eksempel | QNX, Symbian, L4Linux, Singularity, K42, Mac OS X, Integritet, PikeOS, HURD, Minix og Coyotos. | Linux, BSD (FreeBSD, OpenBSD, NetBSD), Microsoft Windows (95, 98, Me), Solaris, OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400 etc. |
Definisjon av mikrokjernen
Mikrokjernen er en kjerne styrer alle systemressurser. Men i en mikrokjerneløsning er brukertjenestene og kjernetjenester implementert i forskjellige adresserom. Brukertjenestene holdes i brukeradresserommet, og kjernetjenester holdes under kjerneadresserommet . Dette reduserer størrelsen på kjernen og reduserer størrelsen på operativsystemet ytterligere.
I tillegg til kommunikasjonen mellom applikasjon og maskinvare i systemet, gir mikrokernen minimal service av prosess- og minnehåndtering. Kommunikasjonen mellom klientprogrammet / applikasjonen og tjenestene som kjøres i brukeradresserommet er opprettet ved å sende meldinger. De snakker aldri direkte. Dette reduserer hastigheten på utførelse av mikrokjernen.
I en mikrokjerneløsning er brukertjenestene isolert fra kjernetjenester, så hvis noen brukertjeneste mislykkes, påvirker ikke kjernetjenesten og dermed operativsystemet forblir upåvirket . Dette er en av fordelene i mikrokjernen. Mikrokernen er lett uttrekkbar . Hvis de nye tjenestene skal legges til, legges de til brukeradresserommet, og kjerneplassen krever derfor ingen endring. Mikrokjernen er også lett bærbar, sikker og pålitelig.
Definisjon av monolitisk kjerne
Den monolitiske kjernen styrer systemressursene mellom applikasjon og maskinvare i systemet. Men i motsetning til mikrokjernen implementeres brukertjenestene og kjernetjenestene under samme adresserom. Dette øker størrelsen på kjernen ytterligere øker størrelsen på operativsystemet.
Den monolitiske kjernen gir CPU-planlegging, minnehåndtering, filbehandling og andre operativsystemfunksjoner gjennom systemanrop. Siden brukertjenester og kjernetjenester begge ligger i samme adresserom, resulterer dette i operativsystemet raskt utført.
En av ulempene ved den monolitiske kjernen er hvis en tjeneste mislykkes, hele systemet krasjer. Hvis en ny tjeneste skal legges i monolitisk kjernen, må hele operativsystemet endres.
Viktige forskjeller mellom mikrokjernen og monolitisk kjernen
- Det grunnleggende punktet på hvilken mikrokernel og monolitisk kjernen utmerker seg, er at mikrokjernen implementerer brukertjenester og kjernetjenester i forskjellige adresserom og monolitisk kjernen implementerer både brukertjenester og kjernetjenester under samme adresserom .
- Størrelsen på mikrokjernen er liten, da bare kjernetjenester ligger i kjerneadresserommet. Størrelsen på monolitisk kjernen er imidlertid forholdsvis større enn mikrokjernen fordi både kjernetjenester og brukertjenester ligger i samme adresserom.
- Utførelsen av monolitisk kjernen er raskere da kommunikasjonen mellom applikasjon og maskinvare er etablert ved hjelp av systemanropet . På de andre hender er utførelsen av mikrokjernen saksom, da kommunikasjonen mellom applikasjon og maskinvare av systemet er etablert ved å sende meldinger .
- Det er enkelt å utvide mikrokjernen fordi ny tjeneste skal legges til i brukeradresserommet som er isolert fra kjerneplass, slik at kjerne ikke krever endring. Motsatt er tilfellet med monolitisk kjernen hvis en ny tjeneste skal legges i monolitisk kjernen, må hele kjerne endres.
- Mikrokjernen er sikrere enn monolitisk kjernen som om en tjeneste mislykkes i mikrokjernen, er operativsystemet forblir upåvirket. På den annen side, hvis en tjeneste mislykkes i monolitisk kjernen, feiler hele systemet.
- Monolitisk kjernekonstruksjon krever mindre kode, noe som ytterligere fører til færre feil. På den andre hender trenger mikrokjernesignal mer kode som furher fører til flere feil.
Konklusjon:
Mikrokjernen er tregere, men mer sikker og pålitelig enn monolitisk kjernen. Monolitisk kjernen er rask, men mindre sikker, da eventuelle feil i tjenesten kan føre til systemkrasj.