Kernel (informatica)

Een kernel is het centrale deel van een besturingssysteem. Het beheert de operaties van de computer en de hardware, met name geheugen en CPU-tijd.

Er zijn vijf soorten pitten:

  • Een microkernel, die alleen basisfunctionaliteit bevat;
  • Een monolithische kernel, die veel apparaatstuurprogramma's bevat.
  • Hybride Kernel
  • Exo Kernel
  • Nano Kernel

Een computergebruiker heeft nooit direct contact met de kernel. Hij draait achter de schermen en kan niet worden gezien, behalve de tekstlogs die hij afdrukt.

  Toont de taak van een kernel in een computer  Zoom
Toont de taak van een kernel in een computer  

Bewerkingen van de kernel

De kernel is het meest fundamentele onderdeel van een besturingssysteem. Het kan worden beschouwd als het programma dat alle andere programma's op de computer aanstuurt. Wanneer de computer opstart, doorloopt het enkele initialisatiefuncties (opstarten), zoals het controleren van het geheugen. Het is verantwoordelijk voor het toewijzen en onttrekken van geheugenruimte waardoor software kan draaien.

De kernel levert diensten zodat programma's het gebruik van de netwerkkaart, de schijf of andere hardware kunnen aanvragen. De kernel stuurt het verzoek door naar speciale programma's, device drivers genaamd, die de hardware aansturen. Hij beheert ook het bestandssysteem en stelt interrupts in voor de CPU om multitasking mogelijk te maken. Veel kernels moeten er ook voor zorgen dat foute programma's de werking van andere niet verstoren door de toegang tot geheugen dat niet aan hen is toegewezen te weigeren en de hoeveelheid CPU-tijd die zij kunnen gebruiken te beperken. Het is het hart van het besturingssysteem.

 

Micro kernels en monolithische kernels

Besturingssystemen gebruiken gewoonlijk monolithische kernels. In Linux bijvoorbeeld zijn apparaatstuurprogramma's vaak onderdeel van een kernel (met name Loadable Kernel Modules). Wanneer een apparaat nodig is, wordt de uitbreiding ervan geladen en 'gevoegd' bij de kernel, waardoor de kernel groter wordt. Monolithische kernels kunnen problemen veroorzaken wanneer een van deze drivers defect is, zoals wanneer een beta-driver wordt gedownload. Omdat het deel uitmaakt van de kernel, kan het defecte stuurprogramma de mechanismen voor het aanpakken van defecte programma's (zie hierboven) opheffen. Dit kan betekenen dat de kernel, en dus de hele computer, niet meer werkt. Als er te veel apparaten zijn, kan de kernel ook zonder geheugen komen te zitten, waardoor het systeem vastloopt of de computer erg traag wordt.

Microkernels zijn een manier om dit probleem op te lossen. In een microkernel-besturingssysteem houdt de kernel zich alleen bezig met kritieke activiteiten, zoals het aansturen van het geheugen en de CPU, en verder niets. Drivers en andere functies die monolithische kernels normaliter in de kernel zouden opnemen, worden verplaatst naar buiten de kernel, waar ze onder controle staan. In plaats van een oncontroleerbaar onderdeel van de kernel te zijn, is de kans dat een beta-driver een crash veroorzaakt niet groter dan een beta webbrowser. Dat wil zeggen, als een stuurprogramma fout gaat, kan het eenvoudigweg opnieuw worden gestart door de kernel. Helaas is het maken van op een microkernel gebaseerde besturingssystemen erg moeilijk en zijn er geen gangbare microkernel-besturingssystemen. Minix en QNX zijn beide microkernel-besturingssystemen.

 

AlegsaOnline.com - 2020 / 2023 - License CC3