De kernel is een belangrijk onderdeel van je Operating System. Het belangrijkste onderdeel, arguably *.
De kernel is een speciaal soort programma dat tijdens het booten geladen wordt, en dat daarna een hoop belangrijke dingen verzorgt.
In Linux worden oa de volgende dingen door de kernel verzorgd:
• Hardware access, dus het schrijven naar HD, het maken van geluid, het aansturen van je seriele poort, het gebruiken van je netwerkkaart. De enige uitzondering is normaalgesproken je videokaart; XFree doet dit meestal buiten de kernel om. Dit is een belangrijke taak van de kernel. De kernel weet hoe hij jouw hardware aan moet sturen, zodat alle andere programma's dat niet hoeven te weten. Een programma zegt alleen 'stuur dit en dit over de netwerkkaart', de kernel zoekt dan uit hoe dat moet en voert het uit.
• Geheugenbeheer.
• Filesystem drivers (inclusief rechten-checking).
• Process beheer en scheduling.
Omdat de Linux kernel zoveel belangrijke taken voor zijn rekening neemt, is het ook één van de dingen waar het meest aan gesleuteld wordt. Ook is de efficientie van de kernel van grote invloed op de snelheid van je systeem. (vandaar dat je eigen kernel bakken je systeem wat sneller kan maken)
En tot slot: de kernel heeft altijd het laatste woord. Root mag alleen zoveel omdat de kernel 'een oogje dichtknijpt' als je UID 0 is. Als de kernel vindt dat een gewone user schrijfrechten op alle files op de HD heeft, dan *is* dat ook zo. Bugs in de kernel kunnen dus verstrekkende gevolgen hebben (in tegenstelling tot in gewone apps... dan crasht een app ofzo, boeien).
Dit zijn een aantal van de redenen dat om dat ene (in gecompilede vorm meestal ongeveer 1 a 2 MB grote) onderdeeltje van een GNU/Linux systeem meestal vrij veel heisa is en er complete topics aan geweid worden.
* arguably omdat je met alleen een kernel ook zo weinig kunt.