Hvad er en kerne ved beregning?
I de fleste computeroperativsystemer er kernen den centrale komponent. Det er broen mellem bruger og applikationer og computerhardware. Det er også den mekanisme, der gør det muligt for computeren at håndtere flere brugere og flere opgaver samtidigt. Kernerne er den monolitiske kerne, mikrokernen, hybridkernen, nanokernel og exokernel.
Kernen administrerer alle computerens systemressourcer. Dette inkluderer langtidslagring, den centrale behandlingsenhed (CPU), korttidshukommelse og input- og outputenhederne. Når en applikation har brug for en af disse ressourcer, gør kernen ressourcen tilgængelig og afslutter anmodningen.
Denne håndtering af ressourcer gør det muligt for operativsystemerne at være multi-user og multitasking. Operativsystemet udfører faktisk ikke mere end en opgave ad gangen. I stedet skifter kernen opgaver med en så høj hastighed, at computeren ser ud til at udføre flere opgaver. Kernen er også ansvarlig for at sikre, at ressourcer, der bruges af en bruger eller proces, ikke krænkes anmodningen fra en anden bruger eller proces.
Der er to hovedtyper af kerner den monolitiske kerne og mikrokernen. Monolitiske kerner anvender en overvågningsmetode til ressourcestyring, hvor alle operativsystemtjenester køres i det samme adresserum, kaldet kernelrummet. Nogle monolitiske kerner kan indlæse og losse eksekverbare moduler. Dette udvider operativsystemets kapaciteter, mens der stadig opretholdes en minimumsmængde kode, der kører i kerneområdet på et hvilket som helst tidspunkt.
Mikrokerner kører kun den minimale mængde af operativsystemtjenester, såsom hukommelsesstyring, trådstyring og kommunikation mellem processer i kernepladsen. Alle andre tjenester, såsom enhedsdrivere, brugergrænseflader og filhåndtering, køres i brugerområdet. Mikrokernen minimerer alvorligt mængden af kode, der kører i kernetilstanden.
En hybridkerne er en kombination af de monolitiske mikrokerner. De fleste af operativsystemets systemtjenester køres i kerneområdet, som en monolitisk kerne. Der er andre tjenester, såsom filsystemet og vinduessystemet, der køres i brugerområdet.
De andre kernetyper er nanokernel og exokernel. Nanokernel bruger enhedsdrivere til at håndtere næsten alle tjenester. Exokernel bruger programmer til at fordele fysiske ressourcer.