Operativsystemkärna
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
![]() | Det här avsnittet behöver fler eller bättre källhänvisningar för att kunna verifieras. (2013-10) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. |
De tre vanligaste typerna av operativsystemskärnor är de monolitiska kärnorna, mikrokärnorna och hybridkärnorna.
Monolitisk
- 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
- 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
- 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
Exokärna
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
- ^ ”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.