Brukermodus

Fra IT2
Hopp til: navigasjon, søk

Alle prosesser kan befinne seg i to forskjellige tilstander:


En prosess som utfører instruksjoner mot egne dataområder i minnet opererer i brukermodus. Men så snart prosessen trenger å lese fra tastatur, fra disk, skrive til skjerm, etc. må prosessen utføre systemkall. Dette innebærer at prosessen går over i kjernemodus.

I Brukermodus er det operativsystemet sine egne instruksjoner som utføres, og disse instruksjonene opererer mot operativsystemets (kjernen) sine dataområder, f.eks. fildeskriptorer, bufferområder, utskriftskø etc.

I en del eldre systemer som blant annet MS-DOS fikk prosesser tilgang til hele minnet og kunne fort skrive over andre prosesser sine instruksjoner i minnet. Dette medfører til et ustabilt system og en dårligere sikkerhet. Dette er kanskje akseptabelt for enkle systemer som MS-DOS, men for operativsystemer av typen Linux med mange brukere og prosesser som kjører samtidig er dette ikke holdbart. En må for all del unngå at en gitt prosess leser data tilhørende andre brukere - enten dette er i minnet eller på disk. Det skal være umulig for en prosess å lese fra andre deler av minnet enn de delene som er reservert til denne prosessen. Mens en prosess i enkle operativsystemer av typen MS-DOS i prinsippet har adgang til hele minnet, vil f.eks Linux kun reservere en del minnet til hver prosess. Hvis en prøver å referere til andre adresser enn de som er avsatt til denne prosessen, vil prosessen bli avbbrutt, og deretter avsluttet.