Mikrokerne i Operating system: Architecture, Fordele

Før vi lærer MicroKernel, lad os forstå:

Hvad er Kernel?

En kerne er en vigtig del af et OS, der styrer systemressourcer. Det 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 til forskellige programmer. Det bestemmer også, hvornår og hvor længe en bestemt applikation bruger specifik hardware.

Hvad er mikrokernel?

Mikrokerne er en software eller kode, som indeholder den nødvendige minimumsmængde af funktioner, data og funktioner til at implementere et operativsystem. Det giver et minimalt antal mekanismer, hvilket er godt nok til at køre de mest basale funktioner i et operativsystem. Det tillader andre dele af operativsystemet at blive implementeret, da det ikke pålægger en masse 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?

Monolithic Kernel kører alle de grundlæggende systemtjenester som processtyring, Hukommelsesstyring, I/O-kommunikation og afbrydelseshåndtering, filsystem osv. i kernerummet.

I denne type Kernel-tilgang kører hele operativsystemet som et enkelt program i kernetilstand. Operativsystemet er skrevet som en samling af procedurer, der er koblet sammen til et stort eksekverbart binært program.

Mikrokerne Architecture

En mikrokerne er den vigtigste del for korrekt implementering af et operativsystem. Du kan se i nedenstående diagram, at Microkernel opfylder grundlæggende operationer som hukommelse, procesplanlægningsmekanismer og kommunikation mellem processer.

Mikrokerne Architecture
Mikrokerne baseret Operating System

Microkernel er den eneste software, der kører på det privilegerede niveau. De andre vigtige funktioner i operativsystemet fjernes fra kernetilstanden og køres i brugertilstanden. 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 det ville afbryde systemets funktionalitet at sætte den udenfor. Alle andre ikke-essentielle komponenter skal sættes i brugertilstand.

De minimumsfunktioner, der kræves i mikrokernen er:

  • Hukommelsesstyring mekanismer som adresserum bør inkluderes i mikrokernen. Den indeholder også hukommelsesbeskyttelsesfunktioner.
  • 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

parametre Monolitisk kerne MicroKernel
Grundlæggende Det er en stor proces, der kører i et enkelt adresserum Det kan opdeles i separate processer kaldet servere.
Kode For at skrive en monolitisk kerne kræves der mindre kode. For at kunne 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, SymbianK42, Mac OS X, IntegrityOsv

Fordele ved Microkernel

Her er fordele/fordele ved at bruge Microkernel

  • Mikrokernearkitekturen er lille og isoleret, derfor kan den fungere bedre.
  • Mikrokerner er sikre, fordi kun de komponenter er inkluderet, som ellers forstyrrer systemets funktionalitet.
  • Udvidelsen af ​​systemet er mere tilgængelig, så den kan føjes til systemapplikationen uden at forstyrre kernen.
  • Mikrokerner er modulære, og de forskellige moduler kan udskiftes, genindlæses, modificeres uden at røre kernen.
  • Færre systemnedbrud sammenlignet med monolitiske systemer.
  • Microkernel-grænsefladen hjælper dig med at håndhæve en mere modulær systemstruktur.
  • Tilføj nye funktioner uden at genkompilere
  • Serverfejl er også isoleret som ethvert andet brugerprograms fejl.
  • Mikrokernesystemet er fleksibelt, så forskellige strategier og API'er, implementeret af forskellige servere, som kan eksistere side om side i systemet.
  • Øget sikkerhed og stabilitet vil resultere i en reduceret mængde kode, som kører på kernetilstand

Ulempen ved Microkernel

Her er ulemper/ulemper ved at bruge Microkernel:

  • At levere tjenester i et mikrokernesystem er dyrt sammenlignet med det normale monolitiske system.
  • 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.

Resumé

  • En kerne er en vigtig del af et OS, der styrer systemressourcer.
  • En mikrokerne er en software eller kode, som indeholder den nødvendige minimumsmængde af funktioner, data og funktioner til at implementere et operativsystem.
  • I Monolithic Kernel-tilgangen kører hele operativsystemet som et enkelt program i kernetilstand
  • En mikrokerne er den vigtigste del for korrekt implementering af et operativsystem.
  • En mikrokerne omfatter kun systemets kernefunktioner.
  • En monolitisk kerne er en stor proces, der kører i et enkelt adresserum, hvorimod Microkernel kan opdeles i separate processer kaldet servere.
  • Mikrokernearkitekturen er lille og isoleret, derfor kan den fungere bedre
  • At levere tjenester i et mikrokernesystem er dyrt sammenlignet med det normale monolitiske system