Mikrokerne i Operating system: Architecture, Fordele
โก Smart opsummering
Mikrokernen er en minimal operativsystemkerne, der kun indeholder essentielle funktioner - hukommelsesstyring, procesplanlรฆgning og kommunikation mellem processer - i kerneomrรฅdet, mens enhedsdrivere, filservere og andre tjenester kรธrer separat i brugeromrรฅdet.

Fรธr vi lรฆrer om mikrokernel, lad os forstรฅ:
Hvad er Kernel?
En kerne er en vigtig del af et operativsystem, der administrerer systemressourcer. Den fungerer ogsรฅ som en bro mellem computerens software og hardware. Det er et af de fรธrste programmer, der indlรฆses ved opstart efter bootloaderen. Kernen er ogsรฅ ansvarlig for at tilbyde sikker adgang til maskinens hardware for forskellige programmer. Den bestemmer ogsรฅ, hvornรฅr og hvor lรฆnge en bestemt applikation bruger specifik hardware.
Hvad er mikrokernel?
En mikrokerne er software eller kode, der indeholder den nรธdvendige minimumsmรฆngde af funktioner, data og egenskaber til at implementere et operativsystem. Den leverer et minimalt antal mekanismer, hvilket er godt nok til at kรธre de mest basale funktioner i et operativsystem. Den tillader implementering af andre dele af operativsystemet, da den ikke pรฅlรฆgger mange politikker.
Mikrokerner og deres brugermiljรธer er normalt implementeret i C++ or C programmeringssprog med lidt montering. Andre implementeringssprog er dog mulige med noget hรธjniveaukodning.
Hvad er en monolitisk kerne?
En monolitisk kerne kรธrer alle de grundlรฆggende systemtjenester som f.eks. processtyring, hukommelsesstyring, I/O-kommunikation og afbrydelseshรฅndtering, filsystem osv. i kerneomrรฅdet.
I denne type kernetilgang kรธrer hele operativsystemet som et enkelt program i kernetilstand. Operativsystemet er skrevet som en samling af procedurer, der er knyttet sammen til et stort eksekverbart binรฆrt program.
Mikrokerne Architecture
En mikrokerne er den vigtigste del for korrekt implementering af et operativsystem. Som du kan se i diagrammet nedenfor, udfรธrer mikrokernen grundlรฆggende operationer som hukommelse, procesplanlรฆgningsmekanismer og kommunikation mellem processer.
Mikrokerne baseret Operating System
Mikrokernen er den eneste software, der kรธrer pรฅ privilegeret niveau. OS'ets andre vigtige funktioner fjernes fra kernetilstand og kรธrer i brugertilstand. Disse funktioner kan vรฆre enhedsdrivere, applikationer, filservere, kommunikation mellem processer osv.
Komponenter af mikrokernel
En mikrokerne omfatter kun systemets kernefunktioner. En komponent er kun inkluderet i mikrokernen, hvis placering uden for den ville afbryde systemets funktionalitet. Alle andre ikke-essentielle komponenter bรธr sรฆttes i brugertilstand.
De minimale funktioner, der krรฆves i mikrokernen, er:
- Hukommelsesstyring Mekanismer som adresserum bรธr inkluderes i mikrokernen. Den indeholder ogsรฅ funktioner til hukommelsesbeskyttelse.
- Processorplanlรฆgningsmekanismer bรธr indeholde proces- og trรฅdplanlรฆgningsprogrammer.
- Inter-proces kommunikation administrerer de servere, der kรธrer deres egne adresserum.
Forskellen mellem mikrokerne og monolitisk kerne
| Driftsparametre | Monolitisk kerne | Mikrokerne |
|---|---|---|
| Grundlรฆggende | Det er en stor proces, der kรธrer i et enkelt adresseomrรฅde. | Det kan opdeles i separate processer kaldet servere. |
| Code | For at skrive en monolitisk kerne krรฆves der mindre kode. | For at skrive en mikrokerne krรฆves der mere kode. |
| Sikkerhed | Hvis en tjeneste gรฅr ned, kollapser hele systemet i en monolitisk kerne. | Hvis en tjeneste gรฅr ned, pรฅvirker det aldrig funktionen af โโen mikrokerne. |
| Kommunikation | Det er en enkelt statisk binรฆr fil. | Servere kommunikerer via IPC. |
| Eksempel | Linux, BSD'er, Microsoft Windows (95, 98, Mig), Solaris, OS-9, AIX, DOS, XTS-400 osv. | L4Linux, QNX, Symbian, K42, Mac OS X IntegrityOsv |
Fordele ved Microkernel
Her er fordelene/fordelene ved at bruge en mikrokerne:
- Mikrokernearkitekturen er lille og isoleret, derfor kan den fungere bedre.
- Mikrokerner er sikre, fordi kun de komponenter er inkluderet, som ellers ville forstyrre systemets funktionalitet.
- Systemudvidelsen er mere tilgรฆngelig, sรฅ den kan tilfรธjes til systemapplikationen uden at forstyrre kernen.
- Mikrokerner er modulรฆre, og de forskellige moduler kan udskiftes, genindlรฆses eller modificeres uden engang at rรธre kernen.
- Fรฆrre systemnedbrud sammenlignet med monolitiske systemer.
- Mikrokernegrรฆnsefladen hjรฆlper dig med at hรฅndhรฆve en mere modulรฆr systemstruktur.
- Nye funktioner kan tilfรธjes uden at skulle rekompileres.
- Serverfejl er ogsรฅ isoleret, ligesom fejl i ethvert andet brugerprogram.
- Mikrokernesystemet er fleksibelt, sรฅ forskellige strategier og API'er implementeret af forskellige servere kan sameksistere i systemet.
- รget sikkerhed og stabilitet skyldes en reduceret mรฆngde kode, der kรธrer i kernetilstand.
Ulemper ved mikrokerne
Her er ulemperne/ulemperne ved at bruge en mikrokerne:
- Det er dyrt at levere tjenester i et mikrokernesystem sammenlignet med et normalt monolitisk system.
- En kontekstskift eller et funktionskald er nรธdvendigt, nรฅr driverne implementeres som henholdsvis procedurer eller processer.
- Ydeevnen af โโet mikrokernesystem kan vรฆre ligegyldig og kan fรธre til nogle problemer.

