Betaalmethoden Abuse

Taken die de Linux-kernel uitvoert

08.11.2022, 22:03

In het vorige artikel hebben we uitgelegd wat de Linux-kernel is, nu gaan we in detail in op welke functionele taken hij uitvoert. De monolithische Linux OS kernel voert het meest uitgebreide takenpakket uit. De verwerking van binnenkomende systeemaanroepen vindt plaats op het hoogste niveau. Deze oproepen vormen de interface tussen de kernel en de gebruikersapplicaties. Hardwaresignalen en interrupts worden op een lager niveau afgehandeld.

Belangrijkste functionele taken van de Linux kernel

De kernel heeft echter niet alleen tot taak om interrupts af te handelen. Het bevat ook apparaatbesturingsprogramma's. Drivers zijn nodig om signalen van apparaten te verwerken. Een groter deel van de kernel is aan hen toegewezen. Sommige zijn in de vorm van binaire bestanden. De versie van de kernel zonder gesloten drivers is Linux-libre, in de praktijk is deze niet zo eenvoudig te gebruiken, omdat het niet altijd mogelijk is om een PC te bouwen op basis van componenten met alleen open drivers.

Andere functionele taken van de kernel zijn het werken met abstracties. Virtuele threads worden gegenereerd door een virtuele thread, een geheugenmanager wijst een deel van het RAM toe en isoleert dit specifiek voor het proces, een virtueel bestandssysteem vormt een enkele ruimte voor het opslaan van bestanden, sockets worden aangemaakt door een netwerkmodule. Zo worden de voorwaarden gecreëerd om een hoog beveiligingsniveau te garanderen. Het systeem van interactie tussen processen zorgt ervoor dat er geen conflicten ontstaan bij het benaderen van dezelfde computerbronnen en zorgt ook voor gegevensuitwisseling tussen processen.

Vanuit de gebruikerssoftware gezien lijkt het op fysieke hardware met het verschil dat de processor en het RAM niet direct communiceren, maar via systeemaanroepen. De /dev directory bevat symbolische en blokreferenties voor randapparatuur. Een onderscheidende eigenschap van blokreferenties is dat ze alleen werken met blokken van een bepaalde grootte.

Ondanks dat de kernel alle processen controleert, doet hij niets zelf, hij heeft gebruikerssoftware nodig en de processen die door die software worden uitgevoerd. Onder de basissoftware bevinden zich de GNU hulpprogramma's: het is moeilijk om je een Linux distributie voor te stellen zonder deze. Een voorbeeld is de Bash-shell, waarmee je commando's kunt invoeren in de console.