Ebben a cikkben részletesen megismerjük a memóriakezelést.
Mit értesz memóriakezelés alatt?
A memória a számítógép fontos része, amely az adatok tárolására szolgál. Kezelése kritikus a számítógépes rendszer számára, mivel a számítógépes rendszerben rendelkezésre álló fő memória nagyon korlátozott. Bármikor sok folyamat verseng érte. Sőt, a teljesítmény növelése érdekében több folyamatot hajtanak végre egyszerre. Ehhez több folyamatot is a fő memóriában kell tartanunk, így még fontosabb ezek hatékony kezelése.
A memóriakezelés szerepe
Az alábbiakban felsoroljuk a memóriakezelés fontos szerepeit egy számítógépes rendszerben:
karakterlánc hozzáfűzése java-ban
- A Memóriakezelő a memóriahelyek állapotának nyomon követésére szolgál, akár szabad, akár lefoglalt. Az elsődleges memóriát úgy kezeli, hogy absztrakciókat biztosít, így a szoftver érzékeli, hogy nagy memória van hozzárendelve.
- A memóriakezelő lehetővé teszi, hogy a kis főmemóriával rendelkező számítógépek a rendelkezésre álló memória méreténél vagy mennyiségénél nagyobb programokat hajtsanak végre. Ezt úgy éri el, hogy az információt oda-vissza mozgatja az elsődleges memória és a másodlagos memória között, a csere fogalmát használva.
- A memóriakezelő felelős azért, hogy megvédje az egyes folyamatokhoz lefoglalt memóriát egy másik folyamat általi károsodástól. Ha ez nem biztosított, akkor a rendszer előre nem látható viselkedést mutathat.
- A memóriakezelőknek lehetővé kell tenniük a memóriaterület megosztását a folyamatok között. Így két program tartózkodhat ugyanazon a memóriahelyen, bár különböző időpontokban.
Memóriakezelési technikák:
A memóriakezelési technikák a következő fő kategóriákba sorolhatók:
- Folyamatos memóriakezelési sémák
- Nem összefüggő memóriakezelési sémák
Folyamatos memóriakezelési sémák:
Egy összefüggő memóriakezelési sémában minden program egyetlen összefüggő tárolóhely-blokkot foglal el, azaz memóriahelyek halmazát egymás után következő címekkel.
szkenner.következő java
Egyetlen összefüggő memóriakezelési sémák:
Az Single contiguous memóriakezelési séma a számítógépes rendszerek legkorábbi generációjában használt legegyszerűbb memóriakezelési séma. Ebben a sémában a fő memória két szomszédos területre vagy partícióra van felosztva. Az operációs rendszerek állandóan az egyik partícióban találhatók, általában az alsó memóriában, és a felhasználói folyamat a másik partícióra töltődik be.
Az egybefüggő memóriakezelési sémák előnyei:
- Egyszerű megvalósítani.
- Könnyen kezelhető és tervezhető.
- Egy összefüggő memóriakezelési sémában egy folyamat betöltése után a processzor teljes idejét kapja, és más processzor nem szakítja meg.
Az egybefüggő memóriakezelési sémák hátrányai:
- Memóriaterület pazarlása a fel nem használt memória miatt, mivel a folyamat valószínűleg nem használja ki az összes rendelkezésre álló memóriaterületet.
- A CPU tétlen marad, és arra vár, hogy a lemez betöltse a bináris képet a fő memóriába.
- Nem hajtható végre, ha a program túl nagy ahhoz, hogy elférjen a teljes rendelkezésre álló fő memóriaterület.
- Nem támogatja a többprogramozást, azaz nem tud egyszerre több programot kezelni.
Több particionálás:
Az egyetlen Contiguous memóriakezelési séma nem hatékony, mivel korlátozza a számítógépeket, hogy egyszerre csak egy programot hajtsanak végre, ami memóriaterület- és CPU-időveszteséget eredményez. A nem hatékony CPU-használat problémája megoldható több programozással, amely lehetővé teszi egynél több program egyidejű futtatását. A két folyamat közötti váltáshoz az operációs rendszereknek mindkét folyamatot be kell tölteniük a fő memóriába. Az operációs rendszernek több részre kell osztania a rendelkezésre álló fő memóriát, hogy több folyamatot betölthessen a fő memóriába. Így a fő memóriában egyszerre több folyamat is tartózkodhat.
A több particionálási séma kétféle lehet:
- Javított particionálás
- Dinamikus particionálás
Javított particionálás
A fő memória több fix méretű partícióra van osztva egy rögzített partíciós memóriakezelési sémában vagy statikus particionálásban. Ezek a válaszfalak lehetnek azonos méretűek vagy különböző méretűek. Minden partíció egyetlen folyamatot tartalmazhat. A partíciók száma határozza meg a többprogramozás mértékét, azaz a memóriában lévő folyamatok maximális számát. Ezek a partíciók a rendszer generálásakor készülnek, és ezután is rögzítettek maradnak.
bővíthet-e egy osztály több osztályt
A rögzített particionálású memóriakezelési sémák előnyei:
- Egyszerű megvalósítani.
- Könnyen kezelhető és tervezhető.
A rögzített particionálású memóriakezelési sémák hátrányai:
- Ez a rendszer belső széttagoltságtól szenved.
- A partíciók száma a rendszer generálásakor van megadva.
Dinamikus particionálás
A dinamikus particionálást a rögzített particionálási séma problémáinak leküzdésére tervezték. A dinamikus particionálási sémában az egyes folyamatok csak annyi memóriát foglalnak el, amennyire a feldolgozáshoz betöltve szükségük van. A kért folyamatoknak memóriát foglalnak le mindaddig, amíg a teljes fizikai memória ki nem merül, vagy a fennmaradó hely nem elegendő a kérési folyamat megtartásához. Ebben a sémában a használt partíciók változó méretűek, és a partíciók száma nincs meghatározva a rendszer generálása során.
A dinamikus particionálás memóriakezelési sémák előnyei:
- Egyszerű megvalósítani.
- Könnyen kezelhető és tervezhető.
A dinamikus particionálás memóriakezelési sémáinak hátrányai:
- Ez a rendszer is szenved a belső széttagoltságtól.
- A partíciók száma a rendszerszegmentáláskor van megadva.
Nem összefüggő memóriakezelési sémák:
A Non-Contiguous memóriakezelési sémában a program különböző blokkokra van felosztva, és a memória különböző részein töltődik be, amelyeknek nem kell feltétlenül egymás mellett lenniük. Ez a séma a blokkok méretétől és attól függően osztályozható, hogy a blokkok a fő memóriában vannak-e vagy sem.
Mi az a lapozás?
A lapozás egy olyan technika, amely kiküszöböli a fő memória folyamatos lefoglalásának követelményeit. Ebben a fő memória a fizikai memória rögzített méretű blokkjaira, úgynevezett keretekre van felosztva. A fő memória maximalizálása és a külső töredezettség elkerülése érdekében a keret méretét meg kell tartani az oldal méretével.
A lapozás előnyei:
hogyan frissíthetem a java-t
- Az oldalak csökkentik a külső töredezettséget.
- Egyszerű megvalósítani.
- Hatékony memória.
- A keretek egyenlő méretének köszönhetően a csere nagyon egyszerűvé válik.
- Az adatok gyorsabb elérésére szolgál.
Mi az a szegmentálás?
A szegmentálás egy olyan technika, amely kiküszöböli a fő memória folyamatos lefoglalásának követelményeit. Ebben a fő memória a fizikai memória változó méretű blokkjaira, úgynevezett szegmensekre van felosztva. Azon alapul, ahogyan a programozó követi a programjait. A szegmentált memóriakiosztással minden feladat több különböző méretű szegmensre van felosztva, mindegyik modulhoz egy-egy. A függvények, szubrutinok, verem, tömb stb. példák az ilyen modulokra.