Virtualna memorija u OS-u: što je, traženje stranica, prednosti

Sadržaj:

Anonim

Š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.