Razlika između mikrokernela i monolitnog jezgra
Sadržaj
- Usporedni grafikon
- Definicija Microkernela
- Definicija monolitnog jezgra
- Ključne razlike između mikrokernela i monolitnog jezgra
- Zaključak:
Kernel je temeljni dio operativnog sustava; upravlja resursima sustava. Kernel je poput mosta između aplikacije i hardvera računala. Jezgro se dalje može svrstati u dvije kategorije, mikrokernel i monolitno jezgro. Microkernel je onaj u kojem se usluge korisnika i usluge kernel čuvaju u zasebnom adresnom prostoru. Međutim, u Monolithic kernel korisnicima i usluge kernel obje se čuvaju u istom adresnom prostoru. Razgovarajmo o još nekoliko razlika između Microkernela i Monolithic kernera uz pomoć tablice za usporedbu, prikazane dolje.
- Usporedni grafikon
- definicija
- Ključne razlike
- Zaključak
Usporedni grafikon
Osnove za usporedbu | mikrokernelu | Monolitna jezgra |
---|---|---|
Osnovni, temeljni | U korisničkim uslugama i kernelu mikrokernela usluge se čuvaju u zasebnom adresnom prostoru. | I monolitni kernel i korisničke i kernel usluge održavaju se u istom adresnom prostoru. |
Veličina | Microkernel su manje veličine. | Monolitna jezgra veća je od mikrokernela. |
Izvršenje | Sporo izvršenje. | Brzo izvršenje. |
Produžna | Mikrokernel se lako izvlači. | Monolitnu jezgru teško je proširiti. |
sigurnosti | Ako se usluga sruši, to djeluje na rad mikrokernela. | Ako se usluga sruši, cijeli sustav se ruši u monolitnoj jezgri. |
Kodirati | Da biste napisali mikrokernel, potrebno je više koda. | Za pisanje monolitnog jezgra potrebno je manje koda. |
Primjer | QNX, 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 Microkernela
Microkernel kao jezgra upravlja svim resursima sustava. Ali u mikrohranilicu, the korisničke usluge i the kernel usluge se implementiraju u različitom adresnom prostoru. Korisničke usluge čuvaju se u korisnički adresni prostori kernel usluge drže se ispod kernel adresni prostor, Ovaj smanjuje veličina kernela i dodatno smanjuje veličinu operativnog sustava.
Pored 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 izvode u korisničkom adresnom prostoru uspostavlja se prolaskom. Nikada ne komuniciraju izravno. Time se smanjuje brzina izvođenja mikrokernela.
Korisničke usluge su u mikrokernu izolirane od kernel servisa, tako da ako bilo koja korisnička usluga ne uspije, to ne utječe na uslugu kernela i stoga operativni sustav ostati netaknuti, To je jedna od prednosti mikrokernela. Mikrokernel je lako proširivo, Ako se nove usluge dodaju, dodaju se u adresni prostor korisnika i, samim tim, prostor jezgre ne zahtijeva nikakve izmjene. Microkernel je također lako prenosiv, siguran i pouzdan.
Definicija monolitnog jezgra
Monolitna jezgra upravlja sistemskim resursima između aplikacije i hardvera sustava. Ali za razliku od mikrokernela, korisničke usluge i usluge kernel implementirane su u istom adresnom prostoru. To povećava veličinu kernela i dodatno povećava veličinu operacijskog sustava.
Monolitno jezgro omogućava zakazivanje CPU-a, upravljanje memorijom, upravljanje datotekama i druge funkcije operacijskog sustava putem sistemskih poziva. Kako se korisničke usluge i usluge kernel nalaze u istom adresnom prostoru, to rezultira brzim izvršenjem operacijskog sustava.
Jedan od nedostataka monolitne jezgre je ako neki servis ne uspije, srušio se cijeli sustav. Ako treba dodati novu uslugu u monolitnoj jezgri, cijeli operativni sustav treba izmijeniti.
Ključne razlike između mikrokernela i monolitnog jezgra
- Osnovna točka na kojoj se razlikuju mikrokernel i monolitna jezgra je ta mikrokernelu implementirati korisničke usluge i usluge kernel u sustav različiti adresni prostori i monolitna jezgra implementirati i korisničke usluge i usluge kernel pod isti adresni prostor.
- Veličina mikrokernela je mali jer samo kernel usluge borave u adresnom prostoru jezgre. Međutim, veličina monolitne jezgre je usporedno veći nego microkernel jer i kernel usluge i korisničke usluge borave u istom adresnom prostoru.
- Izvođenje monolitne jezgre je brže pošto se komunikacija između aplikacije i hardvera uspostavlja pomoću sistemski poziv, S druge strane, izvršenje mikrokernela je usporiti kao što je uspostavljena komunikacija između aplikacije i hardvera sustava pretjecanje.
- Lako je proširiti mikrokernel jer se nova usluga treba dodati u adresni prostor korisnika koji je izoliran od prostora kernele pa jezgru nije potrebno mijenjati. Suprotno je slučaju s monolitnom jezgrom ako se želi dodati nova usluga u monolitno jezgro, tada cijelo jezgro treba izmijeniti.
- Microkernel je više siguran nego monolitni kernel kao da usluga ne uspije u mikrokernelu, radni sustav ostaje netaknut. S druge strane, ako servis ne uspije u monolitnom kernelu, cijeli sustav će se pokvariti.
- Monolitno projektiranje jezgre zahtijeva manje koda, što dalje dovodi do manje bugova. S druge strane, za izradu mikrokelera potrebno je više koda što dalje dovodi do većih pogrešaka.
Zaključak:
Microkernel je sporiji, ali sigurniji i pouzdaniji od monolitnog jezgra. Monolitna jezgra je brza, ali manje sigurna jer svaki kvar usluge može dovesti do pada sustava.