Procesor izvaja programe v uporabniškem ali jedrnem načinu. Ko uporabljate računalnik, procesor pogosto preklaplja med tema dvema načinoma, odvisno od tega, kaj počne. Toda kaj sta uporabniški način in način jedra? Kakšna je razlika med tema dvema načinoma? Zakaj mora procesor preklapljati med temi načini.
Kaj je uporabniški način v sistemu Windows?

Uporabniški način v sistemu Windows
Ko zaženete program v sistemu Windows, se ta zažene v uporabniškem načinu. Kadarkoli se program v uporabniškem načinu želi zagnati, Windows zanj ustvari postopek. Proces je le program, ki ga izvaja procesor, ali program, ki ga je Windows načrtoval za izvajanje. In kadar koli Windows ustvari proces, ustvari tudi virtualni naslovni prostor za ta proces.
Navidezni naslovni prostor je nabor logičnih (nefizičnih) naslovov, ki jih Windows dodeli procesu. Procesi lahko uporabljajo te naslove za shranjevanje podatkov v fizični pomnilnik.
Poleg tega je virtualni naslovni prostor izoliran. Zato virtualni naslovni prostor enega procesa ne moti naslovnega prostora drugega procesa. In ker imajo programi v uporabniškem načinu ločene naslovne prostore, če se en program zruši, se bo ta program zrušil sam in s svojimi učinki ne bo vplival na druge programe ali celoten operacijski sistem.
Drug način za opis aplikacij uporabniškega načina je uporaba izraza "manj privilegirani". Windows aplikacijam uporabniškega načina omeji neposreden dostop do kritičnih sistemskih virov, zaradi česar so manj privilegirane. Na primer, če želi aplikacija dostopati do strojne opreme, mora iti skozi jedro OS s sistemskimi klici (slog programiranja, v katerem računalniški program zahteva storitev od jedra operacijskega sistema). se izvede).
Preprosto povedano, aplikacijski programi, kot so video igre, se izvajajo v uporabniškem načinu. Imajo malo privilegijev, zato nimajo neomejenega dostopa do sistemskih virov. Vsaka aplikacija uporabniškega načina ima svoj naslovni prostor. Aplikacija ne more spremeniti naslovnega prostora druge aplikacije. Če se torej ena aplikacija zruši, to ne vpliva na druge programe, ki se izvajajo v računalniku.
Kaj je način jedra v sistemu Windows?

Način jedra v sistemu Windows
Preden razpravljamo o načinu jedra, moramo najprej vedeti, kaj je "jedro" in kako deluje z operacijskim sistemom Windows.
Jedro je možgani operacijskega sistema. Je osrednja komponenta programske opreme, na kateri so odvisne vse druge komponente v operacijskem sistemu. Jedro upravlja računalniško strojno opremo, načrtuje izvajanje v računalniku in obravnava interakcije med strojno in aplikacijsko programsko opremo.
Skratka, jedro je najbolj privilegiran del kode, ki se izvaja v sistemu, saj je koda tista, ki neposredno komunicira s strojno opremo. Vsak drug program, ki želi uporabljati vire strojne opreme, mora zahtevati dostop prek jedra.
Ko se aplikacijski program izvaja v uporabniškem načinu in želi dostopati do strojne opreme, kot je spletna kamera, mora zahtevati jedro s sistemskim klicem. Za izpolnitev teh zahtev bo CPU v času izvajanja programa preklopil iz uporabniškega načina v način jedra.
Ko je izvedba končana, CPE preklopi nazaj v uporabniški način in začne izvajati naslednji načrtovani proces. To se imenuje »preklapljanje konteksta« .
Kakšna je razlika med uporabniškim načinom in načinom jedra?
Glavna razlika med uporabniškim načinom in načinom jedra je raven privilegijev, ki jih ponuja vsak način. V uporabniškem načinu imajo aplikacije manj privilegijev. Nimajo neposrednega dostopa do virov strojne opreme in ne morejo pisati v naslovni prostor drugih aplikacij.
Koda, ki se izvaja v načinu jedra, ima povišane privilegije. Ne samo, da ima neposreden dostop do strojne opreme računalnika, ampak si vsi programi, ki se izvajajo v načinu jedra, vključno z operacijskim sistemom, delijo naslovni prostor. Torej, če se program v jedrnem načinu zruši, lahko povzroči zrušitev celotnega operacijskega sistema. Da bi zagotovili, da do takšnih težav ne pride, Windows dovoljuje samo izvajanje nekaterih procesov v načinu jedra.
Windows uporablja večplastni pristop za ločevanje uporabniških programov od sistemskih virov
Windows uporablja večplastni model za določanje ravni privilegijev procesov. Aplikacije, ki se nahajajo v najbolj oddaljeni plasti, so aplikacije, ki imajo privilegije za najem. Jedro teh plasti je jedro. Zato ima jedro neomejen dostop do virov operacijskega sistema.
Večplastni pristop ščiti tudi kritično funkcionalnost operacijskega sistema. Ko se programi v zgornji plasti naključno zrušijo, to ne vpliva na operacijski sistem. Po drugi strani, ko se jedro zruši, je prizadet celoten operacijski sistem.