Što je virtualna memorija?
Virtualna memorija je mehanizam za pohranu koji korisniku daje iluziju da ima vrlo veliku glavnu memoriju. To se postiže tretiranjem dijela sekundarne memorije kao glavne memorije. U virtualnu memoriju korisnik može pohraniti procese veće veličine od dostupne glavne memorije.
Stoga, umjesto učitavanja jednog dugog procesa u glavnu memoriju, OS učitava različite dijelove više procesa u glavnu memoriju. Virtualna memorija uglavnom se implementira sa straničenjem i segmentacijom potražnje.
U ovom vodiču za operativni sustav naučit ćete:
- Što je virtualna memorija?
- Kako funkcionira virtualna memorija?
- Što je pozivanje na zahtjev?
- Vrste metoda zamjene stranice
- Zamjena FIFO stranice
- Optimalni algoritam
- Zamjena LRU stranice
- Prednosti virtualne memorije
- Mane virtualne memorije
Zašto treba virtualna memorija?
Evo razloga za upotrebu virtualne memorije:
- Kad god vaše računalo nema prostora u fizičkoj memoriji, ono zapisuje na tvrdi disk u zamjensku datoteku kao virtualnu memoriju.
- Ako računalu sa sustavom Windows treba više memorije / RAM-a, a zatim instaliranog u sustav, u tu svrhu koristi mali dio tvrdog diska.
Kako funkcionira virtualna memorija?
U modernom svijetu virtualna memorija postala je sasvim uobičajena ovih dana. Koristi se kad god neke stranice trebaju izvršiti učitavanje u glavnu memoriju, a memorija nije dostupna za te mnoge stranice.
Dakle, u tom slučaju, umjesto da spriječi stranice da uđu u glavnu memoriju, OS traži RAM prostor koji se minimalno koristi u posljednje vrijeme ili koji nije referenciran u sekundarnu memoriju kako bi napravio prostor za nove stranice u glavno sjećanje.
Shvatimo upravljanje virtualnom memorijom uz pomoć jednog primjera.
Na primjer:
Pretpostavimo da OS zahtijeva 300 MB memorije za pohranu svih pokrenutih programa. Međutim, trenutno postoji samo 50 MB dostupne fizičke memorije pohranjene u RAM-u.
- Tada će OS postaviti 250 MB virtualne memorije i koristiti program nazvan Virtual Memory Manager (VMM) za upravljanje tih 250 MB.
- Dakle, u ovom će slučaju VMM stvoriti datoteku na tvrdom disku veličine 250 MB za pohranu dodatne memorije koja je potrebna.
- OS će se sada obraćati memoriji jer uzima u obzir 300 MB stvarne memorije pohranjene u RAM-u, čak i ako je na raspolaganju samo 50 MB prostora.
- Zadatak je VMM-a upravljati s 300 MB memorije čak i ako je na raspolaganju samo 50 MB stvarnog memorijskog prostora.
Što je pozivanje na zahtjev?
Mehanizam straničenja potražnje vrlo je sličan sustavu straničenja s zamjenom, gdje se procesi pohranjeni u sekundarnu memoriju i stranice učitavaju samo na zahtjev, a ne unaprijed.
Dakle, kada se dogodi prebacivanje konteksta, OS nikada ne kopira nijednu stranicu starog programa s diska ili bilo koju stranicu novog programa u glavnu memoriju. Umjesto toga, počet će izvršavati novi program nakon učitavanja prve stranice i dohvaća stranice programa na koje se upućuje.
Ako se tijekom izvođenja programa referencira stranica koja možda nije dostupna u glavnoj memoriji jer je zamijenjena, tada je procesor smatra nevažećom referencom memorije. To je zato što kvar stranice i prijenosi šalju kontrolu natrag iz programa u OS, koji zahtijeva pohranu stranice natrag u memoriju.
Vrste metoda zamjene stranice
Evo nekoliko važnih metoda zamjene stranica
- FIFO
- Optimalni algoritam
- Zamjena LRU stranice
Zamjena FIFO stranice
FIFO (First-in-first-out) je jednostavna metoda implementacije. Ovom metodom memorija odabire stranicu za zamjenu koja se najduže nalazi na virtualnoj adresi memorije.
Značajke:
- Kad god se učita nova stranica, stranica se nedavno u memoriji uklanja. Dakle, lako je odlučiti koja stranica treba ukloniti jer je njezin identifikacijski broj uvijek na FIFO stogu.
- Najstarija stranica u glavnoj memoriji je ona koju treba prvo odabrati za zamjenu.
Optimalni algoritam
Optimalna metoda zamjene stranice odabire tu stranicu za zamjenu za koju je vrijeme do sljedeće reference najdulje.
Značajke:
- Optimalni algoritam rezultira najmanjim brojem grešaka na stranici. Ovaj je algoritam teško implementirati.
- Optimalna metoda zamjene stranice ima najnižu stopu kvara stranice od svih algoritama. Ovaj algoritam postoji i koji bi se trebao zvati MIN ili OPT.
- Zamijenite stranicu koju inače ne biste koristili dulje vrijeme. Koristi samo vrijeme kada treba koristiti stranicu.
Zamjena LRU stranice
Puni oblik LRU-a je stranica Najmanje nedavno korišteno. Ova metoda pomaže OS-u da pronađe upotrebu stranice u kratkom vremenskom razdoblju. Ovaj algoritam treba implementirati povezivanjem brojača s parnom stranicom.
Kako radi?
- Stranica koja se najduže nije koristila u glavnoj memoriji je ona koja će biti odabrana za zamjenu.
- Jednostavno za primjenu, vodite popis, zamjenjujte stranice osvrćući se na vrijeme.
Značajke:
- Metoda zamjene LRU ima najveći broj. Ovaj brojač naziva se i registrima starenja koji određuju njihovu dob i koliko se na njih povezane stranice također treba pozivati.
- Stranica koja se najduže nije koristila u glavnoj memoriji je ona koju treba odabrati za zamjenu.
- Također zadržava popis i zamjenjuje stranice osvrćući se u prošlost.
Stopa kvarova
Stopa kvarova je frekvencija s kojom projektirani sustav ili komponenta otkaže. Izražava se u kvarovima u jedinici vremena. Označava se grčkim slovom λ (lambda).
Prednosti virtualne memorije
Evo prednosti i prednosti upotrebe virtualne memorije:
- Virtualna memorija pomaže postići brzinu kada je za izvršenje programa potreban samo određeni segment programa.
- Vrlo je korisno u implementaciji višeprogramskog okruženja.
- Omogućuje vam pokretanje više aplikacija odjednom.
- Pomaže vam da mnoge velike programe uklopite u manje programe.
- Memorija može dijeliti uobičajene podatke ili kod.
- Proces može postati čak i veći od svih fizičkih memorija.
- Podaci / kod treba čitati s diska kad god je to potrebno.
- Kôd se može smjestiti bilo gdje u fizičkoj memoriji bez potrebe za premještanjem.
- Trebalo bi održavati više procesa u glavnoj memoriji, što povećava učinkovitu upotrebu CPU-a.
- Svaka se stranica pohranjuje na disk dok se nakon toga ne zatraži, uklonit će se.
- Omogućuje istodobno pokretanje više aplikacija.
- Ne postoji određeno ograničenje stupnja multiprogramiranja.
- Treba pisati velike programe, jer je virtualni adresni prostor više u usporedbi s fizičkom memorijom.
Mane virtualne memorije
Evo nedostataka / nedostataka korištenja virtualne memorije:
- Aplikacije mogu raditi sporije ako sustav koristi virtualnu memoriju.
- Vjerojatno je potrebno više vremena za prebacivanje između aplikacija.
- Nudi manje prostora na tvrdom disku za vašu upotrebu.
- Smanjuje stabilnost sustava.
- Omogućuje pokretanje većih aplikacija u sustavima koji ne nude dovoljno fizičkog RAM-a za njihovo pokretanje.
- Ne nudi iste performanse kao RAM.
- To negativno utječe na cjelokupnu izvedbu sustava.
- Zauzmite prostor za pohranu, koji se inače može koristiti za dugoročno pohranjivanje podataka.
Sažetak:
- Virtualna memorija je mehanizam za pohranu koji korisniku daje iluziju da ima vrlo veliku glavnu memoriju.
- Virtualna memorija potrebna je kad god vaše računalo nema prostora u fizičkoj memoriji
- Mehanizam straničenja potražnje vrlo je sličan sustavu straničenja s zamjenom, gdje se procesi pohranjeni u sekundarnu memoriju i stranice učitavaju samo na zahtjev, a ne unaprijed.
- Važne metode zamjene stranice su 1) FIFO 2) Optimalni algoritam 3) Zamjena LRU stranice.
- U FIFO (First-in-first-out-out) metodi memorija odabire stranicu za zamjenu koja se najduže nalazi u virtualnoj adresi memorije.
- Optimalna metoda zamjene stranice odabire tu stranicu za zamjenu za koju je vrijeme do sljedeće reference najdulje.
- LRU metoda pomaže OS-u da pronađe upotrebu stranice u kratkom vremenskom razdoblju.
- Virtualna memorija pomaže postići brzinu kada je za izvršenje programa potreban samo određeni segment programa.
- Aplikacije mogu raditi sporije ako sustav koristi virtualnu memoriju.