Memóriakezelés az operációs rendszerben: folyamatos, csere, töredezettség

Mi az a memóriakezelés?

Memóriakezelés a számítógép memóriájának vezérlésének és koordinálásának folyamata, blokkokként ismert részek hozzárendelése a különböző futó programokhoz a rendszer általános teljesítményének optimalizálása érdekében.

Az elsődleges memóriát kezelő operációs rendszer legfontosabb funkciója. Segíti a folyamatokat a fő memória és a végrehajtó lemez között előre és előre mozogni. Segíti az operációs rendszert abban, hogy minden memóriahelyet nyomon kövessen, függetlenül attól, hogy valamelyik folyamathoz hozzá van rendelve, vagy szabad marad.

Miért érdemes memóriakezelést használni?

Íme a memóriakezelés használatának okai:

  • Lehetővé teszi annak ellenőrzését, hogy mennyi memóriát kell lefoglalni azokhoz a folyamatokhoz, amelyek eldöntik, hogy melyik processzornak mikor kell memóriát kapnia.
  • Nyomon követi a készlet felszabadulását vagy kiosztását. Ennek megfelelően frissíti az állapotot.
  • Lefoglalja a helyet az alkalmazási rutinoknak.
  • Arról is gondoskodik, hogy ezek az alkalmazások ne zavarják egymást.
  • Segít megvédeni a különböző folyamatokat egymástól
  • A programokat a memóriába helyezi úgy, hogy a memória teljes mértékben kihasználva legyen.

Memóriakezelési technikák

Íme néhány legfontosabb memóriakezelési technika:

Egyetlen összefüggő kiosztás

Ez a legegyszerűbb memóriakezelési technika. Ezzel a módszerrel a számítógép összes memóriája egy alkalmazás számára elérhető, kivéve az operációs rendszer számára fenntartott kis részt. Például az MS-DOS operációs rendszer ilyen módon foglalja le a memóriát. A beágyazott rendszer is egyetlen alkalmazáson fut.

Partícionált kiosztás

Az elsődleges memóriát különböző memóriapartíciókra osztja, amelyek többnyire a memória összefüggő területei. Minden partíció tárolja az összes információt egy adott feladathoz vagy feladathoz. Ez a módszer abból áll, hogy egy partíciót hozzá kell rendelni egy jobhoz, amikor az elindul, és le kell foglalni, amikor befejeződik.

Lapozott memóriakezelés

Ez a módszer a számítógép fő memóriáját fix méretű egységekre osztja, amelyeket oldalkereteknek nevezünk. Ez a hardveres memóriakezelő egység az oldalakat keretekbe képezi le, amelyeket oldalanként kell kiosztani.

Szegmentált memóriakezelés

A szegmentált memória az egyetlen memóriakezelési módszer, amely nem biztosít a felhasználó programjának lineáris és összefüggő címteret.

A szegmenseknek hardveres támogatásra van szükségük szegmenstábla formájában. Tartalmazza a szakasz fizikai címét a memóriában, méretét és egyéb adatokat, például hozzáférésvédelmi biteket és állapotot.

Mi az a Csere?

A csere egy olyan módszer, amelyben a folyamatot ideiglenesen át kell cserélni a fő memóriából a háttértárba. Később visszakerül a memóriába a folytatáshoz.

A háttértár egy merevlemez vagy más másodlagos tárolóeszköz, amelynek elég nagynak kell lennie ahhoz, hogy minden felhasználó számára elférjen az összes memóriakép másolata. Közvetlen hozzáférést is kínál ezekhez a memóriaképekhez.

Csere

A csere előnyei

Íme a csere főbb előnyei/előnyei:

  • Magasabb fokú multiprogramozást kínál.
  • Lehetővé teszi a dinamikus áthelyezést. Például, ha a végrehajtási időben cím-összerendelést használnak, akkor a folyamatok különböző helyeken cserélhetők. Ellenkező esetben fordítási és betöltési idejű kötések esetén a folyamatokat ugyanarra a helyre kell áthelyezni.
  • Segít a memória jobb kihasználásában.
  • Minimális CPU-időveszteség a befejezéskor, így könnyen alkalmazható prioritás alapú ütemezési módszerre a teljesítmény javítása érdekében.

Mi az a memóriafoglalás?

A memóriafoglalás egy folyamat, amelynek során a számítógépes programok memóriát vagy helyet rendelnek hozzá.

Itt a fő memória kétféle partícióra oszlik

  1. Alacsony memória - Operadolog rendszer ebben a típusú memóriában lakik.
  2. Magas memória– A felhasználói folyamatok magas memóriában vannak tárolva.

Partíciókiosztás

A memória különböző blokkokra vagy partíciókra van felosztva. Minden folyamatot a követelményeknek megfelelően osztanak ki. A partíciókiosztás ideális módszer a belső fragmentáció elkerülésére.

Az alábbiakban bemutatjuk a különböző partíciókiosztási sémákat:

  • First Fit: Ennél a típusillesztésnél a partíció le van foglalva, ami az első elégséges blokk a fő memória elejétől számítva.
  • Legjobban illeszkedő: A folyamatot ahhoz a partícióhoz rendeli hozzá, amely az első legkisebb partíció a szabad partíciók között.
  • Legrosszabb illeszkedés: A folyamatot a partíció, amely a legnagyobb szabadon elérhető partíció a fő memóriában.
  • Következő illeszkedés: Leginkább az első Fithez hasonlít, de ez az illesztés az első elégséges partíciót keresi az utolsó kiosztási ponttól.

Mi az a lapozás?

A lapozás egy tárolómechanizmus, amely lehetővé teszi az operációs rendszer számára, hogy a másodlagos tárolóból a fő memóriába lapok formájában lekérjen folyamatokat. A lapozási módszerben a fő memóriát a fizikai memória kis, rögzített méretű blokkjaira osztják, amelyeket kereteknek neveznek. A keret méretének meg kell egyeznie az oldal méretével a fő memória maximális kihasználása és a külső töredezettség elkerülése érdekében. személyhívó az adatok gyorsabb elérésére szolgál, és ez logikus koncepció.

Mi az a töredezettség?

A folyamatokat a rendszer tárolja és eltávolítja a memóriából, ami szabad memóriaterületet hoz létre, amely túl kicsi ahhoz, hogy más folyamatok használhassák.

Néha azt a folyamatot, amely nem képes memóriablokkokhoz allokálni, mert kis mérete és a memóriablokkok mindig kihasználatlanok maradnak, töredezettségnek nevezzük. Ez a fajta probléma egy dinamikus memóriaallokációs rendszer során fordul elő, amikor a szabad blokkok meglehetősen kicsik, így nem tud semmilyen kérést teljesíteni.

A töredezettségi módszer két típusa:

  1. Külső töredezettség
  2. Belső töredezettség
  • A külső töredezettség csökkenthető a memória tartalmának átrendezésével, hogy az összes szabad memóriát egyetlen blokkban helyezzék el.
  • A belső töredezettség csökkenthető a legkisebb partíció hozzárendelésével, amely még mindig elég jó a teljes folyamat végrehajtásához.

Mi az a szegmentálás?

A szegmentálási módszer szinte hasonlóan működik, mint a lapozás. Az egyetlen különbség a kettő között, hogy a szegmensek változó hosszúságúak, míg a lapozási módszerben az oldalak mindig rögzített méretűek.

Egy programszegmens tartalmazza a program fő funkcióját, adatstruktúrákat, segédfunkciókat stb. Az operációs rendszer szegmensleképezési táblázatot tart fenn az összes folyamathoz. Tartalmazza a szabad memóriablokkok listáját is, méretével, szegmensszámaival és a fő memóriában, ill. virtuális memória.

Mi az a dinamikus betöltés?

A dinamikus betöltés egy program rutinja, amely nem töltődik be, amíg a program meg nem hívja. Minden rutinnak a lemezen kell lennie, áthelyezhető betöltési formátumban. A fő program betöltődik a memóriába és lefut. A dinamikus betöltés jobb memóriahasználatot is biztosít.

Mi az a dinamikus linkelés?

A linkelés egy olyan módszer, amely segít az operációs rendszernek a különböző kód- és adatmodulok összegyűjtésében és egyetlen végrehajtható fájlban való egyesítése során. A fájl betölthető a memóriába és végrehajtható. Az operációs rendszer a rendszerszintű könyvtárakat olyan programba tudja kapcsolni, amely betöltéskor egyesíti a könyvtárakat. A dinamikus linkelési módszerben a programkönyvtárak a végrehajtás során kapcsolódnak össze, így a programkód mérete kicsi maradhat.

Különbség a statikus és a dinamikus terhelés között

Statikus betöltés Dinamikus betöltés
A statikus betöltés akkor használatos, ha statikusan szeretné betölteni a programot. Ezután a fordításkor a teljes program összekapcsolásra kerül és lefordításra kerül anélkül, hogy bármilyen külső modulra vagy programfüggőségre lenne szükség. A dinamikusan betöltött programban a hivatkozások biztosítva lesznek, és a betöltés a végrehajtáskor történik meg.
A betöltéskor a teljes program betöltődik a memóriába, és elindul a végrehajtás. A könyvtár rutinjai csak akkor töltődnek be a memóriába, ha a programban szükség van rájuk.

Különbség a statikus és a dinamikus linkelés között

Íme a fő különbség a statikus és a dinamikus linkelés között:

Statikus összekapcsolás Dinamikus linkelés
A statikus linkelés az összes többi modult, amelyre egy programnak szüksége van, egyetlen végrehajtható kódba egyesítheti. Ez segít az operációs rendszernek megakadályozni a futásidejű függőséget. Dinamikus csatolás használata esetén nem kell a tényleges modult vagy könyvtárat összekapcsolni a programmal. Ehelyett használjon hivatkozást a fordításkor és az összekapcsoláskor megadott dinamikus modulra.

Összegzésként

  • A memóriakezelés a számítógép memóriájának vezérlésének és koordinálásának folyamata, blokknak nevezett részek hozzárendelése a különböző futó programokhoz a rendszer általános teljesítményének optimalizálása érdekében.
  • Lehetővé teszi annak ellenőrzését, hogy mennyi memóriát kell lefoglalni azokhoz a folyamatokhoz, amelyek eldöntik, hogy melyik processzornak mikor kell memóriát kapnia.
  • Egyszeri összefüggő kiosztás esetén a számítógép összes memóriatípusa elérhető egy alkalmazás számára, kivéve az operációs rendszer számára fenntartott kis részt.
  • A particionált allokációs módszer az elsődleges memóriát különböző memóriapartíciókra osztja, amelyek többnyire a memória összefüggő területei
  • A lapozott memóriakezelési módszer a számítógép fő memóriáját fix méretű egységekre osztja, amelyeket oldalkereteknek nevezünk
  • A szegmentált memória az egyetlen memóriakezelési módszer, amely nem biztosít a felhasználó programjának lineáris és összefüggő címteret.
  • A csere egy olyan módszer, amelyben a folyamatot ideiglenesen át kell cserélni a fő memóriából a háttértárba. Később visszakerül a memóriába a folytatáshoz.
  • A memóriafoglalás egy folyamat, amelynek során a számítógépes programok memóriát vagy helyet rendelnek hozzá.
  • A lapozás egy tárolómechanizmus, amely lehetővé teszi az operációs rendszer számára, hogy a másodlagos tárolóból a fő memóriába lapok formájában lekérjen folyamatokat.
  • A töredezettség a lemez azon állapotára utal, amelyben a fájlok a lemez körül szétszórva darabokra vannak osztva.
  • A szegmentálási módszer szinte hasonlóan működik, mint a lapozás. Az egyetlen különbség a kettő között, hogy a szegmensek változó hosszúságúak, míg a lapozási módszerben az oldalak mindig rögzített méretűek.
  • A dinamikus betöltés egy program rutinja, amely nem töltődik be, amíg a program meg nem hívja.
  • A linkelés egy olyan módszer, amely segít az operációs rendszernek a különböző kód- és adatmodulok összegyűjtésében és egyetlen végrehajtható fájlban való egyesítése során.