Virtualna memorija računala kombinira aktivnu memoriju slučajnog pristupa kao i neaktivnu DASD memoriju kako bi se stvorio širok raspon uzastopnih adresa. Pojavom prvih računala ova značajka je bila prisutna kao standard, stalno se mijenjajući i modernizirajući.
Osnovni koncept
U programiranju je virtualna memorija metoda kontrole memorijski uređaj namijenjen za višezadaćne jezgre. To je tehnologija virtualizacije pohrane koja je dostupna za određene procese ili zadatke. Prije svega, ovo se odnosi na kontinuirani adresni prostor, koji je jedinstven za svaki pokrenuti proces. Operativni sustav upravlja virtualnim adresnim prostorom, a virtualnoj memoriji također dodjeljuje stvarnu memoriju. Procesor automatski prevodi virtualne adrese u fizičke adrese pomoću posebnog upravljanja hardverskom memorijom, što se često naziva upravljačke jedinice. Dok virtualne adrese pretražuju stvarne memorijske lokacije, ovaj proces se odvija neprekidno. Kada takav prijevod ne uspije, operativni sustav preuzima i prenosi potrebne memorijske stranice s pričuvnom pohranom u glavnu memoriju, obnavljajući prekinuti proces. Kada se virtualna memorija završi, računalo počinje neispravno raditi.
To pojednostavljuje organizaciju aplikacija u slučaju kada moraju koristiti više koda i podataka nego što mogu stati u memoriju. Osim toga, pri izvođenju procesa, kada se daju odvojeni prostori adresa, ova tehnika štiti aplikacije izoliranjem memorije od drugih procesa.
vrijednost
Virtualna memorija olakšala je programiranje aplikacija skrivanjem fragmentacije fizičke memorije. To se postiže delegiranjem kernelu hijerarhiji upravljanja memorijom (eliminirajući potrebu da program obrađuje slojeve). Osim toga, kada se svaki proces izvodi u vlastitom namjenskom adresnom prostoru, eliminira se potreba pomicanja programskog koda.
Upotreba
Virtualna memorija je sastavni dio moderne arhitekture računala, njezina implementacija zahtijeva određenu hardversku podršku, obično predstavljenu kao jedinica za upravljanje memorijom ugrađenu u procesor. U nekim slučajevima, emulatori i virtualni strojevi mogu koristiti hardversku podršku kako bi povećali učinkovitost svojih realizacija virtualne memorije. Većina modernih operativnih sustava koji podržavaju virtualnu memoriju također pokreću svaki proces u vlastitom namjenskom adresnom prostoru. Ugrađeni i drugi posebni tipovi računalnih sustava koji zahtijevaju vrlo brz i stalan odgovor možda neće koristiti virtualnu memoriju smanjenjem determinizma. Ponekad virtualni memorijski sustav može pokrenuti nepredvidive zamke koje mogu dovesti do neželjenih fluktuacija tijekom I / O operacija. To je zato što se ponekad koristi hardver koji nije dizajniran za takvo opterećenje.