Kernel: verschil tussen versies

Uit Wikipedia, de vrije encyclopedie
Verwijderde inhoud Toegevoegde inhoud
Madyno (overleg | bijdragen)
Geen bewerkingssamenvatting
CoatThese (overleg | bijdragen)
Regel 12: Regel 12:


* Het beheren van [[I/O]]. Hierbij wordt door de kernel bepaald welke processen gebruik kunnen maken van I/O.
* Het beheren van [[I/O]]. Hierbij wordt door de kernel bepaald welke processen gebruik kunnen maken van I/O.
* Het beheren van [[BIOS]]-toegang. Hierbij wordt door de kernel bepaald welke processen de BIOS kunnen gebruiken en hierbij zal de kernel deze aanvragen afhandelen.
* Het beheren van [[firmware]]-toegang ([[BIOS]] of [[UEFI]]). Hierbij wordt door de kernel bepaald welke processen de firmware kunnen gebruiken en hierbij zal de kernel deze aanvragen afhandelen.
* De kernel kan zelf ook hardware besturen en deze toegankelijk maken via een interface.
* De kernel kan zelf ook hardware besturen en deze toegankelijk maken via een interface.



Versie van 11 okt 2017 20:13

Een kernel of core is in de informatica het centrale deel van een besturingssysteem. De kernel is, simpel gezegd, de supervisor (opzichter) in een besturingssysteem.

Taken

De kernel heeft een aantal minimale taken af te handelen:

  • Het beheren en afhandelen van interrupts: dit zijn signalen die van zowel hardware als software kunnen komen ter notificatie of ter aanvraag.
  • Het beheren van het fysiek geheugen waarmee de kernel werkgeheugen kan ontlenen aan processen.
  • Het beheren van het virtueel geheugen, indien een geheugenbeheereenheid op de processor aanwezig is. Hiermee kan de kernel individuele virtuele ruimtes scheppen voor de processen, opdat zij elkaar niet schaden.
  • Het beheren van processen, ook wel scheduling. Hierbij wordt bepaald welke taak op welk tijdstip uitgevoerd mag worden.

De diensten van de kernel kunnen door processen worden gebruikt door middel van een interface. Deze werken vrijwel altijd via systeemaanroepen (Engels: system calls). Een kernel kan naast de bovenstaande taken ook nog optionele taken uitvoeren:

  • Het beheren van I/O. Hierbij wordt door de kernel bepaald welke processen gebruik kunnen maken van I/O.
  • Het beheren van firmware-toegang (BIOS of UEFI). Hierbij wordt door de kernel bepaald welke processen de firmware kunnen gebruiken en hierbij zal de kernel deze aanvragen afhandelen.
  • De kernel kan zelf ook hardware besturen en deze toegankelijk maken via een interface.

Soorten kernels

In het algemeen zijn er drie soorten van kernels. De twee extrema: monolithische kernels en microkernels en de daartussen liggende hybride kernel. Ook zijn er nog subtypes zoals de exokernel, de nanokernel en de modulaire kernel.

Monolithische kernel

Zie het artikel Monolithische kernel voor het hoofdartikel over dit onderwerp.

Een monolithische kernel is een kernel waarbij het merendeel van al de diensten afgehandeld worden in supervisormodus. Zo zullen drivers één geheel vormen met de kernel, toch zijn zij geen onderdeel van de kernel.

Microkernel

Zie het artikel Microkernel voor het hoofdartikel over dit onderwerp.

Een microkernel is een kernel waarbij het merendeel van de diensten in gebruikersmodus worden afgehandeld. Zo zullen drivers als aparte processen werken in het systeem.

Hybride kernel

Zie het artikel Hybride kernel voor het hoofdartikel over dit onderwerp.

Een hybride kernel is een kruising tussen een monolithische kernel en een microkernel. Zo zullen een aantal diensten afgehandeld worden in gebruikersmodus en een aantal in supervisormodus.

Exokernel

Zie het artikel Exokernel voor het hoofdartikel over dit onderwerp.

Een exokernel is een kernel die tracht abstractie van beveiliging te scheiden. Deze zorgt dat er zo weinig mogelijk abstractie is, waardoor applicaties zelf de abstractie kunnen afhandelen via interfaces.

Picokernel/Nanokernel

Zie het artikel Nanokernel voor het hoofdartikel over dit onderwerp.

Een picokernel of nanokernel is een exokernel die ontzettend klein is, vaak zelfs kleiner dan een microkernel.

Modulaire kernel

Zie het artikel Modulaire kernel voor het hoofdartikel over dit onderwerp.

Een modulaire kernel is een hybride kernel waarbij de kernel is opgedeeld in kleinere stukken, die modules worden genoemd.

Zie de categorie Operating system kernels van Wikimedia Commons voor mediabestanden over dit onderwerp.