Mikrokjerne i Operating System: Architecture, Fordeler

Før vi lærer MicroKernel, la oss forstå:

Hva er kjernen?

En kjerne er en viktig del av et OS som administrerer systemressurser. Den fungerer også som en bro mellom programvaren og maskinvaren til datamaskinen. Det er et av de første programmene som lastes ved oppstart etter bootloaderen. Kjernen er også ansvarlig for å tilby sikker tilgang til maskinens maskinvare for ulike programmer. Den bestemmer også når og hvor lenge en bestemt applikasjon bruker spesifikk maskinvare.

Hva er Microkernel?

mikrokjerne er en programvare eller kode som inneholder den nødvendige minimumsmengden av funksjoner, data og funksjoner for å implementere et operativsystem. Det gir et minimalt antall mekanismer, som er godt nok til å kjøre de mest grunnleggende funksjonene til et operativsystem. Det lar andre deler av operativsystemet implementeres siden det 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?

Monolithic Kernel kjører alle de grunnleggende systemtjenestene som prosessledelse, Minneadministrasjon, I/O-kommunikasjon og avbruddshåndtering, filsystem osv. i kjerneplass.

I denne typen kjernetilnærming kjører hele operativsystemet som et 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. Du kan se i diagrammet nedenfor at Microkernel oppfyller grunnleggende operasjoner som minne, prosessplanleggingsmekanismer og kommunikasjon mellom prosesser.

mikrokjerne Architecture
Mikrokjernebasert Operating System

Microkernel 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 bare kjernefunksjonene til systemet. En komponent er inkludert i mikrokjernen bare hvis å sette den utenfor vil forstyrre funksjonaliteten til systemet. Alle andre ikke-essensielle komponenter bør settes i brukermodus.

Minimumsfunksjonene som kreves i mikrokjernen er:

  • Minnehåndtering mekanismer som adresserom bør inkluderes i mikrokjernen. Den inneholder også minnebeskyttelsesfunksjoner.
  • 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

parametere Monolitisk kjerne MicroKernel
Basic Det er en stor prosess som kjører i et enkelt adresseområde Det kan brytes ned i separate prosesser kalt servere.
Kode 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ær fil Servere kommuniserer gjennom IPC.
Eksempel Linux, BSD-er, Microsoft Windows (95,98, meg), Solaris, OS-9, AIX, DOS, XTS-400, etc. L4Linux, QNX, SymbianK42, Mac OS X, IntegrityOsv

Fordeler med Microkernel

Her er fordelene/fordelene ved å bruke Microkernel

  • Mikrokjernearkitektur er liten og isolert, derfor kan den fungere bedre.
  • Mikrokjerner er sikre fordi bare de komponentene er inkludert som ellers forstyrrer funksjonaliteten til systemet.
  • Utvidelsen av systemet er mer tilgjengelig, så det kan legges til systemapplikasjonen uten å forstyrre kjernen.
  • Mikrokjerner er modulære, og de forskjellige modulene kan erstattes, lastes inn på nytt, modifiseres uten engang å berøre kjernen.
  • Færre systemkrasj sammenlignet med monolittiske systemer.
  • Microkernel-grensesnittet hjelper deg med å håndheve en mer modulær systemstruktur.
  • Legg til nye funksjoner uten å rekompilere
  • Serverfeil er også isolert som ethvert annet brukerprograms feil.
  • Microkernel-systemet er fleksibelt, så forskjellige strategier og APIer, implementert av forskjellige servere, som kan eksistere side om side i systemet.
  • Økt sikkerhet og stabilitet vil resultere i en redusert mengde kode som kjører i kjernemodus

Ulempen med Microkernel

Her er ulemper/ulemper ved å bruke Microkernel:

  • Å tilby tjenester i et mikrokjernesystem er dyrt sammenlignet med det vanlige monolitiske systemet.
  • 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.

Oppsummering

  • En kjerne er en viktig del av et OS som administrerer systemressurser.
  • En mikrokjerne er en programvare eller kode som inneholder den nødvendige minimumsmengden av funksjoner, data og funksjoner for å implementere et operativsystem.
  • I Monolithic Kernel-tilnærming kjører hele operativsystemet som et enkelt program i kjernemodus
  • En mikrokjerne er den viktigste delen for korrekt implementering av et operativsystem.
  • En mikrokjerne omfatter bare kjernefunksjonene til systemet.
  • En monolitisk kjerne er en stor prosess som kjører i et enkelt adresserom, mens mikrokjerne kan brytes ned i separate prosesser kalt servere.
  • Mikrokjernearkitektur er liten og isolert, derfor kan den fungere bedre
  • Å tilby tjenester i et mikrokjernesystem er dyrt sammenlignet med det normale monolitiske systemet

Daglig Guru99 nyhetsbrev

Start dagen med de siste og viktigste AI-nyhetsartiklene levert akkurat nå.