En operativsystemskärna (engelska kernel, som kan översättas som "kärna") är den innersta delen av ett operativsystem. Kärnans uppgift är att starta systemet, hantera resurstilldelningen, samt att kommunicera med hårdvaran. Vanligtvis fungerar kärnan som ett lager mellan datorns hårdvara och de processer som körs i datorsystemet. Programmen har i allmänhet inte direkt tillgång till hårdvaran, utan måste gå via kärnan (se HAL). Kärnan har också ofta till uppgift att hålla program åtskilda från varandra så att ett program som kraschar inte nödvändigtvis kraschar andra program. Kärnan tillhandahåller också tjänster så att informationsutbyte skall kunna ske mellan program.[1] Detta kan ske lokalt eller via datornätverk.

Tre vanliga typer av operativsystemskärnor redigera

De tre vanligaste typerna av operativsystemskärnor är de monolitiska kärnorna, mikrokärnorna och hybridkärnorna.

Monolitisk redigera

Huvudartikel: Monolitisk kärna

Monolitiska kärnor bygger på att hela kärnan fungerar som ett program där alla systemets funktioner finns inkluderade. GNU/Linux och FreeBSD är exempel på operativsystem som bygger på monolitiska kärnor.

Mikro redigera

Huvudartikel: Mikrokärna

Mikrokärnor är uppbyggda av ett stort antal mindre komponenter som kommunicerar mellan varandra och tillåter att komponenter läggs till och tas bort utan att systemet startas om. Operativsystemen GNU/Hurd, QNX och Mac OS bygger på mikrokärnor.

Hybrid redigera

Huvudartikel: Hybridkärna

En annan typ av kärna är hybridkärnan, som finns i till exempel Windows NT. Den liknar mikrokärnan, men de olika processerna körs i delade minnesutrymmen.

Övriga redigera

Exokärna redigera

En mindre vanlig typ av kärna är exokärnan. Tanken bakom exokärnorna är att operativsystemet inte ska tillhandahålla några som helst abstraktioner - abstraktionerna ska istället implementeras som programbibliotek. Olika typer av program kräver nämligen olika typer av abstraktioner. Exokärnor tillåter därför, till skillnad från de andra kärnorna, att vanliga program kommunicerar direkt med systemets hårdvara. Exokärnans uppgift blir då reducerad till att se till att programmen endast får tillgång till den del av hårdvaran de har rätt till. Exempel på operativsystem som bygger på en exokärna är Exokernel och Nemesis.

Källor redigera

  1. ^ ”In Computing, What Is a Kernel?”. wiseGEEK. 17 september 2013 (senast uppdaterad). http://www.wisegeek.com/in-computing-what-is-a-kernel.htm. Läst 28 september 2013.