logo

Memóriakezelés az operációs rendszerben (OS)

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.

Memóriakezelés

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
Memóriakezelés

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.