Sammenligningstabel
Grundlag for sammenligning | mikrokernen | Monolitisk kerne |
---|---|---|
Grundlæggende | I microkernel-brugertjenester og -kerne holdes tjenester i separat adresserum. | I monolitisk kerne holdes både brugertjenester og kernetjenester i samme adresserum. |
Størrelse | Mikrokernen er mindre i størrelse. | Monolitisk kerne er større end mikrokernel. |
Udførelse | Langsom udførelse. | Hurtig udførelse. |
udskydelige | Mikrokernen er let forlængelig. | Den monolitiske kerne er svært at udvide. |
Sikkerhed | Hvis en tjeneste styrter, har den effekt på mikrokernens arbejde. | Hvis en tjeneste går i stykker, går hele systemet i monolitisk kerne. |
Kode | For at skrive en mikrokernel kræves der mere kode. | For at skrive en monolitisk kerne kræves mindre kode. |
Eksempel | QNX, Symbian, L4Linux, Singularity, K42, Mac OS X, Integritet, PikeOS, HURD, Minix og Coyotos. | Linux, BSD'er (FreeBSD, OpenBSD, NetBSD), Microsoft Windows (95, 98, Me), Solaris, OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400 osv. |
Definition af mikrokernel
Microkernel er en kernel styrer alle systemressourcer. Men i en mikrokernel implementeres brugertjenesterne og kernetjenesterne i forskellige adresserum. Brugertjenesterne opbevares i brugeradresserummet, og kernetjenesterne opbevares under kerneladresserummet . Dette reducerer kernens størrelse og reducerer størrelsen af operativsystemet yderligere.
Ud over kommunikationen mellem systemets applikation og hardware giver mikrokernen minimale ydelser til proces- og hukommelsesstyring. Kommunikationen mellem klientprogrammet / applikationen og tjenesterne, der kører i brugeradresserummet, er etableret ved at sende meddelelsen. De interagerer aldrig direkte. Dette reducerer hastigheden af udførelsen af mikrokernen.
I en mikrokernel er brugertjenestene isoleret fra kernetjenester, så hvis en brugertjeneste fejler det, påvirker ikke kernetjenesten og dermed operativsystemet forbliver upåvirket . Dette er en af fordelene i mikrokernen. Mikrokernen er let forlængelig . Hvis de nye tjenester skal tilføjes, tilføjes de til brugeradresserummet, og kerneområdet kræver derfor ikke nogen ændring. Mikrokernen er også let bærbar, sikker og pålidelig.
Definition af monolitisk kerne
Den monolitiske kerne styrer systemressourcerne mellem systemets applikation og hardware. Men i modsætning til mikrokernel implementeres brugertjenesterne og kernetjenesterne under samme adresserum. Dette øger størrelsen af kernen yderligere øger størrelsen på operativsystemet.
Den monolitiske kerne giver CPU-planlægning, hukommelsesstyring, filhåndtering og andre operativsystemfunktioner gennem systemopkald. Da brugertjenester og kernetjenester begge befinder sig i samme adresserum, resulterer dette i det hurtige udførelsesoperativsystem.
En af ulemperne ved den monolitiske kerne er, hvis en tjeneste mislykkes, hele systemet er nedbrudt. Hvis en ny tjeneste skal tilføjes i monolitisk kerne, skal hele operativsystemet ændres.
Nøgleforskelle mellem mikrokernel og monolitisk kerne
- Det grundlæggende punkt på hvilken mikrokernel og monolitisk kerne skelnes er, at mikrokernel implementerer brugertjenester og kernetjenester i forskellige adresselokaler og monolitisk kerne implementerer både brugertjenester og kernetjenester under samme adresseområde .
- Størrelsen af mikrokernen er lille, da kun kernetjenester ligger i kernel adresserummet. Størrelsen af den monolitiske kerne er imidlertid forholdsvis større end mikrokernen, fordi både kernetjenester og brugertjenester er bosat i det samme adresserum.
- Udførelsen af monolitisk kerne er hurtigere, da kommunikationen mellem applikation og hardware er etableret ved hjælp af systemopkaldet . På den anden side er udførelsen af mikrokernen langsom, da kommunikationen mellem applikation og hardware af systemet er etableret ved at sende meddelelsen .
- Det er let at udvide mikrokernen, fordi der skal tilføjes ny service i brugeradresserummet, der er isoleret fra kernelokalet, så kernen ikke kræver at blive ændret. Modsat er tilfældet med monolitisk kerne, hvis en ny tjeneste skal tilføjes i monolitisk kerne, skal hele kernen ændres.
- Mikrokernen er mere sikker end monolitisk kerne, som om en tjeneste fejler i mikrokernen, forbliver driftssystemet uændret. På den anden side fejler hele systemet, hvis en tjeneste fejler i monolitisk kerne.
- Monolitisk kerne design kræver mindre kode, hvilket yderligere fører til færre fejl. På den anden side har mikrokernel designe mere kode, hvilket furher fører til flere bugs.
Konklusion:
Mikrokernen er langsommere, men mere sikker og pålidelig end monolitisk kerne. Monolitisk kerne er hurtig, men mindre sikker, da enhver servicefejl kan medføre systemnedbrud.