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 alus | Sisemine killustatus | Väline killustatus |
---|---|---|
Põhiline | See 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. |
Esinemine | Kui 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. |
Lahendus | Mä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
- 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 .
- 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.
- 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.