Forskel mellem mikrokernel og monolitisk kerne

Forfatter: Laura McKinney
Oprettelsesdato: 1 April 2021
Opdateringsdato: 10 Kan 2024
Anonim
microkernel Vs monolithic kernel [ 6 differences EXPLAINED]
Video.: microkernel Vs monolithic kernel [ 6 differences EXPLAINED]

Indhold


Kernel er kernedelen i et operativsystem; det administrerer systemressourcerne. Kernel er som en bro mellem applikation og hardware på computeren. Kernen kan videre klassificeres i to kategorier, mikrokernel og monolitisk kerne. Mikrokernel er den, hvor brugertjenester og kerne-tjenester opbevares i separat adresserum. I monolitiske kerne opbevares brugertjenester og kerneltjenester imidlertid begge i det samme adresserum. Lad os diskutere nogle flere forskelle mellem mikrokernel og monolitisk kerne ved hjælp af sammenligningstabellen vist nedenfor.

  1. Sammenligningstabel
  2. Definition
  3. Vigtige forskelle
  4. Konklusion

Sammenligningstabel

Grundlag for sammenligningmikrokernenMonolitisk kerne
GrundlæggendeI brugere af mikrokernel-brugere og -kerner opbevares tjenester i separat adresserum.I monolitisk kerne opbevares både brugertjenester og kerneltjenester i det samme adresserum.
StørrelseMikrokernel er mindre i størrelse.Monolitisk kerne er større end mikrokernel.
UdførelseLangsom henrettelse.Hurtig udførelse.
udskydeligeMikrokernen er let at forlænge.Den monolitiske kerne er vanskelig at udvide.
SikkerhedHvis en service går ned, påvirker den mikrokernel.Hvis en tjeneste går ned, går hele systemet ned i en monolitisk kerne.
KodeFor at skrive en mikrokernel kræves mere kode.For at skrive en monolitisk kerne kræves der mindre kode.
EksempelQNX, Symbian, L4Linux, Singularity, K42, Mac OS X, Integrity, 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, der er en kerne, styrer alle systemressourcer. Men i en mikrokernel brugertjenester og kernetjenester implementeres i forskellige adresserum. Brugertjenesterne holdes inde brugeradresse plads, og kerneltjenester holdes under kerneadresseplads. Dette reducerer størrelsen på kernen og reducerer størrelsen på operativsystemet yderligere.

Ud over kommunikationen mellem applikation og hardware i systemet leverer mikrokernen minimale tjenester til proces- og hukommelsesstyring. Kommunikationen mellem klientprogrammet / applikationen og tjenester, der kører i brugeradresserummet, etableres ved passering. De interagerer aldrig direkte. Dette reducerer udførelseshastigheden af ​​mikrokernel.

I en mikrokernel isoleres brugertjenesterne fra kerne-tjenester, så hvis en brugertjeneste mislykkes, påvirker den ikke kerne-tjenesten og dermed operativsystemet forbliver upåvirket. Dette er en af ​​fordelene i mikrokernen. Mikrokernen er let udvides. Hvis de nye tjenester skal tilføjes, føjes de til brugeradresseområdet, og derfor kræver kernepladsen ingen ændringer. Mikrokernen er også let bærbar, sikker og pålidelig.


Definition af monolitisk kerne

Den monolitiske kerne administrerer systemressourcerne mellem applikation og hardware i systemet. Men i modsætning til mikrokernel, implementeres brugertjenesterne og kerneltjenesterne under samme adresserum. Dette øger størrelsen på 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 kerneltjenester begge befinder sig i samme adresserum, resulterer dette i det hurtigt eksekverende operativsystem.

En af ulemperne ved den monolitiske kerne er, hvis en tjeneste mislykkes, at hele systemet er nedbrudt. Hvis der skal tilføjes en ny tjeneste i en monolitisk kerne, skal hele operativsystemet ændres.

Vigtige forskelle mellem mikrokernel og monolitisk kerne

  1. Det grundlæggende punkt, som mikrokernel og monolitisk kerne skelnes mellem, er det mikrokernen implementere brugertjenester og kernetjenester i forskellige adresserum og monolitisk kerne implementere både brugertjenester og kernetjenester under samme adresserum.
  2. Størrelsen på mikrokernel er lille da der kun findes kerneltjenester i kerneadressepladsen. Størrelsen af ​​den monolitiske kerne er imidlertid sammenlignelig større end mikrokernel, fordi både kerneltjenester og brugertjenester bor i det samme adresserum.
  3. Udførelsen af ​​monolitisk kerne er hurtigere da kommunikationen mellem applikation og hardware etableres ved hjælp af systemopkald. På den anden side er udførelsen af ​​mikrokernel langsom som kommunikationen mellem applikation og hardware på systemet etableres gennem passerer.
  4. Det er let at udvide mikrokernen, fordi der skal tilføjes en ny service i brugeradresseområdet, der er isoleret fra kerneområdet, så kernen ikke behø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.
  5. Microkernel er mere sikker end monolitisk kerne, som om en tjeneste mislykkes i mikrokernel forbliver operativsystemet upåvirket. På den anden side mislykkes hele systemet, hvis en tjeneste mislykkes i monolitisk kerne.
  6. Monolitisk kerneudformning kræver mindre kode, hvilket yderligere fører til færre fejl. På den anden side har mikrokernel-design behov for mere kode, hvilket yderligere fører til flere fejl.

Konklusion:

Microkernel er langsommere, men mere sikker og pålidelig end monolitisk kerne. Monolitisk kerne er hurtig, men mindre sikker, da enhver servicefejl kan føre til systemnedbrud.