OPERATIVNI SISTEMI
Zaštita memorije

Jedan od osnovnih zadataka sistema za upravljanje memorijom je zaštita procesa koji dijele memoriju. Važna karakteristika sistema sa straničenjem je da svaki proces može da pristupi samo onim okvirima koji se pojavljuju u njegovoj tabeli stranica. Zaštita memorije se može implementirati hardverski i softverski. Hardversko rješenje je preslikavanje adresa (eng. address translation) i ovo rješenje je opisano u nastavku teksta. Softversko rješenje može biti nezavisno (eng. software fault isolation) ili zavisno od programskog jezika (eng. strong typing).

Hardverska zaštita memorije se može ostvariti korišćenjem dva registra koji se zovu: bazni (eng. base) i granični (eng. limit) registar. U baznom registru se nalazi najmanja adresa fizičke memorije gdje je dati program smješten, dok se u graničnom registru nalazi veličina opsega memorije unutar koga program može pristupati, kao što je to prikazano na slici.


Logički adresni prostor

Prvo se provjerava da li je generisana adresa veća ili jednaka vrijednosti koja se nalazi u baznom registru. Ako je ovaj uslov ispunjen tada se provjerava da li je generisana adresa manja od zbira vrijednosti u baznom i graničnom registru. Ako je i ovaj uslov ispunjen dozvoljava se pristup fizičkoj memoriji. Ovakvom hardverskom zaštitom eleminisana je mogućnost da neki korisnički program nakon adresiranja pristupi dijelu memorije koji je izvan njegovog dozvoljenog adresnog prostora. Ako je generisana adresa datog programa van dozvoljenog adresnog prostora tada će doći do sistemske greške, tj. do takozvane fatalne greške.

Jedino operativni sistem može da napuni bazni i granični registar korišćenjem specijalne priviliegovane instrukcije. Operativni sistem takođe, spriječava programe da mijenjaju sadržaj ovih registara.

    Index