Protsessor käivitab programme kas kasutajarežiimis või tuumarežiimis. Ja arvutit kasutades lülitub protsessor regulaarselt nende kahe vahel olenevalt sellest, mida see teeb. Aga mis on kasutajarežiim ja kernelrežiim ning mis vahe on nende vahel?
Vaatame, mis need režiimid on ja miks peab protsessor nende režiimide vahel ümber lülituma.
Mis on Windowsis "kasutajarežiim"?
Kui käivitate programmi Windowsis, käivitub see kasutajarežiimis. Kui mõni kasutajarežiimi programm soovib käivitada, loob Windows selle jaoks protsessi. Protsess on lihtsalt programm, mida protsessor käivitab või mille Windows on käivitamiseks kavandanud. Ja kui Windows loob protsessi, loob see protsessi jaoks ka virtuaalse aadressiruumi.
A virtuaalne aadressiruum on loogiliste (mittefüüsiliste) aadresside kogum, mille Windows protsessile määrab. Protsessid saavad neid aadresse kasutada andmete füüsilisse mällu salvestamiseks.
Lisaks on virtuaalsed aadressiruumid isoleeritud. Seega ei sega ühe protsessi virtuaalne aadressiruum teise protsessi aadressiruumi. Ja kuna kasutajarežiimi programmidel on eraldi aadressiruumid, siis kui üks programm jookseb kokku, jookseb see kokku üksi ega võta koos sellega teisi programme ega kogu OS-i.
Seotud: Näpunäiteid, mis aitavad teil parandada Windows 10 sinise ekraani tõrke
Teine viis kasutajarežiimi rakenduste kirjeldamiseks on kasutada terminit "vähem privilegeeritud". Windows piirab kasutajarežiimi rakenduste juurdepääsu kriitilistele süsteemiressurssidele, muutes need vähem privilegeeritud. Näiteks kui rakendus soovib juurdepääsu riistvarale, peab see süsteemikutsete abil läbima OS-i tuuma.
Lihtsamalt öeldes töötavad rakendusprogrammid, nagu videomängud, kasutajarežiimis. Nad on vähem privilegeeritud, seega pole neil piiramatut juurdepääsu süsteemiressurssidele. Igal kasutajarežiimi rakendusel on oma aadressiruum. Rakendus ei saa muuta teise rakenduse aadressiruumi. Järelikult, kui üks rakendus jookseb kokku, ei mõjuta see teisi arvutis töötavaid programme.
Seotud: Hoiatusmärgid, et teie arvuti jookseb kokku (ja mida teha)
Mis on Windowsis "Kernel Mode"?
Enne tuumarežiimi arutamist peame kõigepealt välja selgitama, mis on "tuum" ja kuidas see Windowsiga töötab.
Kernel on operatsioonisüsteemi aju. See on põhiline tarkvarakomponent, millele OS-i kõik muud komponendid tuginevad. Kernel haldab arvuti riistvara, ajastab, milliseid protsesse ja millal arvutis käivitatakse, ning haldab riistvara ja rakendustarkvara vahelisi koostoimeid.
Lühidalt öeldes on kernel kõige privilegeeritud kooditükk, mis süsteemis töötab. Seda seetõttu, et see kood suhtleb otseselt riistvaraga. Kõik teised programmid, mis soovivad riistvararessursse kasutada, peavad taotlema juurdepääsu kerneli kaudu.
Kui rakendusprogramm töötab kasutajarežiimis ja soovib juurdepääsu riistvarale, näiteks veebikaamerale, peab see taotlema kerneli süsteemikõne abil. Nende taotluste teenindamiseks lülitub protsessor programmi täitmise ajal kasutajarežiimist kerneli režiimi.
Pärast protsessi käivitamist lülitub CPU tagasi kasutajarežiimi ja alustab järgmise ajastatud protsessi täitmist. Seda nimetatakse "konteksti vahetamiseks".
Mis vahe on kasutajarežiimil ja tuumarežiimil?
Peamine erinevus kasutajarežiimi ja tuumarežiimi vahel on iga režiimi pakutavate privileegide tase. Kasutajarežiimis on rakendustel vähem õigusi. Neil pole otsest juurdepääsu riistvararessurssidele ja nad ei saa kirjutada ka teiste rakenduste aadressiruumidesse.
Seotud: Kuidas kasutada seadmehaldurit Windows 10 tõrkeotsinguks
Kernelirežiimis töötaval koodil on kõrgendatud õigused. Sellel pole mitte ainult otsest juurdepääsu arvutiriistvarale, vaid ka kõik tuumarežiimis töötavad programmid, sealhulgas OS, jagavad ühte aadressiruumi. Seega, kui programm on sisse lülitatud Kerneli režiim jookseb kokku, võib see kogu OS-i endaga alla võtta. Tagamaks, et selliseid krahhid ei juhtuks, lubab Windows mõnel protsessil käitada ainult tuumarežiimis.
Windows kasutab kasutajaprogrammide süsteemiressurssidest eraldamiseks kihilist lähenemisviisi
Windows kasutab protsesside privileegide taseme määramiseks kihilist mudelit. Rakendused, mis asuvad kõige välimises kihis, on need, millel on rendiõigus. Nende kihtide keskmes on tuum. Selle tulemusena on kernelil piiramatu juurdepääs OS-i ressurssidele.
Kihiline lähenemine kaitseb ka elutähtsat OS-i funktsionaalsust. Kui ülemise kihi programmid jooksevad juhuslikult kokku, ei mõjuta see OS-i. Teisest küljest, kui kernel jookseb kokku, läheb kogu OS alla.
Miks Windows jookseb pidevalt kokku? Siin on Windowsi kokkujooksmiste levinumad põhjused ja mitmed näpunäited nende parandamiseks.
Loe edasi
- Windows
- Windows
Fawad on täiskohaga vabakutseline kirjanik. Ta armastab tehnoloogiat ja toitu. Kui ta ei söö ega kirjuta Windowsist, mängib ta videomänge või unistab reisimisest.
Liituge meie uudiskirjaga
Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!
Tellimiseks klõpsake siin