Kas yra virtuali atmintis?
Virtuali atmintis yra saugojimo mechanizmas, suteikiantis vartotojui iliuziją, kad jis turi labai didelę pagrindinę atmintį. Tai daroma antrinės atminties dalį traktuojant kaip pagrindinę atmintį. Virtualioje atmintyje vartotojas gali kaupti procesus, kurių dydis didesnis nei esama pagrindinė atmintis.
Todėl, užuot įkėlusi vieną ilgą procesą į pagrindinę atmintį, OS įkelia įvairias daugiau nei vieno proceso dalis į pagrindinę atmintį. Virtualioji atmintis dažniausiai įgyvendinama ieškant ieškos ir segmentuojant.
Šioje „Operacinės sistemos“ pamokoje sužinosite:
- Kas yra virtuali atmintis?
- Kaip veikia virtuali atmintis?
- Kas yra paklausos ieškojimas?
- Puslapio pakeitimo metodų tipai
- FIFO puslapio pakeitimas
- Optimalus algoritmas
- LRU puslapio pakeitimas
- Virtualiosios atminties pranašumai
- Virtualiosios atminties trūkumai
Kodėl reikalinga virtuali atmintis?
Čia pateikiamos virtualiosios atminties naudojimo priežastys:
- Kai jūsų kompiuteryje nėra vietos fizinėje atmintyje, tai jis turi įsiminti kietajame diske sukeitimo failą kaip virtualią atmintį.
- Jei kompiuteriui, kuriame veikia „Windows“, reikia daugiau atminties / RAM, tada jis įdiegtas sistemoje, šiam tikslui naudoja nedidelę kietojo disko dalį.
Kaip veikia virtuali atmintis?
Šiuolaikiniame pasaulyje virtuali atmintis šiais laikais tapo gana įprasta. Jis naudojamas, kai kai kuriuos puslapius reikia įkelti į pagrindinę atmintį, kad būtų galima atlikti veiksmus, o atminties nėra šiems daugeliui puslapių.
Taigi, tuo atveju, užuot neleidusi puslapiams patekti į pagrindinę atmintį, OS ieško RAM vietos, kurios pastaruoju metu yra mažiausiai sunaudota arba kuri nėra nurodyta antrinėje atmintyje, kad atsirastų vietos naujiems puslapiams. pagrindinė atmintis.
Supraskime virtualios atminties valdymą vieno pavyzdžio pagalba.
Pavyzdžiui:
Tarkime, kad OS reikia 300 MB atminties, kad būtų galima išsaugoti visas veikiančias programas. Tačiau šiuo metu RAM yra tik 50 MB laisvos fizinės atminties.
- Tada OS sukurs 250 MB virtualiosios atminties ir naudos programą, vadinamą „Virtual Memory Manager“ (VMM), kad valdytų tą 250 MB.
- Taigi šiuo atveju VMM standžiajame diske sukurs 250 MB dydžio failą, kad būtų galima išsaugoti reikalingą papildomą atmintį.
- Dabar OS pradės spręsti atmintį, nes mano, kad RAM yra 300 MB tikrosios atminties, net jei yra tik 50 MB vietos.
- VMM užduotis yra valdyti 300 MB atminties, net jei yra tik 50 MB tikrosios atminties vietos.
Kas yra paklausos ieškojimas?
Paklausos ieškos mechanizmas yra labai panašus į ieškos sistemą su keitimu, kai antrinėje atmintyje ir puslapiuose saugomi procesai įkeliami tik pagal poreikį, o ne iš anksto.
Taigi, įvykus konteksto jungikliui, OS niekada nekopijuoja nė vieno senosios programos puslapio iš disko ar bet kurio naujos programos puslapio į pagrindinę atmintį. Užuot įkėlęs pirmąjį puslapį, jis pradės vykdyti naują programą ir atgaus nurodytus programos puslapius.
Vykdant programą, jei programa nurodo puslapį, kurio gali nebūti pagrindinėje atmintyje, nes jis buvo pakeistas, procesorius jį laiko netinkama atminties nuoroda. Taip yra dėl to, kad dėl puslapio gedimo ir perkėlimų siunčiamas valdymas iš programos atgal į OS, kuri reikalauja, kad puslapis vėl būtų saugomas atmintyje.
Puslapių keitimo metodų tipai
Štai keletas svarbių puslapio pakeitimo būdų
- FIFO
- Optimalus algoritmas
- LRU puslapio pakeitimas
FIFO puslapio pakeitimas
FIFO („First-in-first-out“) yra paprastas įgyvendinimo metodas. Taikant šį metodą, atmintis parenka puslapį pakeitimui, kuris ilgiausiai buvo atminties virtualiame adrese.
Funkcijos:
- Kiekvieną kartą, kai įkeliamas naujas puslapis, neseniai į atmintį patekęs puslapis pašalinamas. Taigi, lengva nuspręsti, kurį puslapį reikia pašalinti, nes jo identifikavimo numeris visada yra FIFO kamino.
- Seniausias puslapis pagrindinėje atmintyje yra tas, kurį pirmiausia reikia pasirinkti pakeisti.
Optimalus algoritmas
Optimalus puslapio pakeitimo būdas parenka tą puslapį pakeitimui, kuriam laikas iki kitos nuorodos yra ilgiausias.
Funkcijos:
- Optimalus algoritmas lemia mažiausiai puslapių klaidų skaičių. Šį algoritmą sunku įgyvendinti.
- Optimalus puslapio pakeitimo algoritmo metodas turi mažiausią puslapio algoritmų iš visų algoritmų rodiklį. Šis algoritmas egzistuoja ir turėtų būti vadinamas MIN arba OPT.
- Pakeiskite puslapį, kuris, kitaip nei naudojamas ilgesnį laiką. Jis naudoja tik tą laiką, kai reikia naudoti puslapį.
LRU puslapio pakeitimas
Visa LRU forma yra „Mažiausiai neseniai naudojamas puslapis“. Šis metodas padeda OS rasti puslapio naudojimą per trumpą laiką. Šis algoritmas turėtų būti įgyvendintas susiejus skaitiklį su lyginiu puslapiu.
Kaip tai veikia?
- Puslapis, kuris ilgiausiai nebuvo naudojamas pagrindinėje atmintyje, bus pasirinktas pakeisti.
- Lengva įgyvendinti, tvarkyti sąrašą, pakeisti puslapius, žvelgiant į praeitį.
Funkcijos:
- VGU pakeitimo metodas yra didžiausias. Šis skaitiklis taip pat vadinamas senėjimo registrais, kuriuose nurodomas jų amžius ir kiek reikėtų susieti su jais susijusius puslapius.
- Ilgiausiai pagrindinėje atmintyje nenaudojamas puslapis turėtų būti pasirinktas pakeisti.
- Jis taip pat tvarko sąrašą ir pakeičia puslapius, žvelgdamas į praeitį.
Gedimų dažnis
Gedimų dažnis yra dažnis, kuriuo sugenda suprojektuota sistema ar komponentas. Jis išreiškiamas nesėkmėmis per laiko vienetą. Tai žymima graikiška λ (lambda) raide.
Virtualiosios atminties pranašumai
Čia yra privalumai / privalumai naudojant virtualią atmintį:
- Virtuali atmintis padeda įgauti greitį, kai programos vykdymui reikalingas tik tam tikras programos segmentas.
- Tai labai naudinga įgyvendinant kelių programų aplinką.
- Tai leidžia vienu metu paleisti daugiau programų.
- Tai padeda jums sutalpinti daug didelių programų į mažesnes programas.
- Bendri duomenys ar kodas gali būti bendrinami tarp atminties.
- Procesas gali tapti dar didesnis nei visa fizinė atmintis.
- Duomenis / kodą reikia nuskaityti iš disko, kai to reikia.
- Kodas gali būti dedamas bet kurioje fizinės atminties vietoje nereikalaujant perkėlimo.
- Reikėtų išlaikyti daugiau procesų pagrindinėje atmintyje, o tai padidina efektyvų procesoriaus naudojimą.
- Kiekvienas puslapis yra saugomas diske, kol jo prireiks, jis bus pašalintas.
- Tai leidžia vienu metu paleisti daugiau programų.
- Daugiaprogramavimo laipsniui nėra jokios konkrečios ribos.
- Reikėtų rašyti dideles programas, nes esama virtualaus adreso erdvė yra daugiau, palyginti su fizine atmintimi.
Virtualiosios atminties trūkumai
Čia yra virtualiosios atminties naudojimo trūkumai / trūkumai:
- Programos gali veikti lėčiau, jei sistema naudoja virtualiąją atmintį.
- Tikriausiai reikia daugiau laiko pereiti nuo programų.
- Siūlo mažiau vietos standžiajame diske.
- Tai sumažina sistemos stabilumą.
- Tai leidžia didesnėms programoms veikti sistemose, kuriose nepakanka vien fizinės operatyviosios atminties joms paleisti.
- Jis nesuteikia tokio pat našumo kaip ir RAM.
- Tai neigiamai veikia bendrą sistemos veikimą.
- Užimkite saugojimo vietą, kuri gali būti naudojama kitaip ilgalaikiam duomenų saugojimui.
Santrauka:
- Virtuali atmintis yra saugojimo mechanizmas, suteikiantis vartotojui iliuziją, kad jis turi labai didelę pagrindinę atmintį.
- Virtuali atmintis reikalinga, kai jūsų kompiuteryje nėra vietos fizinėje atmintyje
- Paklausos ieškos mechanizmas yra labai panašus į ieškos sistemą su keitimu, kai antrinėje atmintyje ir puslapiuose saugomi procesai įkeliami tik pagal poreikį, o ne iš anksto.
- Svarbūs puslapio pakeitimo būdai yra 1) FIFO 2) optimalus algoritmas 3) LRU puslapio pakeitimas.
- Taikant FIFO („First-in-first-out“) metodą, atmintis parenka puslapį pakeitimui, kuris ilgiausiai buvo atminties virtualiame adrese.
- Optimalus puslapio pakeitimo būdas parenka tą puslapį pakeitimui, kuriam laikas iki kitos nuorodos yra ilgiausias.
- LRU metodas padeda OS rasti puslapio naudojimą per trumpą laiką.
- Virtuali atmintis padeda įgauti greitį, kai programos vykdymui reikalingas tik tam tikras programos segmentas.
- Programos gali veikti lėčiau, jei sistema naudoja virtualiąją atmintį.