Hva er en kjerne når jeg beregner?
I de fleste datamaskinoperativsystemer er kjernen den sentrale komponenten. Det er broen mellom brukeren og applikasjonene og maskinvaren. Det er også mekanismen som gjør at datamaskinen kan håndtere flere brukere og flere oppgaver samtidig. Kjernetypene er den monolittiske kjernen, mikrokjernen, hybridkjernen, nanokernelen og eksokernelen.
Kjernen administrerer alle datamaskinens systemressurser. Dette inkluderer langtidslagring, sentral prosesseringsenhet (CPU), korttidsminne og inngangs- og utgangsenheter. Når en applikasjon trenger en av disse ressursene, gjør kjernen ressursen tilgjengelig og fullfører forespørselen.
Denne håndteringen av ressurser gjør det mulig for operativsystemene å være flere brukere og multitasking. Operativsystemet utfører faktisk ikke mer enn én oppgave om gangen. I stedet bytter kjernen oppgaver med så høy hastighet at datamaskinen ser ut til å utføre flere oppgaver. Kjernen er også ansvarlig for å sørge for at ressurser som brukes av en bruker eller prosess ikke blir krenket forespørselen fra en annen bruker eller prosess.
Det er to hovedtyper av kjerner som den monolitiske kjernen og mikrokjernen. Monolittiske kjerner bruker en tilsynsmetode for ressursstyring der alle operativsystemtjenestene kjøres i samme adresserom, kalt kernelområdet. Noen monolitiske kjerner kan laste og laste ut kjørbare moduler. Dette utvider operativsystemets funksjoner, mens du fremdeles opprettholder et minimum mengde kode som kjører i kjerneområdet når som helst.
Mikrokjerner kjører bare den minimale mengden operativsystemtjenester, for eksempel minnehåndtering, trådstyring og kommunikasjon mellom prosesser i kjernen. Alle andre tjenester, for eksempel enhetsdrivere, brukergrensesnitt og filhåndtering, kjøres på brukerområdet. Mikrokjernen minimerer alvorlig mengden kode som kjører i kjernemodus.
En hybridkjerne er en kombinasjon av de monolitiske og mikrokjernene. De fleste av operativsystemets systemtjenester kjøres i kjerneområdet, som en monolitisk kjerne. Det er andre tjenester, for eksempel filsystem og vindussystem, som kjøres på brukerområdet.
De andre kjernetypene er nanokernelen og eksokernelen. Nanokernel bruker enhetsdrivere for å håndtere nesten alle tjenestene. Exokernel bruker programmer for å fordele fysiske ressurser.