Vad är en kärna i datoranvändning?

I de flesta datoroperativsystem är kärnan den centrala komponenten. Det är bryggan mellan användaren och applikationerna och datorns hårdvara. Det är också mekanismen som gör att datorn kan hantera flera användare och flera uppgifter samtidigt. Typerna av kärnor är den monolitiska kärnan, mikrokärnan, hybridkärnan, nanokärnan och exokerneln.

Kärnan hanterar alla datorns systemresurser. Detta inkluderar långtidslagring, den centrala processorenheten (CPU), korttidsminne och in- och utgångsenheterna. När ett program behöver en av dessa resurser, gör kärnan resursen tillgänglig och slutför begäran.

Denna hantering av resurser gör att operativsystemen kan vara både fleranvändare och multitasking. Operativsystemet utför faktiskt inte mer än en uppgift åt gången. Istället byter kärnan uppgifter i så hög hastighet att datorn verkar utföra flera uppgifter. Kärnan är också ansvarig för att se till att resurser som används av en användare eller process inte bryter mot begäran från en annan användare eller process.

Det finns två huvudtyper av kärnor är den monolitiska kärnan och mikrokärnan. Monolitiska kärnor använder en övervakningsmetod för resurshantering där alla operativsystemstjänster körs i samma adressutrymme, kallat kärnutrymme. Vissa monolitiska kärnor kan ladda och ta bort körbara moduler. Detta utökar operativsystemets möjligheter samtidigt som en minimal mängd kod som körs i kärnutrymmet vid en viss tidpunkt bibehålls.

Mikrokärnor kör endast den minimala mängden operativsystemtjänster, såsom minneshantering, trådhantering och kommunikation mellan processer i kärnan. Alla andra tjänster, såsom drivrutiner, användargränssnitt och filhantering, körs i användarutrymmet. Mikrokärnan minimerar kraftigt mängden kod som körs i kärnläget.

En hybridkärna är en kombination av de monolitiska kärnorna och mikrokärnorna. De flesta av operativsystemets systemtjänster körs i kärnutrymmet, som en monolitisk kärna. Det finns andra tjänster, som filsystemet och fönstersystemet, som körs i användarutrymmet.
De andra kärntyperna är nanokärnan och exokerneln. Nanokärnan använder enhetsdrivrutiner för att hantera nästan alla tjänster. Exokerneln använder program för att allokera fysiska resurser.