Võrdluskaart
Võrdluse alus | Microkernel | Monoliitne tuum |
---|---|---|
Põhiline | Mikrokiibi kasutajateenustes ja kernelis säilitatakse teenuseid eraldi aadressiruumis. | Monoliitses tuumas hoitakse nii kasutajateenuseid kui ka kerneli teenuseid samas aadressiruumis. |
Suurus | Microkernel on väiksema suurusega. | Monoliitne tuum on suurem kui mikrokernel. |
Täitmine | Aeglane täitmine. | Kiire täitmine. |
Pikendatav | Mikrokiib on kergesti laiendatav. | Monoliitset tuuma on raske laiendada. |
Turvalisus | Kui teenus jookseb kokku, mõjutab see mikrokiibi tööd. | Kui teenus jookseb kokku, jookseb kogu süsteem monoliitses tuumas. |
Kood | Mikrokerneli kirjutamiseks on vaja rohkem koodi. | Monoliitse tuuma kirjutamiseks on vaja vähem koodi. |
Näide | QNX, Symbian, L4Linux, Singularity, K42, Mac OS X, Integrity, PikeOS, HURD, Minix ja Coyotos. | Linux, BSD (FreeBSD, OpenBSD, NetBSD), Microsoft Windows (95, 98, Me), Solaris, OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400 jne |
Microkerneli mõiste
Microkernel on kernel, mis haldab kõiki süsteemi ressursse. Kuid mikrokiibris rakendatakse kasutajateenuseid ja tuuma teenuseid erinevates aadressiruumides. Kasutajateenuseid hoitakse kasutaja aadressiruumis ning kerneli teenuseid hoitakse kerneli aadressiruumi all. See vähendab tuuma suurust ja vähendab veelgi operatsioonisüsteemi suurust.
Lisaks süsteemi rakenduse ja riistvara vahelisele teabevahetusele pakub mikrokiik minimaalset protsessi ja mälu haldamise teenust. Side kliendiprogrammi / rakenduse ja kasutaja aadressiruumis töötavate teenuste vahel luuakse sõnumite edastamise teel. Nad ei suhtle kunagi otse. See vähendab mikrokiibi täitmise kiirust.
Mikrokiibris on kasutajateenused kerneli teenustest eraldatud, nii et kui ükskõik milline kasutajateenus ebaõnnestub, ei mõjuta see kerneli teenust ja seega jääb operatsioonisüsteem muutmata . See on üks mikrokiibi eeliseid. Mikrokiib on kergesti laiendatav . Kui lisada uusi teenuseid, lisatakse need kasutaja aadressiruumi ja seega ei vaja tuumaruum mingeid muudatusi. Mikrolüliti on ka kergesti kaasaskantav, turvaline ja usaldusväärne.
Monoliitse tuuma määratlus
Monoliitne kernel haldab süsteemi ressursse süsteemi rakenduse ja riistvara vahel. Kuid erinevalt mikrokiibist rakendatakse kasutajateenuseid ja kerneli teenuseid sama aadressiruumi all. See suurendab tuuma suurust veelgi operatsioonisüsteemi suurust.
Monoliitne kernel pakub CPU-ajastamist, mäluhaldust, failihaldust ja muid operatsioonisüsteemi funktsioone süsteemikõnede kaudu. Kuna kasutajateenused ja kerneli teenused asuvad samas aadressiruumis, on tulemuseks kiire operatsioonisüsteem.
Üks monoliitsete tuumade puudustest on see, et ükskõik milline teenus ebaõnnestub kogu süsteemi kukkumisel. Kui uus teenus lisatakse monoliitsesse tuuma, tuleb kogu operatsioonisüsteemi muuta.
Microkerneli ja monoliitse tuuma vahelised peamised erinevused
- Peamine punkt, mille puhul eristatakse mikrokiibi ja monoliitset tuuma, on see, et mikrokernel rakendab kasutajateenuseid ja kerneli teenuseid erinevates aadressiruumides ja monoliitne kernel rakendab nii kasutajateenuseid kui ka kerneli teenuseid sama aadressiruumi all.
- Mikrokiibi suurus on väike, kuna tuuma aadressi ruumis asuvad ainult kerneli teenused. Monoliitsete tuumade suurus on siiski suhteliselt suurem kui mikrokernel, sest nii kerneli teenused kui ka kasutajateenused asuvad samas aadressiruumis.
- Monoliitsete tuumade teostamine on kiirem, kuna rakenduse ja riistvara vaheline side luuakse süsteemi kõne abil . Teisest küljest on mikrokiibi teostamine aeglane, kuna süsteemi rakenduse ja riistvara vaheline side luuakse sõnumite edastamise teel .
- Mikrolülitit on lihtne laiendada, sest kerneli ruumist eraldatud kasutaja aadressiruumile tuleb lisada uus teenus, mistõttu kernelit ei ole vaja muuta. Vastupidiselt on tegemist monoliitsete tuumadega, kui monoliitses tuumasse lisatakse uus teenus, siis tuleb muuta kogu tuuma.
- Microkernel on turvalisem kui monoliitne kernel, kui teenus ebaõnnestub mikrokiibis, ei mõjuta operatsioonisüsteem. Teisest küljest, kui teenus ebaõnnestub monoliitses kernelis, ebaõnnestub kogu süsteem.
- Monoliitne tuuma projekteerimine nõuab vähem koodi, mis viib veelgi vähem vigu. Teisest küljest vajab mikrokiibi projekteerimine rohkem koodi, mis toob kaasa rohkem vigu.
Järeldus:
Microkernel on aeglasem, kuid turvalisem ja usaldusväärsem kui monoliitne tuum. Monoliitne kernel on kiire, kuid vähem turvaline, sest mis tahes hooldustõrge võib põhjustada süsteemi krahhi.