Hostwinds Blog
Zoekresultaten voor:
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.
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
Met de kernel kunnen applicaties hardwarebronnen delen, orkestreren wanneer en hoeveel van een bepaalde hardwarebron nodig is voor een bepaalde taak (proces).
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.
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.
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.
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.
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.
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:
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.
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.
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.
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).
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.
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:
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 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.
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.
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.
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.
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.
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