Mikrokjerne i Operating System: Architecture, Fordeler
โก Smart oppsummering
Mikrokjernen er en minimal operativsystemkjerne som bare holder viktige funksjoner โ minnehรฅndtering, prosessplanlegging og kommunikasjon mellom prosesser โ i kjerneomrรฅdet, mens enhetsdrivere, filservere og andre tjenester kjรธrer separat i brukeromrรฅdet.

Fรธr vi lรฆrer om mikrokjerne, la oss forstรฅ:
Hva er kjernen?
En kjerne er en viktig del av et operativsystem som administrerer systemressurser. Den fungerer ogsรฅ som en bro mellom programvaren og maskinvaren pรฅ datamaskinen. Det er et av de fรธrste programmene som lastes inn ved oppstart etter oppstartslasteren. Kjernen er ogsรฅ ansvarlig for รฅ tilby sikker tilgang til maskinens maskinvare for ulike programmer. Den bestemmer ogsรฅ nรฅr og hvor lenge et bestemt program bruker spesifikk maskinvare.
Hva er Microkernel?
En mikrokjerne er programvare eller kode som inneholder den nรธdvendige minimumsmengden funksjoner, data og egenskaper for รฅ implementere et operativsystem. Den tilbyr et minimalt antall mekanismer, som er godt nok til รฅ kjรธre de mest grunnleggende funksjonene i et operativsystem. Den tillater implementering av andre deler av operativsystemet, ettersom den ikke pรฅlegger mange retningslinjer.
Mikrokjerner og deres brukermiljรธer er vanligvis implementert i C++ or C programmeringssprรฅk med litt montering. Imidlertid er andre implementeringssprรฅk mulig med noe hรธynivรฅkoding.
Hva er en monolittisk kjerne?
En monolittisk kjerne kjรธrer alle de grunnleggende systemtjenestene som prosessledelse, minnehรฅndtering, I/O-kommunikasjon og avbruddshรฅndtering, filsystem, etc., i kjerneomrรฅdet.
I denne typen kjernetilnรฆrming kjรธrer hele operativsystemet som ett enkelt program i kjernemodus. Operativsystemet er skrevet som en samling prosedyrer som er koblet sammen til et stort kjรธrbart binรฆrt program.
mikrokjerne Architecture
En mikrokjerne er den viktigste delen for korrekt implementering av et operativsystem. Som du kan se i diagrammet nedenfor, utfรธrer mikrokjernen grunnleggende operasjoner som minne, prosessplanleggingsmekanismer og kommunikasjon mellom prosesser.
Mikrokjernebasert Operating System
Mikrokjernen er den eneste programvaren som kjรธrer pรฅ privilegert nivรฅ. De andre viktige funksjonene til operativsystemet fjernes fra kjernemodus og kjรธres i brukermodus. Disse funksjonene kan vรฆre enhetsdrivere, applikasjoner, filservere, kommunikasjon mellom prosesser osv.
Komponenter av mikrokjerne
En mikrokjerne omfatter kun systemets kjernefunksjonaliteter. En komponent inkluderes bare i mikrokjernen hvis plassering utenfor ville forstyrre systemets funksjonalitet. Alle andre ikke-essensielle komponenter bรธr settes i brukermodus.
Minimumsfunksjonalitetene som kreves i mikrokjernen er:
- Minnehรฅndtering Mekanismer som adresserom bรธr inkluderes i mikrokjernen. Den inneholder ogsรฅ funksjoner for minnebeskyttelse.
- Prosessorplanleggingsmekanismer bรธr inneholde prosess- og trรฅdplanleggere.
- Kommunikasjon mellom prosesser administrerer serverne som kjรธrer sine egne adresseomrรฅder.
Forskjellen mellom mikrokjerne og monolittisk kjerne
| Parametre | Monolittisk kjerne | mikrokjerne |
|---|---|---|
| Basic | Det er en stor prosess som kjรธrer i et enkelt adresserom. | Det kan brytes ned i separate prosesser kalt servere. |
| Code | For รฅ skrive en monolittisk kjerne, kreves det mindre kode. | For รฅ skrive en mikrokjerne kreves det mer kode. |
| Trygghet | Hvis en tjeneste krasjer, kollapser hele systemet i en monolittisk kjerne. | Hvis en tjeneste krasjer, pรฅvirker det aldri funksjonen til en mikrokjerne. |
| Kommunikasjon | Det er en enkelt statisk binรฆrfil. | Servere kommuniserer gjennom IPC. |
| Eksempel | Linux, BSD-er, Microsoft Windows (95, 98, Meg), Solaris, OS-9, AIX, DOS, XTS-400, etc. | L4Linux, QNX, Symbian, K42, Mac OS X IntegrityOsv |
Fordeler med Microkernel
Her er fordelene/fordelene ved รฅ bruke en mikrokjerne:
- Mikrokjernearkitekturen er liten og isolert, derfor kan den fungere bedre.
- Mikrokjerner er sikre fordi bare de komponentene som ellers ville forstyrre systemets funksjonalitet er inkludert.
- Utvidelsen av systemet er mer tilgjengelig, slik at det kan legges til systemapplikasjonen uten รฅ forstyrre kjernen.
- Mikrokjerner er modulรฆre, og de forskjellige modulene kan byttes ut, lastes inn pรฅ nytt eller modifiseres uten รฅ engang berรธre kjernen.
- Fรฆrre systemkrasj sammenlignet med monolittiske systemer.
- Mikrokjernegrensesnittet hjelper deg med รฅ hรฅndheve en mer modulรฆr systemstruktur.
- Nye funksjoner kan legges til uten รฅ kompilere pรฅ nytt.
- Serverfeil er ogsรฅ isolert, akkurat som feil i alle andre brukerprogrammer.
- Mikrokjernesystemet er fleksibelt, slik at forskjellige strategier og API-er implementert av forskjellige servere kan eksistere samtidig i systemet.
- รkt sikkerhet og stabilitet skyldes en redusert mengde kode som kjรธrer i kjernemodus.
Ulemper med mikrokjernen
Her er ulempene/ulempene ved รฅ bruke en mikrokjerne:
- ร tilby tjenester i et mikrokjernesystem er dyrt sammenlignet med et vanlig monolittisk system.
- En kontekstbryter eller et funksjonskall er nรธdvendig nรฅr driverne implementeres som henholdsvis prosedyrer eller prosesser.
- Ytelsen til et mikrokjernesystem kan vรฆre likegyldig og kan fรธre til noen problemer.

