Ajánlott, 2023

Szerkesztő Választása

A belső és külső fragmentáció közötti különbség

Amikor a fizikai memóriablokkból betöltünk vagy eltávolítunk egy folyamatot, akkor egy kis lyuk keletkezik a memóriaterületen, amelyet töredéknek hívnak. A töredezettség következtében a rendszer nem képes hozzárendelni a folyamatos memóriaterületet egy folyamathoz, annak ellenére, hogy rendelkezik a kért memóriával, de nem egymással összefüggő módon. A töredezettség további két kategóriába sorolható: belső és külső töredezettség.

Mind a belső, mind a külső osztályozás befolyásolja a rendszer adatátviteli sebességét. Alapvető különbség van közöttük, azaz a belső fragmentáció akkor történik, ha a folyamat méretét nem érintő fix méretű memóriablokkok vannak hozzárendelve a folyamathoz, és a külső fragmentáció akkor következik be, amikor a folyamatokat dinamikusan osztják fel. Lépjünk tovább és vitassuk meg a belső és külső töredezettség mögötti különbségeket, okokat, megoldásokat az alábbi táblázat segítségével.

Összehasonlító táblázat

Az összehasonlítás alapjaBelső töredezettségKülső töredezettség
AlapvetőEz akkor fordul elő, ha a rögzített méretű memóriablokkok a folyamatokhoz vannak hozzárendelve.Ez akkor fordul elő, ha a változó méretű memóriaterület dinamikusan van hozzárendelve a folyamatokhoz.
EseményHa a folyamathoz hozzárendelt memória valamivel nagyobb, mint a folyamat által kért memória, ez szabad teret hoz létre a hozzárendelt blokkban, ami belső fragmentációt okoz.Amikor a folyamatot eltávolítják a memóriából, a szabad helyet hozza létre a memóriában, ami külső fragmentációt eredményez.
MegoldásA memóriát különböző méretű blokkokba kell osztani, és hozzárendelni a folyamathoz legmegfelelőbb blokkot.Tömörítés, lapozás és szegmentálás.

A belső töredezettség meghatározása

A belső töredezettség akkor fordul elő, ha a memória fix méretű blokkokba van osztva. Ha a folyamatra vonatkozó kérelem a memóriához, a fix méretű blokkot hozzárendelik a folyamathoz. Abban az esetben, ha a folyamathoz rendelt memória valamivel nagyobb, mint a kért memória, akkor a hozzárendelt és a kért memória közötti különbség a belső fragmentáció .

Ez a megmaradt tér a fix méretű blokkban nem rendelhető semmilyen folyamathoz, mivel nem lenne elégséges a memória igényének kielégítésére a folyamat során. Megértjük a belső fragmentációt egy példa segítségével. A memóriaterület 18, 464 bájtos rögzített méretű blokkokba van osztva. Tegyük fel, hogy a folyamathoz egy 18.460 bájtos és 18, 464 bájtos osztott fix méretű blokk folyamatkérelmét rendeljük. Az eredmény 4 bájt 18.464 bájt maradt üres, ami a belső fragmentáció.

A belső töredezettség miatt létrejött belső lyuk nyomon követése lényegesen nagyobb, mint a belső lyukak száma. A belső fragmentáció problémája megoldható úgy, hogy a memóriát a változó méretű blokkba osztjuk, és a memóriát kérő folyamathoz hozzárendeljük a legjobb méretű blokkot. Mégis, ez nem fogja teljesen megszüntetni a belső töredezettség problémáját, de bizonyos mértékig csökkenti.

A külső töredezettség meghatározása

A külső fragmentáció akkor következik be, amikor elegendő hely van a memóriában, hogy kielégítse a folyamat memória igényét. A folyamat memóriájának kérése azonban nem teljesíthető, mivel a rendelkezésre álló memória nem egymással összefüggő módon történik. Először illeszkedő vagy legjobban illeszkedő memóriaelosztási stratégiát alkalmaz, amely külső fragmentációt okoz.

Amikor egy folyamatot betöltünk és eltávolítunk a memóriából, a szabad tér létrehozza a memóriában a lyukat, és sok ilyen lyuk van a memóriaterületen, ezt Külső fragmentációnak nevezzük. Bár az első illeszkedés és a legjobb illeszkedés befolyásolhatja a külső töredezettség mértékét, nem lehet teljesen megszüntetni. A tömörítés lehet a külső fragmentáció megoldása.

A tömörítési algoritmus az összes memória tartalmát egy oldalra keveri, és egy nagy memóriablokkot szabadít fel. De a tömörítési algoritmus drága. Van egy alternatív megoldás a külső töredezettség kérdésének megoldására, amely lehetővé teszi, hogy a folyamat fizikai memóriát szerezzen be egymással összefüggő módon. A megoldás eléréséhez szükséges technikák a lapozás és a szegmentálás.

A belső és külső fragmentáció közötti fő különbségek

  1. A belső és külső töredezettség előfordulásának fő oka, hogy a belső töredezettség akkor történik, amikor a memóriát fix méretű blokkokba osztjuk, míg a külső fragmentáció akkor történik, amikor a memóriát változó méretű blokkokba osztjuk .
  2. Ha a folyamathoz hozzárendelt memóriablokk kicsit nagyobb, mint a kért memória, akkor a kijelölt memóriablokkban maradt szabad hely belső fragmentációt okoz. Másrészt, amikor a folyamatot eltávolítják a memóriából, szabad helyet hoz létre, ami a memóriában egy lyukat okoz, amelyet külső fragmentációnak neveznek.
  3. A belső fragmentáció problémája megoldható úgy, hogy a memóriát változó méretű blokkokba osztjuk, és a kérő folyamathoz hozzárendeljük a legmegfelelőbb blokkot. A külső töredezettség megoldása azonban a tömörítés, de költséges a megvalósítás, így a folyamatoknak lehetővé kell tenni, hogy fizikai memóriát szerezzenek nem egymással összefüggő módon, ennek elérése érdekében a lapozás és a szegmentálás technikája kerül bevezetésre.

Következtetés:

A belső töredezettség problémája csökkenthető, de nem lehet teljesen megszüntetni. A lapozás és a szegmentálás segít a külső töredezettség következtében felszabaduló tér kihasználásában azzal, hogy lehetővé teszi, hogy a folyamat a memóriát nem egymással összefüggő módon foglalja el.

Top