title: Monolithische kernel
text: Een monolithische kernel is in de informatica een kernel waarbij alle diensten, of het merendeel ervan, door de kernel worden uitgevoerd, dus in supervisormodus. Monolithisch is afgeleid van de Oudgriekse woorden monos, alleen of eenzaam, en lithos, steen of gesteente, dit omdat de kernel het merendeel van de diensten, zoals toegang tot hardware via een bepaalde interface, geheugenbeheer, etc., zelf afhandelt, terwijl dit niet het geval is bij een microkernel, de tegenhanger van de monolithische kernel.
  
  Verschillen met een microkernel 
   Microkernels kennen meer interprocescommunicatie (IPC) doordat de applicaties en drivers met elkaar communiceren, daardoor doet een microkernel meer aan taak- en geheugencontextveranderingen.
   Microkernels draaien taken zoals drivers in gebruikersmodus in plaats van in supervisormodus; hierdoor hebben deze taken minder privileges. Daarbij is het gebruikelijk dat de I/O beheerd wordt door de kernel.
   Microkernels zijn kleiner, waardoor deze over het algemeen minder fouten bevatten.
   Microkernels zijn beter uitbreidbaar. Dit komt doordat microkernels standaard alleen het essentiële aanbieden qua functionaliteit en modulair gebouwd zijn.
  
  Puur en hybride 
  Heel veel monolithische kernels zijn echter niet geheel monolithisch. Zo laadt Linux bijvoorbeeld de drivers via modules, hoewel deze in supervisormodus gedraaid worden. Hierdoor is het onderscheid tussen puur en hybride ontstaan. Zo zullen veel kernels eerder hybride zijn en dus tussen de twee extrema (monolithisch contra micro) zitten. Pure monolithische kernels zijn vrij zeldzaam op de x86-architectuur, maar ze zijn gebruikelijk op embedded platformen zoals ARM.
  
  Voorbeelden van monolithische kernels 
   Unix-gelijkende kernels
   Linux
   Unix-kernels
   BSD
   FreeBSD
   NetBSD
   OpenBSD
   Solaris en OpenSolaris
   AIX
   DOS
   DR-DOS
   MS-DOS
   Microsoft Windows 9x-serie (95, 98, Windows 98 SE, ME)
   Mac OS-kernel, tot en met Mac OS 8.6
   OpenVMS
  
  Kernel