Een kernel is het centrale onderdeel van een besturingssysteem. Het is de eerste laag software die na het opstarten wordt geladen. De kernel heeft volledige controle over alles in het systeem. Zonder kernel kan een computer niet functioneren.
De kernel verzorgt vier belangrijke taken. Ten eerste beheert het het werkgeheugen (RAM). Het bepaalt welke programma's hoeveel geheugen krijgen. Ten tweede regelt het welke processen de processor (CPU) mag gebruiken. Ten derde zorgt het voor de communicatie met hardware zoals harde schijven, toetsenborden en netwerkkaarten. Ten vierde behandelt het systeemaanroepen van programma's die toegang tot hardware nodig hebben.
Er bestaan drie hoofdtypen kernels. De monolithische kernel draait volledig in kernel space en is zeer snel. Linux en Unix gebruiken dit type. De microkernel draait alleen basisdiensten in kernel space en is veiliger. QNX en Minix zijn voorbeelden hiervan. De hybride kernel combineert beide benaderingen. Windows en macOS gebruiken een hybride kernel.
De Linuxkernel is de bekendste open source kernel. In 1991 ontwikkelde Linus Torvalds de eerste versie als student in Helsinki. Inmiddels wordt Linux gebruikt op miljoenen servers, smartphones (Android) en supercomputers. Bij KeurigOnline draaien al onze webservers op Linux met de nieuwste stabiele kernel voor optimale prestaties en beveiliging.
Het concept van een kernel ontstond in de jaren 60 met het Multics-project van MIT, General Electric en Bell Labs. Dit project legde de basis voor moderne besturingssystemen met gescheiden kernel- en gebruikersruimte.
In 1969 ontwikkelden Ken Thompson en Dennis Ritchie bij Bell Laboratories de Unix-kernel. In 1973 herschreven ze Unix in de programmeertaal C. Dit maakte Unix draagbaar naar andere computersystemen. Het was een revolutie in de computerwereld.
De Linuxkernel heeft een bijzondere geschiedenis. In 1991 begon de Finse student Linus Torvalds met het ontwikkelen van een gratis Unix-achtige kernel voor zijn eigen computer. Op 5 oktober 1991 maakte hij versie 0.02 beschikbaar via Usenet. Hij wilde het "Freax" noemen, maar de FTP-serverbeheerder koos voor "Linux".
Belangrijke mijlpalen in de ontwikkeling van kernels:
- 1969: Unix-kernel ontwikkeld bij Bell Labs
- 1973: Unix herschreven in C (draagbaarheid)
- 1987: MINIX uitgebracht door Andrew Tanenbaum
- 1991: Eerste Linuxkernel (0.02) gepubliceerd
- 1994: Linux 1.0.0 uitgebracht (170.000 regels code)
- 2025: Moderne Linux kernels bevatten miljoenen regels code