Kernel

Uit LinuxMintNL WiKi
Versie door Jos1950 (Overleg | bijdragen) op 22 feb 2018 om 00:50 (Aanbevolen kernel: link)
Ga naar: navigatie, zoeken
Werkgebied van kernel in computersystem

Een kernel is een systeem-besturing programma dat de verbinding vormt tussen de hardware van een computer en de gebruiker-omgeving. Het is het hart van een Linux systeem.

Kernels zijn een vervolg op het UNIX besturings-systeem, en de basis van GNU/Linux distributies. Boven de kernel wordt het GNU[1] geplaatst en het gebruikers-systemen gebouwd b.v. Mint met daarin de programmatuur van GNome en Cinnamon van Rebecca versie 17.1. Dit wordt ook wel operating systeem (OS) genoemd, maar is niet juist omdat het hele systeem uit drie delen bestaat.

Er zijn verschillende soorten kernels, waarvan de micro en monolithische kernel hier kort worden beschreven.
Voor een uitgebreide lijst zie Kernel op Wikipedia.

Wat is een kernel

De kernel is vergelijkbaar met alles wat onder een motorkap van een auto zit. Het zorgt er voor dat de auto (computer) en de apparatuur (hdd, monitor, printer enz.) kan worden gebruikt (groen in de afbeelding).

In en aan de auto kunnen allerlei apparaten en handigheden worden aangebracht. Hiervoor is soms een monteur (sudo of systeem-beheerder) nodig die er voor zorgt dat alles goed in het motordeel (kernel) wordt ingesteld en de veiligheid en werking (cpu. memory en devices) blijft gewaarborgd.

De bestuurder (systeem-gebruiker) kan zelf de auto aankleden en gebruiken (Linux Mint aanpassen). De airco of de ramen regelen, de radio instellen, de verlichting, een stuur- en stoelhoezen enz. en dat gebeurt met de gebruikersinterface Gnome, KDE, Xfce en zelfs Debian (LMDE) die bij Linux Mint kan worden gebruikt. (rood in de afbeelding).

De gebruikersinterface bepaalt dus de details die men kan zien en gebruiken. Een mini (xfce) is niet hetzelfde als een maxi (Cinnamon) en een automaat (Cinnamon) werkt anders dan een schakelversnelling (Mate en LMDE). Daarnaast is er ook nog een hibride (KDE).

Advies: Pas op met sudo en blijf van het motorcompartiment kernel af als je niet weet wat je doet.

Micro kernel

Met een microkernel wordt in de informatica een kernel bedoeld die zeer weinig diensten uitvoert en waarbij het merendeel van de diensten wordt uitgevoerd in de gebruikersmodus (kort gezegd, programma's (diensten) die door de gebruiker zijn geïnstalleerd]. Het woord micro komt van het Oud-Griekse μικρος (micros: "klein"). Daarmee wordt vooral gerefereerd aan het feit dat microkernels zeer klein zijn, in tegenstelling tot de monolithische kernel, waarbij de diensten onder supervisormodus werken.

Servers

Een microkernel maakt gebruik van servers die de eigenlijke interface (verbinding) tussen software en hardware/drivers zijn. Ook kan er vaak een server aanwezig zijn die zorgt dat de drivers goed beheerd worden. Zo zal een driver die crasht dan herstart worden, iets dat bekend is in het Minix-systeem.

Monolithische kernel

Met een monolithische kernel wordt in de informatica een kernel bedoeld waarbij alle diensten, of het merendeel ervan, door de kernel worden uitgevoerd in supervisormodus (hoofdprogramma van een computer). De term monolithisch is afgeleid van de Oud-Griekse woorden monos ("alleen" of "eenzaam") en lithos ("steen" of "gesteente"), omdat de kernel het merendeel van de diensten, zoals toegang tot hardware via een bepaalde interface, geheugenbeheer, etc., zelf afhandelt, in tegenstelling tot de werking van de microkernel.

Linux kernel

Linux kernel

Voor de meeste gebruikers bevindt de kernel zich onder de spreekwoordelijke "motorkap": de gebruiker communiceert met de computer via een gebruikersinterface. De kernel bevat de basisfaciliteiten van Linux, zoals stuurprogramma's (drivers) en systeem-aanroepen zoals read() en write(). Deze veelgebruikte basisfuncties zijn nodig om programma's te kunnen schrijven zonder dat de software-ontwikkelaar zich zorgen hoeft te maken over details, bijvoorbeeld hoe een read()-actie (invoer van een toetsenbord of ander invoerapparaat) werkt.

Een kernel is een binair bestand (bestaat enkel uit 0 en 1), maar omdat de Linux-kernel vrije software is, is de broncode ervan vrij beschikbaar. Zo kan iedereen met de nodige expertise de kernel veranderen en de veranderde versie beschikbaar stellen voor anderen.

Kwaliteit

Dat dit laatste niet op noemenswaardige schaal gebeurt, wordt gezien als een bevestiging van de kwaliteiten van Linus Torvalds, de hoofdontwikkelaar, maintainer (controleur) en leider van het project. In 1990 begon hij een terminalemulator te ontwikkelen, maar hij wilde meer functies en besefte even later dat hij in feite de kernel voor een besturingssysteem aan het schrijven was. Op 5 oktober 1991 maakte Torvalds de eerste release bekend met een memorabele Usenetposting in de nieuwsgroep comp.os.minix.

Kernel versie

Elke Linux-kernel heeft een nummer die een bepaalde versie aangeeft bij voorbeeld 2.6.39. Hierbij is de tweede een volledige uitgewerkte versie, de zes is voor verbeteringen en reorganisatie en negenendertig zijn tussentijdse aanpassing die meestal te maken hebben met reparaties die niet kunnen wachten zoals beveiliging en belangrijke aanpassingen van de kernel.

Puur en hybride

Microkernels hebben net zoals monolithische kernels het probleem dat zij soms niet geheel een microkernel zijn. Zo zijn er microkernels die de drivers in een modus draaien tussen de supervisormodus en de gebruikersmodus, er zijn er ook die hun schedulers en geheugenbeheer in gebruikersmodus afhandelen. Omdat besturingssystemenkunde niet een volledig vastgelegde kunde is, zijn de grenzen hiervan moeilijk te leggen. In deze wetenschap is het dan ook een geaccepteerde conventie dat microkernels vooral de drivers in gebruikersmodus draaien. Door hiervan af te wijken is het onderscheid tussen puur en hybride ontstaan. Pure monolithische kernels zijn vrij zeldzaam, maar gebruikelijk op embedded platformen zoals ARM.

Aanbevolen kernel

In Updatebeheer staat een lijst met alle voor Linux Mint beschikbare kernels en is dan te vinden met de tab Tonen > Kernels.

De kernel die het best bij het systeem past is de Aanbevolen kernel en kan door aanklikken worden geïnstalleerd. Andere kernelversies kunnen het systeem minder stabiel maken.

Er kunnen meerdere kernels zijn geïnstalleerd, maar er kan er maar een zijn geladen (Actief / Geladen).

Bronnen en referenties

  1. Wat is GNU/Linux door Richard M. Stallman