Vad är en kärna när jag beräknar?
I de flesta datoroperativsystem är kärnan den centrala komponenten. Det är bron mellan användaren och applikationerna och hårdvaran. Det är också den mekanism som gör att datorn kan hantera flera användare och flera uppgifter samtidigt. Kärntyperna är den monolitiska kärnan, mikrokärnan, hybridkärnan, nanokernel och exokernel.
Kärnan hanterar alla datorns systemresurser. Detta inkluderar långsiktig lagring, den centrala processorenheten (CPU), korttidsminne och ingångs- och utgångsenheter. När en applikation behöver en av dessa resurser gör kärnan resursen tillgänglig och slutför begäran.
Denna hantering av resurser gör det möjligt för operativsystemen att vara både flera användare och multitasking. Operativsystemet utför faktiskt inte mer än en uppgift åt gången. I stället byter kärnan uppgifter med så hög hastighet att datorn verkar utföra flera uppgifter. Kärnan ansvarar också för att se till att resurser som används av en användare eller process inte bryts mot en annan användares eller processens begäran.
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 operativsystemtjänster körs i samma adressutrymme, kallad kärnutrymmet. Vissa monolitiska kärnor kan ladda och lossa körbara moduler. Detta utvidgar operativsystemets funktioner medan du fortfarande upprätthåller en minsta mängd kod som körs i kärnutrymmet vid en gång.
Mikrokärnor kör bara den minimala mängden operativsystemtjänster, såsom minneshantering, trådhantering och kommunikation mellan processer i kärnutrymmet. Alla andra tjänster, t.ex. enhetsdrivrutiner, 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 och mikrokärnorna. De flesta av operativsystemets systemtjänster körs i kärnutrymmet, som en monolitisk kärna. Det finns andra tjänster, t.ex. filsystemet och fönsterrutan, som körs i användarutrymmet.
De andra kärntyperna är nanokernel och exokernel. Nanokernel använder enhetsdrivrutiner för att hantera nästan alla tjänster. Exokernel använder program för att fördela fysiska resurser.