Virtuális memória az operációs rendszerben: mi az, keresletlapozás, előnyei

Mi az a virtuális memória?

Virtuális memória egy olyan tárolómechanizmus, amely azt az illúziót kínálja a felhasználónak, hogy nagyon nagy központi memóriával rendelkezik. Ez úgy történik, hogy a másodlagos memória egy részét kezeli fő memóriaként. A virtuális memóriában a felhasználó a rendelkezésre álló fő memóriánál nagyobb méretű folyamatokat tárolhat.

Ezért ahelyett, hogy egy hosszú folyamatot töltene be a fő memóriába, az operációs rendszer egynél több folyamat különböző részeit tölti be a fő memóriába. A virtuális memóriát többnyire keresleti lapozással és keresletszegmentálással valósítják meg.

Miért van szükség virtuális memóriára?

Íme, a virtuális memória használatának okai:

  • Amikor számítógépének nincs szabad helye a fizikai memóriában, virtuális memóriaként egy swap fájlba írja a merevlemezre, amit meg kell jegyeznie.
  • Ha egy számítógép fut Windows több memóriát/RAM-ot igényel, majd a rendszerbe telepítve a merevlemez egy kis részét használja erre a célra.

Hogyan működik a virtuális memória?

A modern világban a virtuális memória meglehetősen általánossá vált napjainkban. Akkor használatos, amikor bizonyos oldalakat be kell tölteni a fő memóriába a végrehajtáshoz, és a memória nem áll rendelkezésre ennyi oldal számára.

Tehát ebben az esetben ahelyett, hogy megakadályozná az oldalak bejutását a fő memóriába, az operációs rendszer megkeresi azt a RAM-területet, amelyet az utóbbi időben minimálisan használtak, vagy amelyek nem hivatkoznak a másodlagos memóriába, hogy helyet biztosítson az új oldalak számára. a fő emlék.

Értsük meg virtuális memória kezelése egy példa segítségével.

Például

Tegyük fel, hogy egy operációs rendszernek 300 MB memóriára van szüksége az összes futó program tárolásához. Jelenleg azonban csak 50 MB szabad fizikai memória van a RAM-ban.

  • Az operációs rendszer ezután 250 MB virtuális memóriát állít be, és a Virtual Memory Manager (VMM) nevű programot használja ennek a 250 MB-nak a kezelésére.
  • Tehát ebben az esetben a VMM létrehoz egy 250 MB méretű fájlt a merevlemezen a szükséges extra memória tárolására.
  • Az operációs rendszer mostantól a címmemóriát kezeli, mivel 300 MB valós memóriát vesz figyelembe a RAM-ban, még akkor is, ha csak 50 MB szabad hely áll rendelkezésre.
  • A VMM feladata 300 MB memória kezelése még akkor is, ha csak 50 MB valós memória áll rendelkezésre.

Mi az a kereslet-keresés?

Kereslet személyhívó

Az igénylapozási mechanizmus nagyon hasonlít a lapozó rendszer cserével, ahol a másodlagos memóriában tárolt folyamatok és az oldalak csak igény szerint töltődnek be, előre nem.

Tehát, ha kontextusváltás történik, az operációs rendszer soha nem másolja át a régi program egyik oldalát sem a lemezről, sem az új program egyik oldalát sem a fő memóriába. Ehelyett az első oldal betöltése után megkezdi az új program végrehajtását, és lekéri a program hivatkozott oldalait.

Ha a program végrehajtása során a program olyan oldalra hivatkozik, amely esetleg nem elérhető a fő memóriában, mert kicserélték, akkor azt a processzor érvénytelen memóriahivatkozásnak tekinti. Ennek az az oka, hogy a laphiba és az átvitel visszaküldi a vezérlést a programról az operációs rendszerre, amely megköveteli az oldal visszamentését a memóriába.

Az oldalcsere módszerek típusai

Íme néhány fontos oldalcsere módszer

  • FIFO
  • Optimális algoritmus
  • LRU oldalcsere

FIFO oldalcsere

A FIFO (First-in-first-out) egy egyszerű megvalósítási módszer. Ennél a módszernél a memória azt az oldalt választja ki a csere számára, amely a leghosszabb ideig volt a memória virtuális címében.

Jellemzők

  • Amikor új oldalt töltenek be, a nemrégiben a memóriában lévő oldal törlődik. Könnyen eldönthető tehát, hogy melyik oldalt kell eltávolítani, mivel annak azonosítószáma mindig a FIFO-veremben van.
  • A fő memória legrégebbi oldala az, amelyet először ki kell választani a cseréhez.

Optimális algoritmus

Az optimális oldalcsere módszer azt az oldalt választja ki a cseréhez, amelynél a leghosszabb a következő hivatkozásig eltelt idő.

Jellemzők

  • Az optimális algoritmus a legkevesebb oldalhibát eredményezi. Ezt az algoritmust nehéz megvalósítani.
  • Egy optimális oldalcsere algoritmus módszerrel rendelkezik a legalacsonyabb oldalhiba arány az összes algoritmus közül. Ez az algoritmus létezik, és ezt MIN-nek vagy OPT-nek kell nevezni.
  • Cserélje ki azt az oldalt, amelyet nem szeretne hosszabb ideig használni. Csak azt az időt használja, amikor egy oldalt használni kell.

LRU oldalcsere

Az LRU teljes formája a Legkevésbé használt oldal. Ez a módszer segít az operációs rendszernek rövid időn belül megtalálni az oldalhasználatot. Ezt az algoritmust úgy kell megvalósítani, hogy egy számlálót társítunk egy páros oldalhoz.

Hogyan működik?

  • A fő memóriában a leghosszabb ideig nem használt oldal kerül kiválasztásra cserére.
  • Könnyű megvalósítani, listát vezetni, oldalakat az időben visszatekintve cserélni.

Jellemzők

  • Az LRU cseremódszernek van a legmagasabb száma. Ezt a számlálót öregedési regisztereknek is nevezik, amelyek megadják az életkorukat és azt, hogy a kapcsolódó oldalakra mennyit kell hivatkozni.
  • A fő memóriában azt az oldalt kell kiválasztani, amelyet a leghosszabb ideig nem használtak cserére.
  • Ezenkívül listát is vezet, és az időbe visszatekintve helyettesíti az oldalakat.

Hibaarány

A hibaarány az a gyakoriság, amellyel egy tervezett rendszer vagy alkatrész meghibásodik. Meghibásodások egységnyi idő alatt fejezik ki. Görög betűvel jelölik? (lambda).

A virtuális memória előnyei

Íme, a virtuális memória használatának előnyei/előnyei:

  • A virtuális memória segít növelni a sebességet, ha a programnak csak egy meghatározott szegmense szükséges a program végrehajtásához.
  • Nagyon hasznos a többprogramozási környezet megvalósításában.
  • Lehetővé teszi több alkalmazás futtatását egyszerre.
  • Segít sok nagy programot kisebb programokba illeszteni.
  • A közös adatok vagy kódok megoszthatók a memória között.
  • A folyamat nagyobb lehet, mint az összes fizikai memória.
  • Az adatokat/kódot szükség esetén le kell olvasni a lemezről.
  • A kód bárhol elhelyezhető a fizikai memóriában, áthelyezés nélkül.
  • Több folyamatot kell fenntartani a fő memóriában, ami növeli a CPU hatékony használatát.
  • Minden oldal egy lemezen van tárolva, amíg nem lesz szükség utána, akkor eltávolítjuk.
  • Lehetővé teszi több alkalmazás egyidejű futtatását.
  • A többprogramozás mértékének nincs konkrét korlátja.
  • Nagy programokat kell írni, mivel a rendelkezésre álló virtuális címterület nagyobb a fizikai memóriához képest.

A virtuális memória hátrányai

Íme a virtuális memória használatának hátrányai/hátrányai:

  • Az alkalmazások lassabban futhatnak, ha a rendszer virtuális memóriát használ.
  • Valószínűleg több időbe telik az alkalmazások közötti váltás.
  • Kevesebb merevlemez-területet kínál az Ön számára.
  • Csökkenti a rendszer stabilitását.
  • Lehetővé teszi a nagyobb alkalmazások futtatását olyan rendszerekben, amelyek nem kínálnak elegendő fizikai RAM-ot a futtatáshoz.
  • Nem nyújt olyan teljesítményt, mint a RAM.
  • Ez negatívan befolyásolja a rendszer általános teljesítményét.
  • Foglalja le a tárhelyet, amelyet egyébként hosszú távú adattárolásra használhat fel.

Összegzésként

  • A virtuális memória egy olyan tárolómechanizmus, amely azt az illúziót kínálja a felhasználónak, hogy nagyon nagy fő memóriája van.
  • A virtuális memóriára akkor van szükség, ha a számítógép fizikai memóriájában nincs hely
  • Az igény szerinti lapozási mechanizmus nagyon hasonlít a cserével rendelkező lapozó rendszerhez, ahol a másodlagos memóriában tárolt folyamatok és az oldalak csak igény szerint töltődnek be, nem előre.
  • Fontos oldalcsere módszerek: 1) FIFO 2) Optimális algoritmus 3) LRU oldalcsere.
  • A FIFO (First-in-first-out) módszerben a memória azt az oldalt választja ki a csere számára, amely a leghosszabb ideig volt a memória virtuális címében.
  • Az optimális oldalcsere módszer azt az oldalt választja ki a cseréhez, amelynél a leghosszabb a következő hivatkozásig eltelt idő.
  • Az LRU metódus segít az operációs rendszernek, hogy megtalálja az oldalhasználatot rövid időn belül.
  • A virtuális memória segít növelni a sebességet, ha a programnak csak egy meghatározott szegmense szükséges a program végrehajtásához.
  • Az alkalmazások lassabban futhatnak, ha a rendszer virtuális memóriát használ.