Nøgleforskel – Brugertilstand vs. Kerneltilstand
En computer fungerer i to tilstande, som er brugertilstand og kernetilstand. Når computeren kører applikationssoftware, er den i brugertilstand. Efter applikationssoftwareanmodningen om hardware går computeren i kernetilstand. Kernen er kernen i computersystemet. Efterfølgende skifter computeren ofte mellem brugertilstand og kernetilstand. De fleste kritiske opgaver i operativsystemet udføres i kernetilstand. Den vigtigste forskel mellem brugertilstand og kernetilstand er, at brugertilstand er den tilstand, som applikationerne kører i, og kernetilstand er den privilegerede tilstand, som computeren går ind i, når den tilgår hardwareressourcer.
Hvad er brugertilstand?
Når et computerprogram kører, er det i brugertilstand. Nogle eksempler er word-applikation, PowerPoint, læsning af en PDF-fil og browsing på internettet. Disse er applikationsprogrammer, så computeren er i brugertilstand. Når processen er i brugertilstand og kræver enhver hardwareressource, sendes denne anmodning til kernen. Da der er begrænset adgang til hardware i denne tilstand, er det kendt som mindre privilegeret tilstand, slavetilstand eller begrænset tilstand.
Figur 02: Driftsmåder
I brugertilstand får processer deres eget adresseområde og kan ikke få adgang til det adresseområde, der hører til kernen. Så fejl i en proces vil ikke påvirke operativsystemet. Hvis der er en afbrydelse, påvirker det kun den pågældende proces.
Hvad er Kernel Mode?
En kerne er et softwareprogram, som bruges til at få adgang til hardwarekomponenter i et computersystem. Kernel fungerer som en middleware-software til hardware og applikationssoftware/brugerprogrammer. Kerneltilstand er generelt reserveret til pålidelige funktioner på lavt niveau i operativsystemet.
Når processen udføres i brugertilstand, og hvis den proces kræver hardwareressourcer såsom RAM, printer osv., skal denne proces sende en anmodning til kernen. Disse anmodninger sendes via systemopkald. Derefter går computeren i kernetilstand fra brugertilstand. Når opgaven er fuldført, skifter tilstanden tilbage til brugertilstand fra kernetilstand. Denne overgang er kendt som "kontekstskift". Kerneltilstand kaldes også som systemtilstand eller privilegeret tilstand. Det er ikke muligt at køre alle processer i kernetilstanden, fordi hvis en proces fejler, kan hele operativsystemet fejle.
Figur 02: Kernel
Der er flere typer systemopkald. Proceskontrolsystemkald skaber processer og afslutter processer. Filhåndteringssystem kalder læse, skrive, oprette, slette, åbne og lukke filer. Enhedsstyringssystem opkald anmoder om enheder og frigør enheder, hent og indstil enhedsattributter. Der er også opkald til informationsvedligeholdelsessystem. De kan bruges til at få systemdata, tid, dato. Ressourcer, der kræves af én proces, kan være i besiddelse af en anden proces. Derfor bør processerne kommunikere ved hjælp af kommunikationssystemopkald. Kommunikationssystemopkald kan oprette og slette forbindelser, sende og modtage statusoplysninger.
Hvad er lighederne mellem brugertilstand og kernetilstand?
Computeren kan skifte mellem begge tilstande
Hvad er forskellen mellem brugertilstand og kernetilstand?
Brugertilstand vs. Kerneltilstand |
|
Brugertilstand er en begrænset tilstand, som applikationsprogrammerne kører og starter. | Kerneltilstand er den privilegerede tilstand, som computeren går ind i, når den tilgår hardwareressourcer. |
Modes | |
Brugertilstand betragtes som slavetilstand eller begrænset tilstand. | Kernetilstand er systemtilstand, mastertilstand eller privilegeret tilstand. |
Adresseplads | |
I brugertilstand får en proces deres eget adresseområde. | I kernetilstand får processer enkelt adresseplads. |
Afbrydelser | |
I brugertilstand, hvis der opstår en afbrydelse, mislykkes kun én proces. | I Kernel Mode, hvis der opstår en afbrydelse, kan hele operativsystemet fejle. |
Restrictions | |
I brugertilstand er der begrænsninger for adgang til kerneprogrammer. Kan ikke få direkte adgang til dem. | I kernetilstand er der adgang til både brugerprogrammer og kerneprogrammer. |
Opsummering – Brugertilstand vs. Kerneltilstand
En computer fungerer enten i brugertilstand eller kernetilstand. Forskellen mellem brugertilstand og kernetilstand er, at brugertilstand er den begrænsede tilstand, hvor applikationerne kører, og kernetilstand er den privilegerede tilstand, som computeren går ind i, når den tilgår hardwareressourcer. Computeren skifter mellem disse to tilstande. Hyppig kontekstskift kan sænke hastigheden, men det er ikke muligt at udføre alle processer i kernetilstanden. Det er fordi; hvis én proces fejler, kan hele operativsystemet fejle.
Download PDF-versionen af User Mode vs Kernel Mode
Du kan downloade PDF-versionen af denne artikel og bruge den til offline-formål i henhold til citatnotat. Download venligst PDF-version her Forskel mellem brugertilstand og kernetilstand