Virtualna memorija u OS-u: što je, straničenje po zahtjevu, prednosti
Što je virtualna memorija?
Virtualna memorija je mehanizam za pohranu koji korisniku nudi iluziju da ima veliku glavnu memoriju. To se radi tretiranjem dijela sekundarne memorije kao glavne memorije. U virtualnoj memoriji korisnik može pohraniti procese veće od dostupne glavne memorije.
Stoga, umjesto učitavanja jednog dugog procesa u glavnu memoriju, OS učitava različite dijelove više od jednog procesa u glavnu memoriju. Virtualna memorija se uglavnom implementira sa straničenjem po zahtjevu i segmentacijom po zahtjevu.
Zašto je potrebna virtualna memorija?
Evo razloga za korištenje virtualne memorije:
- Kad god vaše računalo nema mjesta u fizičkoj memoriji, zapisuje ono što treba zapamtiti na tvrdi disk u swap datoteku kao virtualnu memoriju.
- Ako računalo radi Windows treba više memorije/RAM-a, zatim se instalira u sustav, za tu svrhu koristi mali dio tvrdog diska.
Kako radi virtualna memorija?
U suvremenom svijetu virtualna memorija postala je prilično uobičajena pojava ovih dana. Koristi se uvijek kada neke stranice zahtijevaju učitavanje u glavnu memoriju za izvođenje, a memorija nije dostupna za toliko stranica.
Dakle, u tom slučaju, umjesto da spriječi stranice da uđu u glavnu memoriju, OS traži prostor RAM-a koji se minimalno koristi u novije vrijeme ili koji nije referenciran u sekundarnoj memoriji kako bi napravio prostor za nove stranice u glavna memorija.
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 je u RAM-u pohranjeno samo 50 MB dostupne fizičke memorije.
- OS će zatim postaviti 250 MB virtualne memorije i koristiti program pod nazivom Virtual Memory Manager (VMM) za upravljanje tih 250 MB.
- Dakle, u ovom slučaju, VMM će stvoriti datoteku na tvrdom disku veličine 250 MB za pohranu dodatne memorije koja je potrebna.
- OS će sada nastaviti s adresiranjem memorije jer uzima u obzir 300 MB stvarne memorije pohranjene u RAM-u, čak i ako je dostupno samo 50 MB prostora.
- Posao VMM-a je upravljanje 300 MB memorije čak i ako je dostupno samo 50 MB stvarnog memorijskog prostora.
Što je Demand Paging?
Mehanizam straničenja na zahtjev vrlo je sličan a paging sustav sa zamjenom gdje se procesi pohranjeni u sekundarnoj memoriji i stranice učitavaju samo na zahtjev, a ne unaprijed.
Dakle, kada dođe do promjene 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, koje su navedene.
Tijekom izvođenja programa, ako program referencira stranicu koja možda nije dostupna u glavnoj memoriji jer je zamijenjena, tada je procesor smatra nevažećom memorijskom referencom. To je zato što pogreška stranice i prijenosi šalju kontrolu natrag iz programa u OS, koji zahtijeva pohranu stranice natrag u memoriju.
Vrste metoda zamjene stranica
Ovdje su neke važne metode zamjene stranice
- FIFO
- Optimalni algoritam
- Zamjena LRU stranice
Zamjena FIFO stranice
FIFO (First-in-first-out) je jednostavna metoda implementacije. U ovoj metodi memorija odabire stranicu za zamjenu koja je najduže bila u virtualnoj adresi memorije.
Značajke
- Kad god se učita nova stranica, stranica koja je nedavno stigla u memoriju se uklanja. Dakle, lako je odlučiti koju stranicu treba ukloniti jer je njen identifikacijski broj uvijek na FIFO stogu.
- Najstarija stranica u glavnoj memoriji je ona koju prvo treba odabrati za zamjenu.
Optimalni algoritam
Optimalna metoda zamjene stranice odabire onu stranicu za zamjenu za koju je vrijeme do sljedeće reference najdulje.
Značajke
- Optimalan algoritam rezultira najmanjim brojem pogrešaka stranice. Ovaj algoritam je teško implementirati.
- Metoda optimalnog algoritma za zamjenu stranice ima najnižu stopu grešaka stranice od svih algoritama. Ovaj algoritam postoji i treba ga zvati MIN ili OPT.
- Zamijenite stranicu koju ne želite koristiti dulje vrijeme. Koristi samo vrijeme kada se stranica mora koristiti.
Zamjena LRU stranice
Puni oblik LRU je stranica koja se najmanje koristi u zadnje vrijeme. Ova metoda pomaže OS-u da pronađe korištenje stranice u kratkom vremenskom razdoblju. Ovaj algoritam treba implementirati pridruživanjem brojača parnoj stranici.
Kako radi?
- Za zamjenu će biti odabrana stranica koja nije najduže korištena u glavnoj memoriji.
- Jednostavan za implementaciju, vodite popis, zamijenite stranice gledajući u prošlost.
Značajke
- Metoda zamjene LRU ima najveći broj. Ovaj se brojač naziva i registrima starenja, koji određuju njihovu starost i koliko se njihove povezane stranice također trebaju referencirati.
- Za zamjenu treba odabrati stranicu koja nije najduže korištena u glavnoj memoriji.
- Također čuva popis i zamjenjuje stranice gledajući u prošlost.
Stopa grešaka
Stopa grešaka je učestalost kojom projektirani sustav ili komponenta otkazuje. Izražava se u kvarovima po jedinici vremena. Označava se grčkim slovom ? (lambda).
Prednosti virtualne memorije
Ovdje su prednosti/prednosti korištenja virtualne memorije:
- Virtualna memorija pomaže dobiti na brzini kada je samo određeni segment programa potreban za izvođenje programa.
- Vrlo je koristan u implementaciji multiprogramskog okruženja.
- Omogućuje pokretanje više aplikacija odjednom.
- Pomaže vam uklopiti mnoge velike programe u manje programe.
- Zajednički podaci ili kod mogu se dijeliti između memorije.
- Proces može postati čak i veći od cjelokupne fizičke memorije.
- Podatke/kod treba čitati s diska kad god je potrebno.
- Kod se može postaviti bilo gdje u fizičkoj memoriji bez potrebe za premještanjem.
- Više procesa treba održavati u glavnoj memoriji, što povećava učinkovito korištenje procesora.
- Svaka stranica je pohranjena na disku dok ne bude potrebna nakon toga, bit će uklonjena.
- Omogućuje pokretanje više aplikacija u isto vrijeme.
- Ne postoji određeno ograničenje stupnja multiprogramiranja.
- Trebalo bi pisati velike programe jer je dostupni virtualni adresni prostor veći od fizičke memorije.
Nedostaci virtualne memorije
Ovdje su nedostaci/protiv upotrebe virtualne memorije:
- Aplikacije mogu raditi sporije ako sustav koristi virtualnu memoriju.
- Vjerojatno će trebati 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.
- Negativno utječe na cjelokupnu izvedbu sustava.
- Zauzmite prostor za pohranu, koji se inače može koristiti za dugotrajnu pohranu podataka.
rezime
- Virtualna memorija je mehanizam za pohranu koji korisniku nudi iluziju da ima veliku glavnu memoriju.
- Virtualna memorija je potrebna kad god vaše računalo nema mjesta u fizičkoj memoriji
- Mehanizam straničenja na zahtjev vrlo je sličan sustavu straničenja s izmjenom gdje se procesi pohranjeni u sekundarnoj memoriji i stranice učitavaju samo na zahtjev, a ne unaprijed.
- Važne metode zamjene stranice su 1) FIFO 2) Optimalni algoritam 3) LRU zamjena stranice.
- U FIFO (First-in-first-out) metodi memorija odabire stranicu za zamjenu koja je najduže bila u virtualnoj adresi memorije.
- Optimalna metoda zamjene stranice odabire onu stranicu za zamjenu za koju je vrijeme do sljedeće reference najdulje.
- LRU metoda pomaže OS-u da pronađe korištenje stranice u kratkom vremenskom razdoblju.
- Virtualna memorija pomaže dobiti na brzini kada je samo određeni segment programa potreban za izvođenje programa.
- Aplikacije mogu raditi sporije ako sustav koristi virtualnu memoriju.