Preporučeno, 2024

Izbor Urednika

Razlika između mikrokernela i monolitne jezgre

Kernel je osnovni dio operativnog sustava; upravlja resursima sustava. Kernel je poput mosta između aplikacije i hardvera računala. Kernel se može klasificirati dalje u dvije kategorije, Microkernel i Monolithic Kernel. Mikrokernel je onaj u kojem se korisničke usluge i usluge jezgre čuvaju u zasebnom adresnom prostoru. Međutim, u Monolithic kernel korisničke usluge i usluge kernela obje se čuvaju u istom adresnom prostoru. Razgovarajmo o još nekim razlikama između Microkernel i Monolithic kernela uz pomoć tablice za usporedbu prikazane u nastavku.

Tablica usporedbe

Osnova za usporedbumikrokerneluMonolitna jezgra
Osnovni, temeljniU korisničkim uslugama i kernelu mikrokernela, usluge se čuvaju u zasebnom adresnom prostoru.U monolitnom kernelu, i korisničke usluge i usluge jezgre čuvaju se u istom adresnom prostoru.
VeličinaMikrokernel je manjih dimenzija.Monolitni kernel je veći od mikrokernela.
IzvršenjeSpora izvedba.Brzo izvršenje.
ProdužnaMikrokernel se lako može rastegnuti.Teško je proširiti monolitnu jezgru.
sigurnostiAko se servis ruši, to utječe na rad mikrokernela.Ako se servis ruši, cijeli se sustav ruši u monolitnom kernelu.
KodiratiZa pisanje mikrokernela potrebno je više koda.Za pisanje monolitnog kernela potrebno je manje koda.
PrimjerQNX, Symbian, L4Linux, Singularnost, K42, Mac OS X, Integritet, PikeOS, HURD, Minix i Coyotos.Linux, BSD (FreeBSD, OpenBSD, NetBSD), Microsoft Windows (95, 98, Me), Solaris, OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400 itd.

Definicija mikrokernela

Mikrokernel kao kernel upravlja svim sistemskim resursima. No, u mikrokernelu, korisničke usluge i usluge jezgre implementirane su u različit adresni prostor. Korisničke usluge čuvaju se u adresnom prostoru korisnika, a usluge jezgre čuvaju se pod adresnim prostorom jezgre . Time se smanjuje veličina kernela i dodatno se smanjuje veličina operativnog sustava.

Osim komunikacije između aplikacije i hardvera sustava, mikrokernel pruža minimalne usluge upravljanja procesima i memorijom. Komunikacija između klijentskog programa / aplikacije i usluga koje se odvijaju u adresnom prostoru korisnika uspostavlja se putem prijenosa poruka. Nikada ne komuniciraju izravno. Time se smanjuje brzina izvođenja mikrokernela.

U mikrokernelu, korisničke usluge su izolirane od usluga jezgre tako da ako bilo koja korisnička usluga ne uspije, to ne utječe na uslugu kernela i stoga operativni sustav ostaje nepromijenjen . To je jedna od prednosti mikrokernela. Mikrokernel se lako može proširiti . Ako se dodaju nove usluge, one se dodaju korisničkom adresnom prostoru i stoga prostor kernela ne zahtijeva nikakve izmjene. Mikrokernel je također lako prenosiv, siguran i pouzdan.

Definicija monolitne jezgre

Monolitni kernel upravlja sistemskim resursima između aplikacije i hardvera sustava. Ali za razliku od mikrokernela, korisničke usluge i usluge kernela implementirane su pod istim adresnim prostorom. To povećava veličinu kernela i povećava veličinu operativnog sustava.

Monolitni kernel omogućuje raspoređivanje CPU-a, upravljanje memorijom, upravljanje datotekama i druge funkcije operativnog sustava putem sistemskih poziva. Kako se korisničke usluge i usluge jezgre nalaze u istom adresnom prostoru, to rezultira brzim izvršavanjem operacijskog sustava.

Jedan od nedostataka monolitnog kernela je ako jedna usluga ne uspije cijeli sustav se srušio. Ako je potrebno dodati novu uslugu u monolitnom kernelu, cijeli operativni sustav treba mijenjati.

Ključne razlike između mikrokernela i monolitne jezgre

  1. Osnovna točka na kojoj se razlikuje mikrokernel i monolitni kernel je da mikrokernel implementira korisničke usluge i usluge jezgre u različitim adresnim prostorima, a monolitni kernel implementira i korisničke usluge i usluge kernela pod istim adresnim prostorom .
  2. Veličina mikrokernela je mala jer se samo kernel usluge nalaze u adresnom prostoru kernela. Međutim, veličina monolitnog kernela je relativno veća od mikrokernela jer se usluge jezgre i korisničke usluge nalaze u istom adresnom prostoru.
  3. Izvođenje monolitnog kernela je brže jer se komunikacija između aplikacije i hardvera uspostavlja pomoću sistemskog poziva . S druge strane, izvršavanje mikrokernela je spora jer se komunikacija između aplikacije i hardvera sustava uspostavlja putem prolaska poruka .
  4. Lako je proširiti mikrokernel jer se nova usluga dodaje u adresni prostor korisnika koji je izoliran od prostora jezgre, tako da kernel ne treba mijenjati. Suprotan je slučaj s monolitnim kernelom ako se nova usluga dodaje u monolitnom kernelu, a zatim se cijeli kernel mora mijenjati.
  5. Mikrokernel je sigurniji od monolitnog kernela jer ako usluga ne uspije u mikrokernelu, operativni sustav ostaje nepromijenjen. S druge strane, ako usluga ne uspije u monolitnom kernelu cijeli sustav ne uspije.
  6. Monolithic kernel projektiranje zahtijeva manje koda, što dalje dovodi do manje bugova. S druge strane, projektiranje mikrokernela zahtijeva više koda koji dovodi do više bugova.

Zaključak:

Mikrokernel je sporiji, ali sigurniji i pouzdaniji od monolitnog kernela. Monolitni kernel je brz, ali manje siguran jer bilo koji kvar u servisu može dovesti do pada sustava.

Top