Virtuális memória operációs rendszerben: Mi az, igénykeresés, előnyök

Tartalomjegyzék:

Anonim

Mi a virtuális memória?

A virtuális memória egy olyan tárolási mechanizmus, amely illúziót kínál a felhasználó számára, hogy nagyon nagy a fő memóriája. Úgy történik, hogy a másodlagos memória egy részét kezeljük 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ória többnyire igénykereséssel és igény-szegmentálással valósul meg.

Ebben az operációs rendszer bemutatóban megtudhatja:

  • Mi a virtuális memória?
  • Hogyan működik a virtuális memória?
  • Mi az igénykeresés?
  • Az oldalcsere módszerek típusai
  • FIFO oldalcsere
  • Optimális algoritmus
  • LRU oldalcsere
  • A virtuális memória előnyei
  • A virtuális memória hátrányai

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

Itt vannak a virtuális memória használatának okai:

  • Amikor a számítógépnek nincs helye a fizikai memóriában, virtuális memóriaként írja a swap fájlba a merevlemezre, amit emlékeznie kell.
  • Ha a Windows rendszert futtató számítógépnek több memóriára / RAM-ra van szüksége, majd telepítve van a rendszerbe, akkor 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 napjainkban meglehetősen elterjedtté vált. Akkor használják, amikor egyes oldalakat a fõ memóriába kell tölteni a végrehajtáshoz, és a memória nem áll rendelkezésre a sok oldal számára.

Tehát ebben az esetben az operációs rendszer ahelyett, hogy megakadályozná az oldalak belépését a fő memóriába, megkeresi a RAM-ot, amely a legutóbbi időkben minimálisan használt, vagy amelyekre nem hivatkoznak a másodlagos memóriában, hogy helyet kapjanak a fő emlék.

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

Például:

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

  • Ezután az operációs rendszer 250 MB virtuális memóriát állít fel, és a Virtual Memory Manager (VMM) nevű programot használja annak kezelésére.
  • Tehát ebben az esetben a VMM egy 250 MB méretű fájlt hoz létre a merevlemezen a szükséges extra memória tárolásához.
  • Az operációs rendszer most folytatja a memória címzését, 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 igénykeresés?

Az igény szerinti személyhívó mechanizmus nagyon hasonlít egy olyan személyhívó rendszerhez, ahol cserélnek, ahol a másodlagos memóriában és az oldalakon tárolt folyamatokat csak igény szerint töltik be, nem előre.

Tehát, amikor kontextus váltás történik, az operációs rendszer soha nem másolja 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 elkezdi futtatni az új programot, és beolvassa a program hivatkozott oldalait.

A program végrehajtása során, ha a program olyan oldalra hivatkozik, amely esetleg nem áll rendelkezésre a fő memóriában, mert felcserélték, akkor a processzor érvénytelen memória hivatkozásnak tekinti azt. Ez azért van, mert az oldalhiba és az átvitelek visszaküldik a vezérlést a programból az operációs rendszerbe, amely megköveteli az oldal visszatárolását a memóriába.

Az oldalcsere módszerek típusai

Íme néhány fontos oldalpótló módszer

  • FIFO
  • Optimális algoritmus
  • LRU oldalcsere

FIFO oldalcsere

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

Jellemzők:

  • Amikor új oldal töltődik be, a memóriában nemrégiben megjelent oldal törlődik. Könnyű eldönteni, hogy melyik oldalt kell eltávolítani, mivel azonosító száma mindig a FIFO veremnél van.
  • A fő memória legrégebbi oldala az, amelyet először ki kell választani a cserére.

Optimális algoritmus

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

Jellemzők:

  • Az optimális algoritmus a legkevesebb oldalhibát eredményezi. Ezt az algoritmust nehéz megvalósítani.
  • Az optimális oldal-helyettesítő algoritmus-módszer az összes algoritmus közül a legalacsonyabb az oldal-hiba arányával. Ez az algoritmus létezik, amelyet MIN vagy OPT néven kell hívni.
  • Cserélje ki azt az oldalt, amelyik hosszabb ideig nem használható. Csak azt az időt használja, amikor egy oldalt használni kell.

LRU oldalcsere

Az LRU teljes formája a Legutóbb használt oldal. Ez a módszer segít az operációs rendszernek abban, hogy rövid időn belül megtalálja az oldalhasználatot. Ezt az algoritmust úgy kell megvalósítani, hogy 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 oldalt választják ki a cserére.
  • Könnyen kivitelezhető, listát vezethet, oldalakat cserélhet az idő visszatekintésével.

Jellemzők:

  • Az LRU helyettesítési módszere a legnagyobb. Ezt a számlálót öregedési regisztereknek is nevezik, amelyek meghatározzák életkorukat és a hozzájuk tartozó oldalakra való hivatkozást is.
  • A fő memóriában a leghosszabb ideig nem használt oldalt kell kiválasztani a cserére.
  • Emellett listát vezet, és az oldalakat az idő visszatekintésével helyettesíti.

Hibák aránya

A hibaarány az a frekvencia, amellyel egy tervezett rendszer vagy alkatrész meghibásodik. Időegységenkénti kudarcokban fejeződik ki. A görög λ (lambda) betűvel jelöljük.

A virtuális memória előnyei

A virtuális memória használatának előnyei / előnyei:

  • A virtuális memória gyorsabbá válik, ha a program végrehajtásához csak a program egy adott szegmensére van szükség.
  • Nagyon hasznos a multiprogramozási környezet megvalósításában.
  • Ez lehetővé teszi, hogy több alkalmazást futtasson egyszerre.
  • Segít abban, hogy sok nagy program kisebb programokba illeszkedjen.
  • Közös adatok vagy kód lehet megosztva a memória között.
  • A folyamat még nagyobb lehet, mint az összes fizikai memória.
  • Az adatokat / kódokat szükség esetén lemezről kell olvasni.
  • A kód bárhol elhelyezhető a fizikai memóriában anélkül, hogy szükség lenne áthelyezésre.
  • További folyamatokat kell fenntartani a fő memóriában, ami növeli a CPU hatékony használatát.
  • Minden oldalt addig tárolunk egy lemezen, amíg ez nem szükséges, eltávolításra kerül.
  • Ez lehetővé teszi több alkalmazás futtatását egyszerre.
  • A multiprogramozás mértékére nincs külön korlátozás.
  • Nagy programokat kell írni, mivel a rendelkezésre álló virtuális címterület jobban hasonlít a fizikai memóriához.

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

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őre van szükség az alkalmazások közötti váltáshoz.
  • Kevesebb helyet biztosít a merevlemezen az Ön számára.
  • Csökkenti a rendszer stabilitását.
  • Ez lehetővé teszi a nagyobb alkalmazások futtatását olyan rendszerekben, amelyek nem kínálnak elegendő fizikai RAM-ot önmagában a futtatáshoz.
  • Nem ugyanazt a teljesítményt kínálja, mint a RAM.
  • Negatívan befolyásolja a rendszer teljes teljesítményét.
  • Foglalja el a tárhelyet, amelyet egyébként hosszú távú adattárolásra lehet felhasználni.

Összegzés:

  • A virtuális memória egy olyan tárolási mechanizmus, amely illúziót kínál a felhasználó számára, hogy nagyon nagy a fő memóriája.
  • Virtuális memóriára van szükség, ha számítógépének nincs helye a fizikai memóriában
  • Az igény szerinti személyhívó mechanizmus nagyon hasonlít egy olyan személyhívó rendszerhez, ahol cserélnek, ahol a másodlagos memóriában és az oldalakon tárolt folyamatokat csak igény szerint töltik be, nem előre.
  • Fontos az oldalcsere módszerei: 1) FIFO 2) Optimális algoritmus 3) LRU oldalcsere.
  • A FIFO (First-in-first-out) módszerben a memória kiválasztja azt az oldalt egy csere számára, amely a leghosszabb ideig a memória virtuális címében volt.
  • Az optimális oldalcsere-módszer azt az oldalt választja ki annak a cserének, amelynél a leghosszabb az idő a következő hivatkozásig.
  • Az LRU módszer segíti az operációs rendszert az oldalhasználat rövid időn belüli megtalálásában.
  • A virtuális memória gyorsabbá válik, ha a program végrehajtásához csak a program egy adott szegmensére van szükség.
  • Az alkalmazások lassabban futhatnak, ha a rendszer virtuális memóriát használ.