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
- Kevés memória - Az operációs rendszer ilyen típusú memóriában található.
- 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ő:
- Külső töredezettség
- 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.