Windows 10 draait in zowel kernelmodus als gebruikersmodus. Het idee is simpel: de kerncode van het besturingssysteem en apparaatdrivers draaien in de kernelmodus. De applicaties en bovenliggende drivers draaien in de gebruikersmodus. Applicaties die de OS-services en de hardware moeten aanspreken, gebruiken de Windows-services als proxy's. Het OS wordt zo vrij goed beschermd omdat code in de gebruikersmodus geen directe toegang heeft tot de kernel.
Kernelmodussoftware heeft volledige en onbeperkte toegang tot de hardware. Software die deze rechten heeft is normaal gesproken de meest vertrouwde. Het in staat is elke instructie uit te voeren en mag verwijzen naar alle adressen in het systeem. In deze modus vind je de kernelcode en de meeste drivers. Een crash in kernelmodus leidt tot een volledige systeemfalen waarna een herstart is vereist.
Omdat er zoveel software in de gebruikersmodus draait, is er minder kans dat applicaties een fout op systeemniveau veroorzaken. Het enige waar kernelmodussoftware niet tegen is beschermd, is andere kernelmodussoftware. Wanneer bijvoorbeeld een videodriver een stukje geheugen wil bewerken dat is toegewezen aan een ander programma - of als het geheugen niet aangesproken mag worden door een driver - stopt Windows in zijn geheel.
Crash door ongeldige bewerkingen
Problemen ontstaan als er iets misgaat in de kernelmodus. In de meeste gevallen komt dat doordat third-party-drivers de verkeerde calls maken, bijvoorbeeld naar geheugenadressen die niet bestaan of omdat ze OS-code willen overschrijven, wat leidt tot systeemfalen en het BSOD. Het is dus inderdaad zo dat Windows zelf vaak niet de schuldige is van de crash.Kernelmodussoftware heeft volledige en onbeperkte toegang tot de hardware. Software die deze rechten heeft is normaal gesproken de meest vertrouwde. Het in staat is elke instructie uit te voeren en mag verwijzen naar alle adressen in het systeem. In deze modus vind je de kernelcode en de meeste drivers. Een crash in kernelmodus leidt tot een volledige systeemfalen waarna een herstart is vereist.
Applicaties afgeschermd van kernel
Software in de gebruikersmodus heeft niet die ruime en directe toegang tot adressen. Het moet aanvragen doorgeven aan calls naar API's. Dit zorgt voor een beveiligingslaag bij het uitvoeren van systeemfuncties, ongeacht of de applicatie een verkeerde call maakt of een verkeerd adres aanspreekt. Crashes hierin zijn dan ook vaak goed te verhelpen en vereisen meestal een herstart van de applicatie; niet van het hele systeem. Code van Microsoft Word tot de browser en enkele drivers draaien in deze modus.Omdat er zoveel software in de gebruikersmodus draait, is er minder kans dat applicaties een fout op systeemniveau veroorzaken. Het enige waar kernelmodussoftware niet tegen is beschermd, is andere kernelmodussoftware. Wanneer bijvoorbeeld een videodriver een stukje geheugen wil bewerken dat is toegewezen aan een ander programma - of als het geheugen niet aangesproken mag worden door een driver - stopt Windows in zijn geheel.
0 评论:
Een reactie posten