Hostwinds Blog

Zoekresultaten voor:


Wat is een kernel en hoe werkt het? Uitgelichte afbeelding

Wat is een kernel en hoe werkt het?

door: Hostwinds Team  /  mei 15, 2024


Wat is de kernel?

De kern van elk besturingssysteem ligt de kernel, een fundamentele software die fungeert als een bemiddelaar tussen applicatiesoftware en de hardwarecomponenten van uw computer.Het is verantwoordelijk voor het beheren van de hardware van de computer (CPU, RAM, opslag, enz.), Dicterend hoe en wanneer die verschillende bronnen worden gebruikt over hardlopen en slapende applicaties.

Stel je bijvoorbeeld voor dat je lid wordt van een conference call op je computer, met behulp van een app zoals Zoom of Google Meet.Wanneer geopend, vraagt de applicatie de kernel om toegang te krijgen tot de camera en microfoon van uw computer.De kernel verwerkt het verzoek door de benodigde hardware op uw computer te activeren.Het zal de computer ook vertellen om een bepaalde hoeveelheid CPU -bronnen toe te wijzen om een soepele verbinding te onderhouden.

Kernelfuncties

De kernfunctie van de kernel is ervoor te zorgen dat software en hardware effectief communiceren.

Hier is een uitsplitsing van enkele kernfuncties van de kernel waarmee het uw computer soepel kan verwerken

Beheer van middelen

Met de kernel kunnen applicaties hardwarebronnen delen, orkestreren wanneer en hoeveel van een bepaalde hardwarebron nodig is voor een bepaalde taak (proces).

  • CPU: De kernel kan verschillende processen plannen om de CPU te gebruiken, zodat alles soepel en efficiënt verloopt.
  • Geheugen: De kernel wijst de ruimte toe aan elk proces als dat nodig is, bijhouden wat er in gebruik is en wat gratis is en ruilt dingen in en uit als nodig.
  • I/O -apparaatbeheer: Wanneer u uw toetsenbord, muis of andere apparaten gebruikt, beheert de kernel deze interacties zodat gegevens soepel tussen uw hardware en software vloeien.

Procesmanagement

De kernel behandelt alle aspecten van procesbeheer, inclusief het maken van nieuwe processen, planning wanneer ze worden uitgevoerd en opruimen zodra ze klaar zijn.Het zorgt ervoor dat elk proces de middelen heeft die het moet bedienen en tegelijkertijd beschermt tegen het bemoeien met elkaar.

Geheugen management

De kernel houdt toezicht op zowel fysiek als virtueel geheugen en zorgt ervoor dat elk proces voldoende ruimte heeft om mee te werken.Het maakt gebruik van technieken zoals paging (vast) en segmentatie (variabel) om alles georganiseerd en efficiënt te houden.

Systeembestandbeheer

De kernel organiseert hoe gegevens worden opgeslagen op de harde schijf of SSD van uw computer door ervoor te zorgen dat uw bestanden snel en veilig worden opgeslagen en opgehaald.

Apparaat stuurprogramma's

Apparaatstuurprogramma's zijn als vertalers voor verschillende hardwarecomponenten (printers, grafische kaarten, enz.).De kernel communiceert met deze bestuurders om het gebruik van apparaten te beheersen en te coördineren.

Beveiliging en bescherming

De kernel handhaaft toegangscontrole en machtigingen om het systeem te beschermen tegen ongeautoriseerde toegang.Het isoleert processen van elkaar en helpt voorkomen dat kwaadaardige code andere delen van het systeem beïnvloedt.

Soorten korrels

Er zijn verschillende soorten kernels, elk met een eigen unieke ontwerp en benadering voor het beheren van de bronnen van uw computer.Laten we de belangrijkste soorten kernels verkennen en wat elk speciaal maakt:

Monolithische kernel

Zie een monolithische kernel als een groot, alles-in-één pakket.Het bevat niet alleen de kernfuncties van het besturingssysteem, maar ook voor apparaatstuurprogramma's, bestandssysteembeheer en andere systeemservices.

Alles loopt in een enkele kernelruimte, wat kan leiden tot hoge prestaties en efficiëntie.

Voorbeelden: Linux en oudere versies van Unix.

Microkernel

Microkernels volgen een minimalistische aanpak.Ze verwerken alleen de meest essentiële functies, zoals communicatie tussen hardware en software, en delegeren andere taken (zoals apparaatdrivers) om gebruikersmodusprocessen te scheiden.

Dit ontwerp kan leiden tot verbeterde stabiliteit en modulariteit, waardoor het gemakkelijker is om systeemproblemen te isoleren en te repareren.

Voorbeelden: Mach (gebruikt in macOS X) en QNX.

Nanokernel

Nanokernels zijn nog kleiner en lichter dan microkernels.Ze willen alleen het absolute kale minimum aan taken afhandelen, zoals contextschakelen en hardware -abstractie.

Dit type kernel is ontworpen voor gespecialiseerde toepassingen, zoals ingebedde systemen of IoT -apparaten, waar eenvoudige en minimale resource -gebruik cruciaal is.

Hybride kernel

Een hybride kernel is een mix van monolithische en microkernelontwerpen, met als doel het beste van twee werelden te nemen.

Het behoudt enkele van de prestatievoordelen van de monolithische kernel, maar met meer modulariteit, zoals een microkernel.

Voorbeelden: Windows NT en MacOS (sinds versie X).

Exokernel

Exokernels volgen een andere aanpak door een zeer laag niveau interface te bieden aan de hardware, waardoor meer controle over bronnen krijgt.Deze OS -kernel zorgt voor een grotere aanpassing en potentiële prestatiewinsten, maar het kan complex zijn om te beheren.

Apparaat stuurprogramma's

Apparaatstuurprogramma's zijn softwarecomponenten waarmee de kernel van het besturingssysteem kan communiceren met hardware -apparaten binnen en buiten de computer.

Er zijn 3 hoofdtypen apparaatstuurprogramma's die uw besturingssysteem gebruikt:

Characterapparaat stuurprogramma's

Deze stuurprogramma's zijn verantwoordelijk voor het beheren van apparaten die gegevenskarakter per teken overbrengen, waaronder toetsenborden, muizen, seriële poorten en terminals.Ze behandelen meestal invoer- en uitvoerbewerkingen op tekenbasis, zonder grote hoeveelheden gegevens te bufferen.Voorbeelden zijn toetsenbordstuurprogramma's voor het interpreteren van toetsaanslagen en muisdrivers voor het volgen van cursorbewegingen.

Blokkeerapparaat stuurprogramma's

Blokkeerapparaat stuurprogramma's houden toezicht op apparaten die gegevens opslaan en ophalen in blokken of sectoren met een vaste grootte, zoals harde schijven, solid-state drives (SSD's) en USB-opslagapparaten.Ze behandelen gegevens in brokken, waardoor een efficiënt lezen en schrijven van grote hoeveelheden gegevens mogelijk zijn.Blokkeerapparaatstuurprogramma's hebben de taak om opslagapparaten te beheren, waaronder partitionering, opmaak en het afhandelen van lees- en schrijfverzoeken.

Netwerkapparaat stuurprogramma's

Wetwerkapparaat stuurprogramma's zijn verantwoordelijk voor het besturen van netwerkinterfacekaarten (NIC's) en andere netwerkhardware, waardoor communicatie via een netwerk wordt vergemakkelijkt.Deze stuurprogramma's beheren de transmissie en ontvangst van datapakketten, waarbij netwerkprotocollen zoals TCP/IP worden geïmplementeerd.Ze behandelen ook netwerkconfiguratie, pakketrouting en gegevensoverdracht.

Kernelmodus versus gebruikersmodus

De gebruikersmodus en de kernelmodus zijn twee verschillende apparaatstuurprogramma's in het besturingssysteem.

Laten we eens kijken wat elke modus is en waarom ze ertoe doen voor de beveiliging en stabiliteit van uw computer.

Kernelmodus

Kernel -modus is een bevoorrechte status waarin de kerncomponenten van het besturingssysteem werken.In deze modus heeft de kernel onbeperkte toegang tot hardwarebronnen en kan hij kritieke systeemtaken uitvoeren, zoals het beheren van geheugen, het beheersen van hardware -apparaten en het afhandelen van systeemonderbrekingen.Het is net als het controlecentrum van uw computer, waar essentiële bewerkingen efficiënt en veilig worden uitgevoerd om te zorgen voor de soepele werking van het besturingssysteem.

Omdat software onbeperkte toegang heeft tot gevoelige systeembronnen, vereist het uitvoeren in de kernelmodus een hoog niveau van vertrouwen.Als zodanig werken alleen vertrouwde componenten van het besturingssysteem, zoals de kernel zelf en apparaatstuurprogramma's, in de kernelmodus om de systeemintegriteit te behouden.

Gebruikersmodus

De gebruikersmodus is een beperkte omgeving waar de meeste applicaties, zoals browsers en tekstverwerkers, worden uitgevoerd.In deze modus werkt software binnen grenzen die zijn ingesteld door het besturingssysteem, zonder directe toegang tot hardware of kritieke systeembronnen.Het is ontworpen om een veilige en stabiele omgeving te bieden voor toepassingen om onafhankelijk te werken zonder elkaar of de kernfuncties van het besturingssysteem te verstoren.

Kernelbeveiliging

De kernel bevat verschillende beveiligingsmaatregelen om het systeem te beschermen tegen potentiële bedreigingen.

Hier zijn een paar manieren waarop de kernel een veilige omgeving kan behouden en potentiële kwetsbaarheden kan beperken:

Toegangscontrole: De kernel handhaaft het beleid voor toegangscontrole door machtigingen toe te wijzen aan gebruikers en processen, zoals lees-, schrijf- en -uitvoering van machtigingen.Het verifieert toegangsverzoeken tegen deze machtigingen om ervoor te zorgen dat alleen geautoriseerde entiteiten toegang hebben tot middelen.

Rechten: De kernel hanteert machtigingen door de toegangsrechten van de aanvragende entiteit te controleren op de machtigingen die aan de bron zijn gekoppeld.Dit helpt ongeoorloofde toegang en misbruik van systeembronnen te voorkomen.

Sandboxen: De kernel implementeert sandboxingtechnieken, zoals procesisolatie, scheiding van naamruimte en scheiding van privileges, om veilige uitvoeringsomgevingen voor applicaties te creëren.Dit voorkomt dat ze toegang hebben tot of wijzigen van systeemkritische bronnen.

Geschreven door Hostwinds Team  /  mei 15, 2024