Soovitatav, 2020

Toimetaja Valik

Erinevus sisemise ja välise killustatuse vahel

Kui protsess laaditakse või eemaldatakse füüsilisest mäluplokist, loob see mälus ruumis väikese augu, mida nimetatakse fragmendiks. Killustumise tõttu ei suuda süsteem eraldada külgnevat mäluruumi protsessile, kuigi tal on nõutav mälumahu, kuid mitte-külgnevalt. Killustatus liigitatakse veelgi kahte kategooriasse: sisemine ja välimine killustatus.

Nii sisemine kui ka väline klassifikatsioon mõjutavad süsteemi andmetele juurdepääsu kiirust. Neil on nende vahel põhiline erinevus, st sisemine killustatus tekib siis, kui fikseeritud suurusega mäluplokid eraldatakse protsessile ilma protsessi suurust puudutamata, ja väline killustumine toimub siis, kui protsessidele eraldatakse mälu dünaamiliselt. Liigume edasi ja arutleme erinevuste, põhjuste, lahenduste eest, mis on sisemise ja välise killustatuse taga allpool toodud võrdluskaardi abil.

Võrdluskaart

Võrdluse alusSisemine killustatusVäline killustatus
PõhilineSee toimub siis, kui protsessidele on määratud fikseeritud suurusega mälu plokid.See toimub siis, kui muutuva suurusega mälu on protsessidele eraldatud dünaamiliselt.
EsinemineKui protsessile määratud mälu on veidi suurem protsessis nõutud mälust, loob see eraldatud plokis vaba ruumi, mis põhjustab sisemist killustumist.Kui protsess mälust eemaldatakse, loob see mälus vaba ruumi, põhjustades välist killustumist.
LahendusMälu tuleb jagada muutuva suurusega plokkideks ja määrata protsessile kõige sobivam plokk.Tihendamine, otsing ja segmentimine.

Sisemise killustatuse määratlus

Sisemine killustumine toimub siis, kui mälu on jagatud fikseeritud suurusega plokkideks . Kui mälu protsessitaotlusele eraldatakse protsessile fikseeritud suurusega plokk. Kui protsessile määratud mälu on mõnevõrra suurem kui nõutav mälu, siis on määratud ja soovitud mälu vahe sisemine killustatus .

Seda fikseeritud suurusega ploki jääkruumi ei saa eraldada ühelegi protsessile, kuna see ei oleks piisav, et rahuldada protsessi nõudmist mälu järele. Mõistagem näiteks sisemise killustatuse näite abil. Mälu on jagatud fikseeritud suurusega plokkideks, mis on 18, 464 baiti. Ütleme, et protsessile eraldatakse protsessitaotlus 18 464 baiti ja eraldatud fikseeritud suurusega plokk 18, 464 baiti. Tulemuseks on 4 baiti 18, 464 baiti jäi tühjaks, mis on sisemine fragmentatsioon.

Sisemise killustatuse tõttu loodud sisemiste aukude jälgimise üldkulud on oluliselt suuremad kui sisemiste aukude arv. Sisemise killustatuse probleemi saab lahendada mälu jaotamise teel muutuva suurusega plokki ja määrata kõige suurema ploki mälu taotleva protsessi jaoks. Siiski ei kõrvalda see täielikult sisemise killustatuse probleemi, kuid vähendab seda teatud määral.

Välise killustatuse määratlus

Väline killustatus tekib siis, kui mälus on piisav hulk ruumi mälupäringu rahuldamiseks. Kuid protsessi mälupäringut ei saa rahuldada, kuna saadaval olev mälu on mittekonkreetne. Kas te rakendate esmalt sobivat või kõige sobivamat mälu jaotamise strateegiat, mis põhjustab välist killustumist.

Kui protsess laetakse ja eemaldatakse mälust, loob vaba ruum mäluruumis augu ja on palju selliseid auke mäluruumis, seda nimetatakse väliseks killustatuseks. Kuigi esimene sobivus ja sobivus võivad mõjutada välise killustatuse suurust, ei saa seda täielikult kõrvaldada. Tihendamine võib olla lahendus välisele killustumisele.

Tihendamisalgoritm segab kogu mälu ühele küljele ja vabastab ühe suure mälu ploki. Kuid tihendamisalgoritm on kallis. On olemas alternatiivne lahendus välise killustatuse probleemi lahendamiseks, mis võimaldab protsessil omandada füüsilist mälu mitte-külgnevalt. Selle lahenduse saavutamiseks kasutatavad meetodid on otsing ja segmentimine.

Peamised erinevused sisemise ja välise killustatuse vahel

  1. Sisemise ja välise killustatuse peamine põhjus on see, et sisemine killustumine toimub siis, kui mälu jaotatakse fikseeritud suurusega plokkideks, samas kui väline killustumine toimub siis, kui mälu on jagatud muutuva suurusega plokkideks .
  2. Kui protsessile eraldatud mälu plokk väljub nõutud mälust veidi suuremaks, siis eraldatud mäluplokis jäänud vaba ruum põhjustab sisemist killustumist. Teisest küljest, kui protsess mälust eemaldatakse, tekitab see vaba ruumi, mis põhjustab mälus mälu, mida nimetatakse väliseks killustatuseks.
  3. Sisemise killustatuse probleemi saab lahendada, jagades mälu muutuva suurusega plokkideks ja määrama taotleva protsessi jaoks kõige sobivama ploki. Välise killustatuse lahendus on aga tihendamine, kuid selle rakendamine on kallis, nii et protsessidel peab olema lubatud füüsilist mälu mitte-külgnevalt omandada, et saavutada otsingu ja segmentimise tehnika.

Järeldus:

Sisemise killustatuse probleemi saab vähendada, kuid seda ei saa täielikult kõrvaldada. Päringu- ja segmenteerimine aitab vabanenud ruumi kasutada välise killustatuse tõttu, võimaldades protsessil mälu mitte-külgnevas viisil hõivata.

Top