Procesors izpilda programmas lietotāja režīmā vai kodola režīmā. Kad izmantojat datoru, procesors bieži pārslēdzas starp šiem diviem režīmiem atkarībā no tā, ko tas dara. Bet kas ir lietotāja režīms un kodola režīms? Kāda ir atšķirība starp šiem diviem režīmiem? Kāpēc centrālajam procesoram ir jāpārslēdzas starp šiem režīmiem.
Kas ir lietotāja režīms operētājsistēmā Windows?

Lietotāja režīms operētājsistēmā Windows
Startējot programmu operētājsistēmā Windows, šī programma tiek palaista lietotāja režīmā. Ikreiz, kad kāda programma lietotāja režīmā vēlas darboties, sistēma Windows izveido tai procesu. Process ir tikai programma, kuru izpilda procesors, vai programma, kuru Windows ir ieplānojis izpildīt. Un ikreiz, kad sistēma Windows izveido procesu, tā šim procesam izveido arī virtuālo adrešu telpu.
Virtuālā adrešu telpa ir loģisku (nefizisku) adrešu kopa, ko sistēma Windows piešķir procesam. Procesi var izmantot šīs adreses, lai saglabātu datus fiziskajā atmiņā.
Turklāt virtuālā adrešu telpa ir izolēta. Tāpēc viena procesa virtuālā adrešu telpa netraucē cita procesa adrešu telpu. Un tā kā programmām lietotāja režīmā ir atsevišķas adrešu telpas, ja viena programma avarē, šī programma avarēs viena un neietekmēs citas programmas vai visu operētājsistēmu ar tās sekām.
Vēl viens veids, kā aprakstīt lietotāja režīma lietojumprogrammas, ir lietot terminu “mazāk priviliģēts”. Windows ierobežo lietotāja režīma lietojumprogrammām tiešu piekļuvi kritiskajiem sistēmas resursiem, tādējādi padarot tās mazāk priviliģētas. Piemēram, ja lietojumprogramma vēlas piekļūt aparatūrai, tai ir jāiet cauri OS kodolam, izmantojot sistēmas izsaukumus (programmēšanas stils, kurā datorprogramma pieprasa pakalpojumu no operētājsistēmas kodola). tā tiek izpildīta).
Vienkārši sakot, lietojumprogrammas, piemēram, videospēles, darbojas lietotāja režīmā. Viņiem ir maz privilēģiju, tāpēc viņiem nav neierobežotas piekļuves sistēmas resursiem. Katrai lietotāja režīma lietojumprogrammai ir sava adrešu telpa. Lietojumprogramma nevar mainīt citas lietojumprogrammas adrešu telpu. Tāpēc, ja viena lietojumprogramma avarē, tas neietekmē citas datorā strādājošās programmas.
Kas ir kodola režīms sistēmā Windows?

Kodola režīms operētājsistēmā Windows
Pirms apspriest kodola režīmu, mums vispirms ir jāzina, kas ir "kodolu" un kā tas darbojas sistēmā Windows.
Kodols ir operētājsistēmas smadzenes. Tas ir galvenais programmatūras komponents, uz kuru balstās visi pārējie operētājsistēmas komponenti. Kodols pārvalda datora aparatūru, ieplāno darbības datorā un apstrādā aparatūras un lietojumprogrammatūras mijiedarbību.
Īsāk sakot, kodols ir vispriviliģētākā koda daļa, kas darbojas sistēmā, jo tas ir kods, kas tieši mijiedarbojas ar aparatūru. Jebkurai citai programmai, kas vēlas izmantot aparatūras resursus, ir jāpieprasa piekļuve, izmantojot kodolu.
Ja lietojumprogramma darbojas lietotāja režīmā un vēlas piekļūt aparatūrai, piemēram, tīmekļa kamerai, tai ir jāpieprasa kodols, izmantojot sistēmas izsaukumu. Lai apkalpotu šos pieprasījumus, CPU programmas izpildes laikā pārslēgsies no lietotāja režīma uz kodola režīmu.
Kad izpilde ir pabeigta, CPU pārslēdzas atpakaļ uz lietotāja režīmu un sāk izpildīt nākamo ieplānoto procesu. To sauc par konteksta maiņu .
Kāda ir atšķirība starp lietotāja režīmu un kodola režīmu?
Galvenā atšķirība starp lietotāja režīmu un kodola režīmu ir katra režīma piešķirto privilēģiju līmenis. Lietotāja režīmā lietojumprogrammām ir mazāk privilēģiju. Viņiem nav tiešas piekļuves aparatūras resursiem un tie nevar rakstīt citu lietojumprogrammu adrešu telpā.
Kodam, kas darbojas kodola režīmā, ir paaugstinātas privilēģijas. Tam ir ne tikai tieša piekļuve datora aparatūrai, bet arī visām programmām, kas darbojas kodola režīmā, ieskaitot operētājsistēmu, ir koplietota adrešu telpa. Tātad, ja programma kodola režīmā avarē, tas var izraisīt visas operētājsistēmas avāriju. Lai šādas problēmas nerastos, sistēma Windows ļauj tikai dažiem procesiem darboties kodola režīmā.
Windows izmanto slāņveida pieeju, lai atdalītu lietotāja programmas no sistēmas resursiem
Lai noteiktu procesu privilēģiju līmeņus, Windows izmanto slāņu modeli. Programmas, kas atrodas visattālākajā slānī, ir lietojumprogrammas, kurām ir nomas tiesības. Šo slāņu kodols ir kodols. Tāpēc kodolam ir neierobežota piekļuve operētājsistēmas resursiem.
Slāņainā pieeja arī aizsargā kritisko operētājsistēmas funkcionalitāti. Ja programmas augšējā slānī nejauši avarē, tas neietekmē operētājsistēmu. No otras puses, kodola avārijas gadījumā tiek ietekmēta visa operētājsistēma.