NAvidezni pomnilnik
Navidezni pomnilnik
Velikost pomnilnika je in še vedno narašča, vendar se lahko zgodi, da je pomnilnik za določen program ali več programov, ki se izvršujejo skupaj, premajhen. Ta problem je mogoče rešiti z uporabo različnih strategij za dodeljevanje pomnilnika programom na način, ki omogoča najboljši izkoristek razpoložljivega pomnilniškega prostora in največjo količino opravljenega dela. Ena od takih strategij je navidezni pomnilnik (virtual memory).
Včasih je bil problem premajhnega pomnilnika še bolj pereč. Vsak program so morali programerji razdeliti na več enot, ki so se po potrebi nalagale iz pomožnega pomnilnika (diska), tako da je en del prekril drugega (ki se trenutno ni potreboval) v pomnilniku. Ta način uporabe glavnega pomnilnika je znan pod imenom prekrivanje(overlay), posamezni deli programa pa prekrivki(overlays). Tisti deli programa, ki se trenutno potrebujejo, se naložijo v glavni pomnilnik.
Pri uporabi navideznega pomnilnika je pomnilniški prostor v pomožnem pomnilniku viden kot glavni pomnilnik – prenosi med obema so za programerja nevidni. Odtod ime: navidezni pomnilnik. Zakaj se uporablja navidezni pomnilnik namesto da bi kupili večji glavni pomnilnik? Razlog je samo eden – nižja cena pomožnega pomnilnika (disk) na enoto (bit) kot glavnega pomilnika.
Pomnilniška hierarhija
Pomnilniška hierarhija je zaporedje pomnilnikov, v katerem vsak pomnilnik komunicira samo s svojima sosedoma. Vsa informacija je shranjena vedno samo na najvišjem nivoju Mn, na nižjih nivojih so njene podmnožice. Naslov, ki ga daje CPE je naslov besede na najvišjem nivoju. Kljub temu bo informacija pri večini dostopov dostopna tudi na nižjih nivojih.
S pomnilniško hierarhijo želimo doseči, da CPE vidi velik, cenen in počasen pomnilnik Mn kot hiter in drag (zato tudi majhen) pomnilnik M1. To je možno doseči samo zaradi lokalnosti pomnilniških dostopov – brez lokalnosti bi bila pomnilniška hierarhija zanesljivo neuspešna.
Tudi tu imamo pojem verjetnosti zadetka. Ta je odvisna od velikosti glavnega pomnilnika, velikosti bloka in strategije pri zamenjavi blokov.
Preslikovanje navideznih naslovo
Navidezni pomnilnik je ime za pomnilniško hierarhijo, ki ima kot najvišji nivo Mn pomožni pomnilnik. Danes je pomožni pomnilnik praktično vedno magnetni disk. Število nivojev pri tem ni pomembno. Naslovi, ki jih daje CPE, se nanašajo na najvišji nivo (kakor pri vsaki pomnilniški hierarhiji) in jih zato imenujemo navidezni naslovi (tudi logični naslovi). Podmnožica navideznega pomnilnika je shranjena v glavnem pomnilniku, podmnožica te podmnožice pa v predpomnilniku.
Podobno kot za predpomnilnik, tudi tu rečemo, da je del vsebine navideznega pomnilnika preslikan v glavni pomnilnik. V vsakem trenutku obstaja preslikava, s katero je določena podmnožica navideznega pomnilnika, ki je v glavnem pomnilniku (fizičnem pomnilniku).
Pri vsakem pomnilniškem dostopu je navidezni naslov z uporabo informacije o preslikavi potrebno preslikati v fizični naslov. Pri tem se lahko seveda zgodi, da imamo zgrešitev. Preslikovanje navideznih naslovov v fizične je bistveni del dogajanja na računalnikih z navideznim pomnilnikom.
Preslikovalna funkcija, ki jo vsebuje preslikovalnik, se med delovanjem spreminja – tako, da bi bila verjetnost zadetka čim večja. Preslikovalnik se pri manjših računalnikih označuje kot MMU – Memory Management Unit – enota za upravljanje s pomnilnikom. Bistveno je, da je to preslikovanje kar se da hitro.
Za razliko od predpomnilnikov, je pri navideznem pomnilniku potrebno hardversko realizirati le preslikovanje naslovov, medtem ko se zamenjevalno strategijo realizira programsko – ker je prenos med diskom in glavnim pomnilnikom počasen, je taka rešitev dovolj hitra (in seveda veliko cenejša).
Tudi pri navideznih pomnilnikih je mogoče opredeliti območja, ki se ne preslikujejo in je zato navidezni naslov vedno enak fizičnemu. Razlogi so podobni kot pri predpomnilnikih. Poleg tega vedno obstaja način, ki omogoča, da s programom izklopimo preslikovanje – to je pomembno npr. pri vklopu računalnika, ko preslikovalna funkcija še ni definirana.
lp
Forum je zaprt za komentiranje.