Exokernel
Een exokernel is in de informatica een kernel die tracht abstractie van beveiliging te scheiden. Het woord exo komt van het Oud-Griekse ἔξω (exo: "buiten"). Deze heet zo omdat de abstractie plaatsvindt buiten de kernel in gebruikersmodus. Hierdoor worden applicaties niet belemmerd door slechte interfaces en kunnen ze hun eigen interfaces implementeren via besturingssysteembibliotheken. Het concept exokernel is orthogonaal jegens microkernel contra monolithische kernel dat wil zeggen dat het in een exokernel niet uitmaakt of de beveiliging gebeurt in supervisormodus of gebruikersmodus, maar dat de abstractie plaatsvindt in gebruikersmodus.
Voorbeeld: de toegang tot een schijf gebeurt in een monolithische kernel of microkernel via een virtueel bestandssysteem, hiermee kunnen programma's de bestanden van een schijf lezen. In concreto zijn er geen bestanden op een schijf en is dit een puur virtueel concept. Een exokernel zal dan ook echter toegang bieden tot de sectoren van een schijf, een fysiek concept: schijven werken immers met sectoren.
Voor- en nadelen
[bewerken | brontekst bewerken]Voordelen
[bewerken | brontekst bewerken]- Exokernels bieden ruwe toegang, hierdoor kunnen applicaties hun eigen interfaces gebruiken waardoor een grotere werksnelheid bereikt kan worden.
- Exokernels bieden de mogelijkheid dat er een betere omgang is met hardware. Zo zullen minder resources gebruikt worden.
- Exokernels bieden de mogelijkheid nieuwe theorieën in de besturingssysteemkunde sneller te kunnen testen en representeren.
Nadelen
[bewerken | brontekst bewerken]- Exokernels vormen een nieuw concept in de besturingssysteemkunde. Voor mensen die dit concept implementeren kunnen er dus altijd nieuwe gevaren op de loer liggen.
- Het ontwerpen van interfaces is tijdrovend en kan zeer moeilijk zijn, zo zal men een interface vaak moeten herschrijven alvorens het goed is.
- Het beheren van de vele bibliotheken kan zeer complex worden doordat er vele interfaces zijn.