Különbség a belső és a külső töredezettség között | Internal vs External Fragmentation

Anonim

Belső vs külső töredezettség

A belső és a külső töredezettség közötti különbség számos olyan érdeklődésre számot tartó kérdés, akik a számítógépes ismereteiket javítják. Mielőtt ismerjük ezt a különbséget, meg kell látnunk, mi a széttöredezés. A fragmentáció olyan jelenség, amely a számítógépes memóriában, például a RAM-ban vagy a merevlemezen fordul elő, ami a szabad hely kihasználását és nem hatékony felhasználását okozza. Míg a rendelkezésre álló helyek hatékony kihasználása akadályozott, ez teljesítményproblémákat is okoz. Belső szétdarabolódás akkor fordul elő, ha a memóriaelosztás fix méretű partíción alapul, amikor egy kis méretű alkalmazásnak egy réshez van hozzárendelve, ez a rés maradék szabad helyet veszít. A külső töredezettség akkor következik be, amikor a memória dinamikusan van elosztva, ahol több hely és utána történő be- és kirakodás után a szabad helyet elosztják és nem a folytonosak.

Mi a belső töredezettség?

Tekintsük a fenti ábrát, ahol rögzített méretű memóriaelosztási mechanizmust követünk. Kezdetben a memória üres, és az osztó osztotta a memóriát fix méretű partíciókra. Ezután három, az A, B, C nevű programot töltöttek az első három partícióra, míg a 4. partíció még mindig szabad. Az A program megegyezik a partíció méretével, így a partícióban nincs veszteség, de a B program és a C program kisebbek a partíció méreténél. Tehát részben a 2. és a 3. partíciónak van szabad hely. Ez a szabad terület azonban használhatatlanná válik, mivel a memóriaelosztó csak a teljes partíciókat rendelheti a programokhoz, de nem tartalmaz t részeit. Ezt a szabad területet a belső töredezettségnek hívják.

A fenti példában egyenlő nagyságú fix partíciók vannak, de ez még akkor is előfordulhat, amikor különböző fix méretű partíciók állnak rendelkezésre. Általában a memória vagy a legnehezebb hely olyan blokkokra oszlik, amelyek általában 2, például 2, 4, 8, 16 byte nagyságúak. Tehát egy 3 bájtos programot vagy fájlt rendelünk egy 4 bájtos blokkhoz, de a blokk egy byteja használhatatlanná válik, ami belső fragmentációt okoz.

Mi a külső töredezettség?

Tekintsük a fenti ábrát, ahol a memóriaelosztást dinamikusan végezzük. A dinamikus memóriaelosztásban az allokátor csak a programhoz szükséges pontos méretet osztja ki.Az első memória teljesen ingyenes. Ezután a különböző méretű A, B, C, D és E programokat egymás után tölti be, és a sorrendben egymás után kerülnek a memóriába. Ezután az A program és a C program bezáródik, és a memóriából kirakodnak. Jelenleg három szabad terület van a memóriában, de nem szomszédosak. Most egy nagy program, F program lesz betöltve, de egyik szabad terület blokk sem elég az F programhoz. Az összes szabad terület hozzáadása mindenképpen elégséges az F programhoz, de a szomszédság hiánya miatt ez a terület használhatatlan az F. program számára. Ez a "Külső fragmentáció".

Mi a különbség a belső és a külső töredezettség között?

• A belső töredezettség akkor fordul elő, ha fix méretű memóriaelosztási technikát használnak. A külső töredezettség akkor történik, amikor dinamikus memóriaelosztási technikát használnak.

• Belső szétdarabolódás akkor jelentkezik, ha egy fix méretű partíciót hozzárendel egy olyan programhoz / fájlhoz, amely kisebb méretű, mint a partíció, így a partíció többi részét használhatatlanná teheti. A külső töredezettség miatt elég szomszédos tér hiányzik a programok vagy fájlok betöltése és kirakodása után, mert azután minden szabad terület itt és ott kerül elosztásra.

• A külső töredezés tömörítéssel bontható le, ahol a hozzárendelt blokkokat az egyik oldalra mozgatják, hogy egymáshoz közel kerüljön a tér. Ez a művelet azonban időt vesz igénybe, és bizonyos kritikus fontosságú területeken például a rendszer szolgáltatásai nem mozoghatnak biztonságosan. Megfigyelhetjük ezt a tömörítési lépést a merevlemezeken, amikor a lemezen defragmentáló rendszert futtatunk Windows alatt.

• A külső fragmentáció megakadályozható olyan mechanizmusokkal, mint a szegmentáció és a személyhívás. Itt van egy logikai, összefüggő virtuális memóriahely, míg a valóságban a fájlokat / programokat részekre bontják és ott helyezték el.

• A belső feldarabolódást el lehet csempészni több méretű partícióval, és a legjobb illeszkedésen alapuló program hozzárendeléséhez. Azonban a belső széttagoltság mégsem teljesen megszűnik.

Összefoglaló:

Internal vs External Fragmentation

A belső fragmentáció és a külső töredezettség olyan jelenségek, amelyekben a memória elpazarlódik. A belső töredezettség a fix méretű memóriaelosztásban fordul elő, míg a külső fragmentáció a dinamikus memóriaelosztásban történik. Ha egy hozzárendelt partíciót egy olyan program foglal el, amely kisebb, mint a partíció, akkor a maradék tér elpazarolódik, ami belső fragmentációt okoz. Ha elegendő szomszédos tér nem található a programok betöltése és kirakodása után, mivel itt és ott szabad tér van elosztva, ez külső töredezettséget okoz. Fragmentáció történhet bármilyen memóriaeszközön, például RAM, merevlemez és flash meghajtók esetén.