Mikrokärna i Operatingssystem: Architecture, Fördelar
Innan vi lär oss MicroKernel, låt oss förstå:
Vad är Kernel?
En kärna är en viktig del av ett OS som hanterar systemresurser. Det fungerar också som en brygga mellan programvaran och hårdvaran på datorn. Det är ett av de första programmen som laddas vid uppstart efter bootloader. Kerneln ansvarar också för att erbjuda säker åtkomst till maskinens hårdvara för olika program. Den avgör också när och hur länge en viss applikation använder specifik hårdvara.
Vad är Microkernel?
Mikrokärna är en programvara eller kod som innehåller den nödvändiga minsta mängden funktioner, data och funktioner för att implementera ett operativsystem. Det ger ett minimalt antal mekanismer, vilket är tillräckligt bra för att köra de mest grundläggande funktionerna i ett operativsystem. Det tillåter andra delar av operativsystemet att implementeras eftersom det inte kräver en massa policyer.
Mikrokärnor och deras användarmiljöer är vanligtvis implementerade i C++ or C programmeringsspråk med lite montering. Men andra implementeringsspråk är möjliga med viss högnivåkodning.
Vad är en monolitisk kärna?
Monolithic Kernel kör alla grundläggande systemtjänster som processhantering, Minneshantering, I/O-kommunikation och avbrottshantering, filsystem, etc i kärnutrymmet.
I denna typ av kärnangrepp körs hela operativsystemet som ett enda program i kärnläge. Operativsystemet är skrivet som en samling procedurer som är länkade samman till ett stort körbart binärt program.
Mikrokärna Architecture
En mikrokärna är den viktigaste delen för korrekt implementering av ett operativsystem. Du kan se i diagrammet nedan att Microkernel uppfyller grundläggande operationer som minne, processschemaläggningsmekanismer och kommunikation mellan processer.
Microkernel är den enda programvaran som körs på privilegierad nivå. De andra viktiga funktionerna i operativsystemet tas bort från kärnläget och körs i användarläget. Dessa funktioner kan vara drivrutiner, applikationer, filservrar, kommunikation mellan processer, etc.
Komponenter i Microkernel
En mikrokärna omfattar endast systemets kärnfunktioner. En komponent är inkluderad i mikrokärnan endast om det skulle avbryta systemets funktionalitet om den placeras utanför. Alla andra icke väsentliga komponenter bör sättas i användarläget.
De minimifunktioner som krävs i mikrokärnan är:
- Minneshantering mekanismer som adressutrymmen bör inkluderas i mikrokärnan. Den innehåller även minnesskyddsfunktioner.
- Processorns schemaläggningsmekanismer bör innehålla process- och trådschemaläggare.
- Kommunikation mellan processer hanterar servrarna som kör sina egna adressutrymmen.
Skillnaden mellan mikrokärna och monolitisk kärna
parametrar | Monolitisk kärna | MicroKernel |
---|---|---|
Grundläggande | Det är en stor process som körs i ett enda adressutrymme | Det kan delas upp i separata processer som kallas servrar. |
Koda | För att skriva en monolitisk kärna krävs mindre kod. | För att skriva en mikrokärna krävs mer kod |
Säkerhet | Om en tjänst kraschar kollapsar hela systemet i en monolitisk kärna. | Om en tjänst kraschar påverkar det aldrig hur en mikrokärna fungerar. |
Kommunikation | Det är en enda statisk binär fil | Servrar kommunicerar via IPC. |
Exempelvis | Linux, BSD, Microsoft Windows (95,98, Jag), Solaris, OS-9, AIX, DOS, XTS-400, etc. | L4Linux, QNX, SymbianK42, Mac OS X, IntegrityEtc. |
Fördelar med Microkernel
Här är fördelarna/fördelarna med att använda Microkernel
- Mikrokärnarkitekturen är liten och isolerad och därför kan den fungera bättre.
- Mikrokärnor är säkra eftersom endast de komponenter ingår som annars stör systemets funktionalitet.
- Utbyggnaden av systemet är mer tillgänglig, så den kan läggas till i systemapplikationen utan att störa kärnan.
- Mikrokärnor är modulära, och de olika modulerna kan bytas ut, laddas om, modifieras utan att ens röra kärnan.
- Färre systemkrascher jämfört med monolitiska system.
- Microkernel-gränssnittet hjälper dig att genomdriva en mer modulär systemstruktur.
- Lägg till nya funktioner utan att kompilera om
- Serverfel är också isolerat som något annat användarprograms fel.
- Microkernel-systemet är flexibelt, så olika strategier och API:er, implementerade av olika servrar, som kan samexistera i systemet.
- Ökad säkerhet och stabilitet kommer att resultera i en minskad mängd kod som körs i kärnläge
Nackdel med Microkernel
Här är nackdelar/nackdelar med att använda Microkernel:
- Att tillhandahålla tjänster i ett mikrokärnsystem är dyrt jämfört med det normala monolitiska systemet.
- Kontextväxling eller ett funktionsanrop behövs när drivrutinerna implementeras som procedurer respektive processer.
- Prestandan hos ett mikrokärnsystem kan vara likgiltig och kan leda till vissa problem.
Sammanfattning
- En kärna är en viktig del av ett OS som hanterar systemresurser.
- En mikrokärna är en programvara eller kod som innehåller den nödvändiga minsta mängden funktioner, data och funktioner för att implementera ett operativsystem.
- I Monolithic Kernel-metoden körs hela operativsystemet som ett enda program i kärnläge
- En mikrokärna är den viktigaste delen för korrekt implementering av ett operativsystem.
- En mikrokärna omfattar endast systemets kärnfunktioner.
- En monolitisk kärna är en stor process som körs i ett enda adressutrymme, medan Microkernel kan delas upp i separata processer som kallas servrar.
- Mikrokärnarkitekturen är liten och isolerad och därför kan den fungera bättre
- Att tillhandahålla tjänster i ett mikrokärnsystem är dyrt jämfört med det normala monolitiska systemet