Ieteicams, 2020

Redaktora Izvēle

Starpība starp Microkernel un Monolith Kernel

Kodols ir operētājsistēmas pamatelements; tā pārvalda sistēmas resursus. Kodols ir kā tilts starp datora lietojumprogrammu un aparatūru. Kerneli var iedalīt tālāk divās kategorijās - Microkernel un Monolith Kernel. Microkernel ir tas, kurā lietotāja pakalpojumi un kodola pakalpojumi tiek glabāti atsevišķā adrešu telpā. Tomēr Monolīta kodola lietotāju pakalpojumos un kodola pakalpojumos abi tiek turēti tajā pašā adreses telpā. Apspriedīsim dažas atšķirības starp Microkernel un Monolithic kodolu ar zemāk redzamās salīdzināšanas diagrammas palīdzību.

Salīdzinājuma diagramma

Salīdzinājuma pamatsMicrokernelMonolītais kodols
PamataMikroelementu lietotāju pakalpojumos un kodolā pakalpojumi tiek glabāti atsevišķā adreses telpā.Monolītajā kodolā gan lietotāja pakalpojumi, gan kodola pakalpojumi tiek saglabāti tajā pašā adreses telpā.
IzmērsMicrokernel ir mazāka izmēra.Monolītais kodols ir lielāks par mikrokerneli.
IzpildeLēna izpilde.Ātra izpilde.
PagarināmsMikroelements ir viegli paplašināms.Monolītais kodols ir grūti paplašināms.
DrošībaJa pakalpojuma avārijas, tas ietekmē microkernel darbību.Ja pakalpojuma avārijas, visa sistēma atteicas no monolīta kodola.
KodsLai uzrakstītu mikrokameru, nepieciešams vairāk kodu.Lai uzrakstītu monolītu kodolu, nepieciešams mazāk koda.
PiemērsQNX, Symbian, L4Linux, Singularity, K42, Mac OS X, integritāte, PikeOS, HURD, Minix un Coyotos.Linux, BSD (FreeBSD, OpenBSD, NetBSD), Microsoft Windows (95, 98, Me), Solaris, OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400 uc

Microkernel definīcija

Microkernel kā kodols pārvalda visus sistēmas resursus. Bet mikrokamerā lietotāju pakalpojumi un kodola pakalpojumi tiek īstenoti dažādās adreses telpās. Lietotāju pakalpojumi tiek glabāti lietotāja adrešu telpā, un kodola pakalpojumi tiek glabāti kodola adrešu telpā . Tas samazina kodola lielumu un vēl vairāk samazina operētājsistēmas lielumu.

Papildus saziņai starp sistēmas lietojumprogrammām un aparatūru, mikrokamera nodrošina minimālus procesu un atmiņas pārvaldības pakalpojumus. Komunikācija starp klienta programmu / lietojumprogrammu un pakalpojumiem, kas darbojas lietotāja adrešu telpā, tiek veidota, izmantojot ziņojumu nodošanu. Viņi nekad tieši nedarbojas. Tas samazina ātrumu, kādā tiek izpildīts mikrokernelis.

Mikroelementā lietotāja pakalpojumi tiek izolēti no kodola pakalpojumiem, tādēļ, ja kāds lietotāja pakalpojums neizdodas, tas neietekmē kodola pakalpojumu un līdz ar to operētājsistēma paliek nemainīga . Šī ir viena no priekšrocībām mikrokamerā. Mikroelements ir viegli pagarināms . Ja tiks pievienoti jaunie pakalpojumi, tie tiek pievienoti lietotāja adrešu telpai un līdz ar to kodola telpai nav nepieciešamas nekādas izmaiņas. Arī mikrokamera ir viegli pārnēsājama, droša un droša.

Monolīta kodola definīcija

Monolītais kodols pārvalda sistēmas resursus starp sistēmas pielietojumu un aparatūru. Bet atšķirībā no mikrokameras, lietotāju pakalpojumi un kodola pakalpojumi tiek īstenoti vienā adreses telpā. Tas palielina kodola lielumu, kas vēl vairāk palielina operētājsistēmas lielumu.

Monolītais kodols nodrošina CPU plānošanu, atmiņas pārvaldību, failu pārvaldību un citas operētājsistēmas funkcijas, izmantojot sistēmas zvanus. Tā kā lietotāju pakalpojumi un kodola pakalpojumi atrodas vienā adreses telpā, tas rada ātru operētājsistēmu.

Viens no monolītā kodola trūkumiem ir, ja kāds no pakalpojumiem neizdodas pilnībā iznīcināt sistēmu. Ja monolītā kodolā jāpievieno jauns pakalpojums, ir jāmaina visa operētājsistēma.

Galvenās atšķirības starp Microkernel un Monolith Kernel

  1. Pamata punkts, kurā tiek izdalīts mikrokernelis un monolīta kodols, ir tas, ka mikrokernelis īsteno lietotāju pakalpojumus un kodola pakalpojumus dažādās adrešu telpās un monolītu kodolu īsteno gan lietotāju pakalpojumus, gan kodola pakalpojumus vienā adreses telpā .
  2. Mikroelementa izmērs ir neliels, jo kodola adrešu telpā atrodas tikai kodola pakalpojumi. Tomēr monolītā kodola lielums ir salīdzinoši lielāks par mikrokerneli, jo gan kodola pakalpojumi, gan lietotāju pakalpojumi atrodas tajā pašā adrešu telpā.
  3. Monolīta kodola izpilde ir ātrāka, jo komunikācija starp lietojumprogrammu un aparatūru tiek izveidota, izmantojot sistēmas zvanu . No otras puses, mikrolīmeņa izpilde ir lēna, jo komunikācija starp sistēmas lietojumprogrammu un aparatūru tiek veidota, izmantojot ziņu nodošanu .
  4. Mikroelementu ir viegli paplašināt, jo ir jāpievieno jauns pakalpojums lietotāja adrešu telpā, kas ir izolēta no kodola telpas, tāpēc kodols nav jāmaina. Pretī ir monolīta kodola gadījums, ja monolītā kodolā jāpievieno jauns pakalpojums, tad ir jāmaina viss kodols.
  5. Microkernel ir drošāka par monolītu kodolu, jo, ja pakalpojums neizdodas mikrokamerā, darbības režīms paliek nemainīgs. No otras puses, ja pakalpojums neizdodas monolītā kodola sistēmā, visa sistēma neizdodas.
  6. Monolīta kodola projektēšana prasa mazāk koda, kas vēl vairāk noved pie mazākām kļūdām. No otras puses, mikrokameras projektēšana prasa vairāk kodu, kas rada vairāk kļūdu.

Secinājums:

Microkernel ir lēnāks, bet drošāks un uzticamāks par monolītu kodolu. Monolītais kodols ir ātrs, bet mazāk drošs, jo jebkura pakalpojuma kļūme var izraisīt sistēmas avāriju.

Top