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.


