Memóriakezelés operációs rendszerben: összefüggő, csere, töredezettség

Tartalomjegyzék:

Anonim

Mi az a memóriakezelés?

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

Ez 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ási lemez között előre és hátra mozogni. Segít az operációs rendszernek nyomon követni minden memóriahelyet, függetlenül attól, hogy valamilyen folyamathoz van-e hozzárendelve, vagy szabad marad-e.

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

  • Mi az a memóriakezelés?
  • Miért érdemes használni a Memóriakezelést?
  • Memóriakezelési technikák
  • Mi a csere?
  • Mi az a memóriafoglalás?
  • Mi a lapozás?
  • Mi a töredezettség-módszer?
  • Mi a szegmentálás?
  • Mi a dinamikus betöltés?
  • Mi a dinamikus összekapcsolás?
  • Különbség a statikus és a dinamikus terhelés között
  • A statikus és a dinamikus összekapcsolás közötti különbség

Miért érdemes használni a Memóriakezelést?

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

  • Ez lehetővé teszi annak ellenőrzését, hogy mennyi memóriát kell lefoglalni azoknak a folyamatoknak, amelyek eldöntenék, hogy melyik processzornak milyen időpontban kell memóriát kapnia.
  • Nyomon követhető, amikor a készlet felszabadul vagy kiosztatlan. Szerint frissíti az állapotot.
  • Az alkalmazási rutinokhoz rendeli a teret.
  • 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 a memória teljes mértékben kihasználható.

Memóriakezelési technikák

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

Egyetlen összefüggő felosztás

Ez a legegyszerűbb memóriakezelési technika. Ebben a módszerben a számítógép memóriájának minden típusa, kivéve az operációs rendszer számára fenntartott kis részt, egy alkalmazás számára elérhető. Például az MS-DOS operációs rendszer ilyen módon osztja ki a memóriát. A beágyazott rendszer egyetlen alkalmazáson is fut.

Partíciózott kiosztás

Az elsődleges memóriát különféle memóriapartíciókra osztja, amelyek többnyire összefüggő memóriaterületek. Minden partíció tárolja az összes információt egy adott feladathoz vagy munkához. Ez a módszer abból áll, hogy lefoglal egy partíciót egy jobra, amikor elindul, és felosztja, amikor befejeződik.

Lapozott memóriakezelés

Ez a módszer felosztja a számítógép fő memóriáját az oldalkeretek néven ismert fix méretű egységekre. Ez a hardver memóriakezelő egység kereteket képez le, amelyeket oldalanként kell lefoglalni.

Szegmentált memóriakezelés

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

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

Mi a csere?

A csere olyan módszer, amelyben a folyamatot átmenetileg fel kell cserélni a fő memóriáról a háttérraktárra. Később visszahozza 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 az összes felhasználó számára tárolhassa az összes memóriakép másolatát. Ezenkívül képes közvetlen hozzáférést biztosítani ezekhez a memóriaképekhez.

A csere előnyei

Itt vannak a csere fő előnyei / előnyei:

  • Magasabb fokú multiprogramozást kínál.
  • Dinamikus áthelyezést tesz lehetővé. Például, ha a végrehajtás időpontjában a cím-összerendelést alkalmazzák, akkor a folyamatok különböző helyeken cserélhetők. Egyébként fordítási és betöltési időkötések esetén a folyamatokat ugyanarra a helyre kell mozgatni.
  • Segít a memória jobb kihasználásában.
  • A CPU minimális pazarlása a befejezéskor, így könnyebben alkalmazható egy prioritásalapú ütemezési módszerre annak teljesítményének javítása érdekében.

Mi az a memóriafoglalás?

A memóriafoglalás olyan folyamat, amelynek során a számítógépes programoknak memóriát vagy helyet biztosítanak.

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

  1. Kevés memória - Az operációs rendszer ilyen típusú memóriában található.
  2. Nagy 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 oszlik. Minden folyamatot a követelményeknek megfelelően osztanak ki. A partíciók elosztása ideális módszer a belső széttöredezettség elkerülésére.

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

  • First Fit : Ebben a típusban a partíció kiosztásra kerül, amely az első elegendő blokk a fő memória elejétől.
  • Legjobb illesztés: A folyamatot annak a partíciónak osztja ki, amely az első legkisebb partíció az ingyenes partíciók között.
  • Legrosszabb illesztés: A folyamatot a partícióhoz rendeli , amely a legnagyobb elegendő szabadon elérhető partíció a fő memóriában.
  • Next Fit: Ez többnyire hasonló az első Fithez, de ez a Fit az első elegendő partíciót keresi az utolsó kiosztási ponttól.

Mi a lapozás?

A személyhívás olyan tárolási mechanizmus, amely lehetővé teszi az operációs rendszer számára, hogy oldalak formájában beolvassa a folyamatokat a másodlagos tárolóból a fő memóriába. A személyhívási módszerben a fő memória a fizikai memória kis, rögzített méretű blokkjaira oszlik, amelyeket kereteknek nevezünk. A keret méretét meg kell tartani az oldal méretével, hogy maximálisan kihasználhassa a fő memóriát és elkerülje a külső töredezettséget. A személyhívást az adatok gyorsabb eléréséhez használják, és ez logikus fogalom.

Mi a töredezettség?

A folyamatokat tárolják és eltávolítják a memóriából, ami szabad memóriaterületet hoz létre, amely túl kicsi ahhoz, hogy más folyamatok felhasználhassák őket.

Néha azt a folyamatot, amelyet nem lehet lefoglalni a memóriablokkok számára, mivel kis mérete és memóriablokkjai mindig kihasználatlanok maradnak, töredezettségnek nevezzük. Ez a fajta probléma egy dinamikus memória-allokációs rendszer során fordul elő, amikor az ingyenes blokkok meglehetősen kicsiek, ezért nem képes teljesíteni egyetlen kérést sem.

Kétféle töredezettségi módszer a következő:

  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ória egyetlen blokkba kerüljön.
  • A belső töredezettség csökkenthető a legkisebb partíció hozzárendelésével, amely még mindig elég jó az egész folyamat lebonyolításához.

Mi 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 az, 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 programszegmens magában foglalja a program fő funkcióját, adatszerkezetét, segédfunkcióit stb. Az operációs rendszer szegmenstérkép-táblázatot tart fenn az összes folyamathoz. Tartalmaz egy listát a szabad memóriablokkokról, azok méretével, szegmensszámaival és a fő memóriában vagy a virtuális memóriában található memóriahelyeivel együtt.

Mi a dinamikus betöltés?

A dinamikus betöltés egy olyan program rutinja, amelyet addig nem töltenek be, amíg a program nem hívja meg. Minden rutint át kell helyezni a lemezre, áthelyezhető betöltési formátumban. A fő program betöltődik a memóriába, és végrehajtásra kerül. A dinamikus betöltés a memória jobb kihasználását is biztosítja.

Mi a dinamikus összekapcsolás?

A összekapcsolás olyan módszer, amely segíti az operációs rendszert a különféle kód- és adatmodulok összegyűjtésében és egyesítésében egyetlen futtatható fájlban. A fájl betölthető a memóriába és futtatható. Az operációs rendszer összekapcsolhatja a rendszerszintű könyvtárakat egy programba, amely egyesíti a könyvtárakat betöltéskor. A dinamikus összekapcsolási módszerben a könyvtárak végrehajtáskor vannak összekapcsolva, így a programkód mérete kicsi maradhat.

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

Statikus terhelés Dinamikus betöltés
A statikus betöltést akkor alkalmazzák, amikor statikusan szeretné betölteni a programot. Ezután a fordításkor a teljes program összekapcsolódik és összeállítódik, anélkül, hogy bármilyen külső modul vagy programfüggőség kellene hozzá. Egy dinamikusan betöltött programban referenciákat adunk meg, és a betöltés a végrehajtáskor történik.
Betöltéskor a teljes program betöltődik a memóriába, és megkezdi a végrehajtását. A könyvtár rutinjai csak akkor töltődnek be a memóriába, ha azok szükségesek a programhoz.

A statikus és a dinamikus összekapcsolás közötti különbség

Itt a fő különbség a statikus és a dinamikus összekapcsolás között:

Statikus összekapcsolás Dinamikus összekapcsolás
A statikus összekapcsolás segítségével az összes többi modult, amelyre a program szükséges, egyetlen futtatható kódba egyesítik. Ez segít az operációs rendszernek megakadályozni a futásidejű függőséget. Dinamikus összekapcsolás használata esetén nem szükséges összekapcsolni a tényleges modult vagy könyvtárat a programmal. Ehelyett használjon hivatkozást a dinamikus modulra, amelyet a fordítás és összekapcsoláskor adtak meg.

Összegzés:

  • A memóriakezelés a számítógép memóriájának vezérlése és összehangolása, a blokkoknak nevezett részek hozzárendelése különböző futó programokhoz a rendszer általános teljesítményének optimalizálása érdekében.
  • Ez lehetővé teszi annak ellenőrzését, hogy mennyi memóriát kell lefoglalni azoknak a folyamatoknak, amelyek eldöntenék, hogy melyik processzornak milyen időpontban kell memóriát kapnia.
  • Az Egységes összefüggő allokációban a számítógép memóriája minden típusú, kivéve az operációs rendszer számára fenntartott kis részt, egy alkalmazás számára elérhető
  • A particionált allokációs módszer az elsődleges memóriát különféle memóriapartíciókra osztja fel, amelyek többnyire összefüggő memóriaterületek
  • Az oldalazott memóriakezelési módszer felosztja a számítógép fő memóriáját az oldalkeretek néven ismert fix méretű egységekre
  • A szegmentált memória az egyetlen memóriakezelési módszer, amely nem biztosítja a felhasználó programjának lineáris és összefüggő címteret.
  • A csere olyan módszer, amelyben a folyamatot átmenetileg fel kell cserélni a fő memóriáról a háttérraktárra. Később visszahozza a memóriába a folytatáshoz.
  • A memóriafoglalás olyan folyamat, amelynek során a számítógépes programoknak memóriát vagy helyet biztosítanak.
  • A személyhívás olyan tárolási mechanizmus, amely lehetővé teszi az operációs rendszer számára, hogy oldalak formájában beolvassa a folyamatokat a másodlagos tárolóból a fő memóriába.
  • A töredezettség egy olyan lemez állapotára vonatkozik, amelyben a fájlok a lemez körül szétszórt darabokra vannak felosztva.
  • 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 az, 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 olyan program rutinja, amelyet addig nem töltenek be, amíg a program nem hívja meg.
  • A összekapcsolás olyan módszer, amely segíti az operációs rendszert a különféle kód- és adatmodulok összegyűjtésében és egyesítésében egyetlen futtatható fájlban.