Erinevus sisemise ja välise killustatuse vahel

Failisüsteemi kontekstis on killustatus salvestusruumi ebaefektiivne kasutamine ühe faili sisu salvestamiseks ketta eri kohtadesse, mitte ühe külgneva bittide jada asemel ühte kohta. Killustumine on loodusnähtus, mis toimub füüsiliselt kõvakettal või mõnikord mälumoodulis, kui andmeid pole draivile piisavalt täpselt kirjutatud.

Andmed kirjutatakse mõnikord korrast ära, see tähendab, et faile ei kasutata sageli failide sagedase kasutamise tõttu. Neid andmeid nimetatakse fragmentideks. Mingil hetkel peaks operatsioonisüsteem pääsema failisüsteemi juurde, et leida, kus erinevad killud draivil asuvad.

Näiteks öelge uue dokumendi loomisel sõnafail; fail näib olevat ühes kohas. Saate faili avada, seda muuta või kustutada - mida iganes soovite. Tundub, et kõik tegevused toimuvad füüsiliselt sõidu ajal, vähemalt nii arvate.

Kõvaketas võib küll salvestada failide tükke seadme ühte piirkonda, kuid ülejäänud see asub sõna otseses mõttes mujal salvestusseadmes. Lihtsamalt öeldes viitab killustatus failisüsteemi raisatud salvestusruumile, mis võimaldab luua lünga faili erinevate osade vahel.

Killustumine toimub põhimõtteliselt dünaamilises mälujaotussüsteemis, kuna see reserveeris faili jaoks liiga palju ruumi, mille tulemuseks oli avatud alad selle ümber.

Mis on sisemine killustatus?

See on kuidagi seotud kindla suurusega osadeks jaotamisega. Süsteem eraldab mälu erinevatele programmidele ja protsessidele, jagades need väikesteks plokkideks vastavalt programmi nõuetele. Kuid mõnikord eraldatakse rohkem mälu, kui protsess vajab, mille tulemuseks on liigne mälu raiskamine või kasutamata jätmine.

Näiteks saab mälu programmidele eraldada ainult plokkides, mis jagunevad 4, 8 või 16. Kui protsess nõuab 24 baiti, saab see tavaliselt 32 baiti plokki, ülejääv 8 baiti jäetakse kasutamata. Seega asub kasutamata mälu konkreetses eraldatud kohas ja see on nii väike, et sellele ei saa uut protsessi eraldada, mille tulemuseks on raiskamine. Neid jäätmeid nimetatakse sisemiseks killustatuseks. Tõenäoliselt on ainus viis seda tüüpi killustumist eemaldada dünaamilise mälu jaotamise abil.

Mis on väline killustatus?

Põhimälu moodustab eraldatud mälu osade vahel augud, mis on mis tahes protsessi jaoks liiga väikesed. See on salvestusruumi eraldamise algoritmide negatiivne külg, kui külgnevad kasutamata ruumide plokid ei saa uut taotlust esitada, kuna ruumid on liiga suured mälurakenduse vajaduste jaoks. Lihtsamalt öeldes loovad mittekülgnevad plokid mällu augud, mille tulemuseks on kasutamata salvestusruum, mis asub väljaspool eraldatud piirkondi, mis tähendab, et seda ei saa koos põhimäluga kasutada suuremate mäluülesannete jaoks. Need on lõpuks isoleeritud ja neid ei saa mäluruumist täielikult kõrvaldada. Seda nimetatakse väliseks killustatuseks. Selle saab eemaldada tihendamise teel, mis segab mälu sisu, et kogu vaba mälu kokku panna.

Erinevus sisemise ja välise killustatuse vahel

  1. Põhitõed

Sisemine killustatus:

Sisemine killustatus viitab lisaruumidele, mis lähevad raisku, kui protsessile eraldatakse rohkem mälu kui vaja. Tavaliselt ilmneb see siis, kui programmidele või protsessidele eraldatakse kindla suurusega mäluplokid.

Väline killustatus:

Väline killustatus viitab seevastu kasutamata ruumidele, mis moodustuvad külgnevate mäluplokkide vahel, mis ei asu üksteisega küljes.

  1. Esinemine

Sisemine killustatus:

Vaba ruumi, mis moodustub eraldatud mäluplokis, kui protsessile eraldatud mälu on suurem kui protsessi taotletud mälu, nimetatakse sisemiseks killustatuseks. “Sisemine” viitab suuremates mäluplokkides asuvatele kasutamata baitidele.

Väline killustatus:

Kui põhimälu moodustab augud, mis on mis tahes nõudmise rahuldamiseks liiga väikesed, nimetatakse seda väliseks killustatuseks.

  1. Põhjus

Sisemine killustatus:

Sisemise killustatuse peamine põhjus on mälu jagamine kindla suurusega plokkideks .

Väline killustatus:

Väline killustatus on nähtus, mis ilmneb siis, kui mälu jagatakse erinevate protsesside suuruse põhjal muutuva suurusega plokkideks.

  1. Lahendus

Sisemine killustatus:

Sisemine killustatus on loomulik nähtus, mida saab kõrvaldada dünaamilise mälu jaotamisega, milleks on mäluplokkide osa dünaamiline eraldamine protsessidele nende soovil ja vabastamine, kui neid pole programmi täitmise ajal enam vaja..

Väline killustatus:

Välist killustumist saab teiselt poolt vältida tihendamise, otsimise ja segmentimisega, nii et mälu saab protsessile eraldada mitte külgneval viisil.

Sisemine vs väline killustatus: võrdlusdiagramm

Sisemise ja välise killustatuse kokkuvõte

Nii sisemine kui ka väline killustatus on loodusnähtused, mis on seotud kasutamata mäluruumi või mälu raiskamisega. Sisemine killustatus kannatab mälu ebaefektiivse jaotamise pärast, mis tekib siis, kui protsessile eraldatud mälu on rohkem, kui taotletud, jättes kasutamata ruumi mäluplokki, põhjustades lõpuks sisemise killustumise. Pärast protsessi füüsilisest mälust eemaldamist jaguneb siin ja seal vaba ruumi ning külgnevaid mäluplokke ei leita, põhjustades välist killustumist. Mõlemat nähtust saab siiski vältida. Sisemist killustatust saab vähendada, eraldades mälu protsessidele dünaamiliselt, samas kui välist killustumist saab kõige paremini vältida tihendamise, otsimise ja segmentimisega.