Ajánlott, 2024

Szerkesztő Választása

Különbség a szembetűnő és nem egymás melletti memóriaelosztás között

A memória bájtok nagy tömbje, ahol minden bájtnak saját címe van. A memóriaelosztás két módszerre osztható össze: a memóriák egymás melletti elosztása és a nem egymás melletti memóriaelosztás. A lényeges különbség az egymás melletti és nem egymás melletti memóriák elosztása között az, hogy az egymás melletti memória allokáció a memória egymást követő blokkjait a memóriát kérő folyamathoz hozzárendeli, míg a nem- egymás utáni memóriaelosztás a különálló memóriablokkokat a memóriahely különböző helyén, nem egymást követő módon hozza létre. a memóriát kérő folyamat. Az alábbiakban bemutatott összehasonlító táblázat segítségével néhány további különbséget fogunk megvitatni a egymás melletti és a nem összefüggő memóriaelosztás között.

Összehasonlító táblázat

Az összehasonlítás alapjaKapcsolódó memóriaelosztásNem egymás melletti memóriaelosztás
AlapvetőA folyamatot egymást követő blokkokat osztja fel.A folyamathoz külön memóriablokkot rendel.
Általános költségekA szomszédos memóriaelosztás nem rendelkezik a címfordítás fölött, miközben egy folyamatot végrehajt.A nem-összehangolt memóriaelosztás a címfordítás fölött jár egy folyamat végrehajtása közben.
Végrehajtási arányA folyamat fatser-t hajt végre egymás melletti memóriaelosztásbanEgy folyamat viszonylag lassúbb, ha nem memóriában van.
MegoldásA memóriaterületet a fix méretű partícióra kell osztani, és minden partíció csak egyetlen folyamatra van felosztva.Ossza meg a folyamatot több blokkba, és helyezze őket a memória különböző részeire a rendelkezésre álló memóriaterület szerint.
asztalA táblát az operációs rendszer tartja fenn, amely fenntartja a rendelkezésre álló és elfoglalt partíciók listáját a memóriaterületenMinden egyes folyamathoz egy táblát kell fenntartani, amely minden egyes blokk alapcímeit hordozza, amelyet a memóriában lévő folyamat során szerzett.

A szomszédos memóriamegosztás meghatározása

Az operációs rendszert és a felhasználó eljárásait mind a fő memóriában kell elhelyezni. Ezért a fő memória két partícióra van osztva : az egyik partíción az operációs rendszer található, és más esetben a felhasználói folyamatok. A szokásos körülmények között a több felhasználói folyamatnak egyidejűleg a memóriában kell tartózkodnia, ezért fontos figyelembe venni a memória elosztását a folyamatokhoz.

A memória elosztásának egyik módja az egymás melletti memóriaelosztás. Ha a memóriához folyamodó folyamatkérések vannak, akkor a memóriablokkok egymás mellé rendelt részében a memóriablokkok egyetlen, egymással szomszédos része van hozzárendelve a folyamathoz a követelménynek megfelelően.

Az egymás melletti memóriaelosztást úgy érhetjük el, hogy a memóriát a fix méretű partícióra osztjuk, és mindegyik partíciót csak egyetlen folyamatra osztjuk. Ez azonban a többprogramozás mértékét, a memóriában végzett rögzített partíciók számát korlátozza. A folytonos memóriaelosztás a belső fragmentációhoz is vezet. Hasonlóképpen, ha egy folyamathoz hozzárendelt rögzített méretű memóriablokk valamivel nagyobb, mint a követelmény, akkor a blokkban lévő memóriaterületet a belső töredezettségnek nevezzük. Amikor a partícióban lévõ folyamat megszünteti a partíciót, a másik folyamat számára elérhetővé válik.

A változó partíciós rendszerben az operációs rendszer egy olyan táblázatot tart fenn, amely jelzi, hogy a memória mely partíciója szabad és melyeket a folyamatok foglalnak el. A szomszédos memóriaelosztás megnöveli a folyamat végrehajtását a címfordítások általános költségeinek csökkentésével.

Meghatározás Nem összefüggő memóriaelosztás

A nem-összefüggő memóriaelosztás lehetővé teszi a folyamat számára, hogy a memóriában lévő különböző memóriablokkok megszerzését az igényének megfelelően. A nem egymás melletti memóriaelosztás csökkenti a belső és külső töredezettség miatt okozott memóriaveszteséget . A belső és külső töredezettség során létrehozott memória lyukakat használva.

A lapozás és a szegmentálás a két módszer, amely lehetővé teszi, hogy a folyamat fizikai címterülete ne legyen összefüggő. A nem egymás melletti memóriaelosztásban a folyamat blokkokra (oldalakra vagy szegmensekre) oszlik, amelyek a memóriaterület különböző területeire helyezkednek el a memória rendelkezésre állása szerint.

A nem-összefüggő memóriaelosztás előnye, hogy csökkenti a memóriaveszteséget, de növeli a címfordítások általános költségeit . Mivel a folyamat egyes részei a memóriában egy másik helyen helyezkednek el, lassítja a memória végrehajtását, mivel az idő a címfordítás során elfogy.

Itt az operációs rendszernek meg kell tartania a táblázatot minden egyes folyamathoz, amely tartalmazza az egyes blokkok alapcímét, amelyet a folyamat a memóriaterületen szerez.

Kulcsfontosságú különbségek az egymás melletti és nem-egymás melletti memóriaelosztás között

  1. Az egymás melletti és nem egymás melletti memóriaelosztás közötti különbség az, hogy a szomszédos allokáció egyetlen folyamatos memóriablokkot oszt meg a folyamatnak, míg a nem-hozzárendelt elosztás a folyamatot több blokkra osztja, és a memóriában a különböző címterekbe helyezi, azaz nem egymás mellé. .
  2. A folyamatos memóriaelosztásban a folyamatot egymás melletti memóriaterületen tároljuk; így a végrehajtás során nincs a címfordítás . De a nem-egymás melletti memóriák elosztása során a folyamat-végrehajtás során a címfordítások fölött vannak, mivel a folyamatblokkok a memóriaterületen terjednek.
  3. A szomszédos memóriában tárolt folyamat gyorsabban hajtódik végre, összehasonlítva a nem tároló memóriában tárolt eljárással.
  4. A folyamatos memóriaelosztás megoldása az, hogy a memóriaterületet a fix méretű partícióra osztja, és csak egy folyamatra osztja fel a partíciót. Másrészről, a nem konvertáló memóriaelosztásban a folyamat több blokkra oszlik, és minden blokk a memória rendelkezésre állása szerint különböző helyeken helyezhető el a memóriában.
  5. A folyamatos memóriaelosztásban az operációs rendszernek olyan táblát kell fenntartania, amely jelzi, hogy melyik partíció áll rendelkezésre a folyamat számára, és amelyet a folyamat foglal el. A nem egymás melletti memóriák elosztása során minden egyes folyamathoz egy táblázatot tartunk fenn, amely jelzi a memóriaterületen elhelyezett folyamat minden egyes blokkjának alapcímét.

Következtetés:

Az egymás melletti memóriaelosztás nem hoz létre többletköltséget, és meggyorsítja a folyamat végrehajtási sebességét, de növeli a memóriaveszteséget . A nemkapcsolódó memóriaelosztás viszont a címfordítás többletköltségét hozza létre, csökkenti a folyamat végrehajtási sebességét, de növeli a memóriahasználatot . Tehát mindkét elosztási módszer előnyei és hátrányai vannak.

Top