Wat is gebruikersmodus versus kernelmodus in Windows?
U hebt misschien gehoord over toepassingen die in de modus "kernel" of "gebruiker" worden uitgevoerd. Het komt allemaal neer op hoe besturingssystemen werken wanneer ze hun werk doen. Als je dat eenmaal begrijpt, is het gemakkelijk om het verschil tussen gebruikersmodus en kernelmodus te begrijpen.
Begrijpen wat een besturingssysteem doet(Does)
Een computer bestaat uit hardware, de elektronische componenten en software, de computercode die door die hardware wordt uitgevoerd. Maar wat misschien minder duidelijk is, is hoe ze samenwerken.
Het meest essentiële element van een computer is de bit of het 'binaire cijfer'. Alles wat(” Everything) een computer doet, wordt weergegeven als enen en nullen. Verschillende(Different) computercomponenten vertegenwoordigen bits op verschillende manieren. In een CPU vertegenwoordigen microscopisch kleine transistors enen en nullen door aan of uit te staan. Die transistors zijn gerangschikt in logische structuren, logische poorten genoemd.
In elektronisch computergeheugen worden bits weergegeven door geheugencellen met een lading boven of onder een bepaalde drempel. Op een mechanische harde schijf worden bits weergegeven als magnetische fluctuaties gemeten op een draaiende plaat. Op optische schijven doen putjes en landjes die wel of niet laserlicht reflecteren hetzelfde werk.
Ongeacht hoe de fysieke weergave van binaire code wordt bereikt, u kunt uiteindelijk alle computercomponenten van de consument terugbrengen tot deze onbewerkte machinecode.
Dus hoe ga je van de mensvriendelijke interface van een computer naar de rauwe, low-level processen in de computer zelf? Dat is waar het besturingssysteem om de hoek komt kijken. Het bestuurt rechtstreeks de hardware van de computer.
Deze software vertaalt alles wat applicaties (en dus de gebruiker) willen in de machinecode-instructies die de CPU en andere componenten begrijpen. Het meest kritische stukje software in dit proces is de kernel.
Wat is de kern?
De kernel is, zoals de naam al doet vermoeden, de kern van het besturingssysteem. De kernel is software die zich in het RAM bevindt en alles bestuurt wat de computer doet. Wanneer iets in het geheugen wordt geschreven, is het de kernel die de uitvoering aanstuurt.
De kernel weet hoe hij moet communiceren met hardware zoals GPU's en netwerkkaarten, maar hij weet misschien niet hoe hij deze optimaal moet gebruiken, omdat hij vertrouwt op generieke standaarden in de computerindustrie.
De hardwarestuurprogramma's komen hier in het spel. Drivers vertellen je besturingssysteem hoe je met specifieke componenten moet werken, daarom heb je verschillende drivers nodig voor bijvoorbeeld Nvidia en AMD GPU's .
Uitgerust met de juiste stuurprogramma's, is de kernel de ultieme autoriteit binnen de computer, inclusief het doen van dingen die catastrofale gegevens kunnen vernietigen.
De rol(Role) van Application Programming Interfaces ( API's )
In de tijd van MS-DOS moesten softwareontwikkelaars hun software speciaal voor de hardware van de gebruiker schrijven. Het meest beruchte voorbeeld hiervan op MS-DOS- systemen waren stuurprogramma's voor geluidskaarten.
Een bepaald videospel zou de meest populaire kaarten moeten ondersteunen ( Sound Blaster , Ad-lib , Gravis Ultrasound , enz.) en hopen dat de meeste spelers gedekt waren. Tegenwoordig werken de dingen heel anders, dankzij API's .
Microsoft DirectX is een goed voorbeeld. Als je een diepgaande uitleg wilt, ga dan naar Wat is DirectX en waarom is het belangrijk? (What Is DirectX and Why Is It Important?)Het belangrijkste om te weten is echter dat de API een standaard manier biedt voor softwareontwikkelaars om hardwarebronnen op te vragen van componenten zoals de GPU . Bovendien moeten hardwarefabrikanten er alleen voor zorgen dat hun producten voldoen aan DirectX om volledige compatibiliteit met gelijkaardige compatibele software te garanderen.
API's bieden een vertaallaag tussen softwaretoepassingen en de low-level kernel met zijn hardwarestuurprogramma's. Ja, dit komt met een kleine prestatiestraf. Toch is dit op moderne computers verwaarloosbaar, en het heeft een aantal voordelen, en dat is waar we uiteindelijk uitkomen bij de gebruikersmodus en de kernelmodus.
Gebruikersmodus versus kernelmodus
Moderne besturingssystemen voeren honderden of duizenden "processen" tegelijkertijd uit, waardoor ze dynamisch CPU- tijd krijgen als dat nodig is op basis van hun prioriteiten en rekenkrachtvereisten.
Wanneer u een toepassing start, genereert deze processen en de CPU kan ze uitvoeren in gebruikersmodus of kernelmodus.
Een Windows -proces dat in de gebruikersmodus wordt uitgevoerd, heeft alleen toegang tot zijn eigen privéadresruimte voor virtueel geheugen en een handle-tabel. De software gebruikt deze tabellen om gegevens in RAM op te slaan en bronnen op te vragen. Er is geen directe toegang tot geheugen of andere hardware, en het is aan het besturingssysteem om die virtuele ruimtes toe te wijzen aan de daadwerkelijke hardware van de computer.
Dit is om vele redenen goed, maar het meest cruciale voordeel is dat de toepassing geen gegevens kan overschrijven of wijzigen buiten de adresruimte van het virtuele geheugen. Bovendien zijn bepaalde functies niet toegankelijk voor processen in de gebruikersmodus, voornamelijk processen die het systeem kunnen laten crashen of gegevens kunnen vernietigen.
Wanneer een proces wordt gestart of naar de kernelmodus wordt verheven, heeft het volledige toegang tot systeembronnen, zelfs die gereserveerd zijn voor het besturingssysteem. Dus in theorie zou het cruciale gegevens kunnen overschrijven die het besturingssysteem nodig heeft om correct te werken.
Vallen en uitzonderingen
Het is belangrijk om te begrijpen dat deze twee modi op hardwareniveau worden afgedwongen door de CPU zelf. Als een toepassing die in de gebruikersmodus draait iets probeert te doen waarvoor toegang in de kernelmodus vereist is, genereert het een "trap" of "uitzondering". Het besturingssysteem zal dan de toepassing afhandelen, meestal door deze af te sluiten en een crashlog te genereren, zodat de ontwikkelaars kunnen zien wat er in het geheugen gebeurde toen de zaken ontspoorden.
De gevaren(Dangers) van kernelmodus(Kernel Mode) : het blauwe scherm(Blue Screen) van de dood(Death)
Als je ooit een Blue Screen of Death hebt meegemaakt (wie niet?) die je computer dwong om uit te schakelen of opnieuw op te starten, is de kans groot dat het een proces in de kernelmodus was.
Wanneer een proces in de kernelmodus iets doet wat het niet zou moeten doen, kan het besturingssysteem er niet van herstellen en stopt de hele computer. Wanneer een gebruikersmodusproces in de war raakt, crasht alleen de applicatie en kan de rest van de software en het besturingssysteem zonder problemen doorgaan.
Dit is een gebied waar API's een essentiële rol spelen, omdat het de API is die om privileges in de kernelmodus vraagt. Toepassingen in gebruikersmodus delegeren in wezen verzoeken die privileges in de kernelmodus zouden hebben vereist aan de API .
Dit is de reden waarom kernel-modus meestal alleen wordt verleend aan systeemprocessen op laag niveau die rechtstreeks toegang moeten hebben tot de hardware van de computer. Gewoonlijk wordt dit recht uitgebreid tot een proces omdat het meer prestaties nodig heeft dan de gebruikersmodus kan bieden. Sommige CPU- instructies werken alleen in de kernelmodus, dus als een proces die functies moet gebruiken, moet het worden verhoogd.
Als je problemen hebt met Blue Screen of Death , lees dan zeker onze Blue Screen of Death-gids voor probleemoplossing voor Windows 10(Blue Screen of Death Troubleshooting Guide for Windows 10) !
Related posts
Hoe de donkere modus in Windows 11 in te schakelen
Hoe installeer ik Windows 11 met een lokaal account
6 manieren om uit te loggen bij Windows 11 -
Windows 11 starten in de veilige modus (8 manieren) -
5 manieren om een nieuwe gebruiker aan te maken en toe te voegen in Windows 11 -
Hoe te repareren Windows 11 Slaapstand werkt niet
7 manieren om een Windows 11-pc te vergrendelen -
Hoe de beheerder op Windows 11 te wijzigen: 5 manieren -
Gebruikersaccountbeheer in- of uitschakelen in Windows 11
Windows 11 starten in de veilige modus
Naar welke editie van Windows 11 wordt u geüpgraded?
Windows 11 releasedatum, prijs, hardwarevereisten
Hoe de meest gebruikte apps te tonen of te verbergen in het Startmenu op Windows 11
Schakel Wi-Fi en Ethernet-adapter in of uit op Windows 11
De helderheid van de webcam aanpassen in Windows 11
Hoe Windows Tools te openen in Windows 11
Overschakelen naar een lokaal Windows 11-account van een Microsoft-account
Pictogrammen weergeven of verbergen in het overloopgebied van de taakbalkhoek op Windows 11
Hoe de donkere modus in Windows 11 in te schakelen -
Hoe werkt de functie Dynamic Refresh Rate in Windows 11