Erinevus sisemise ja välise killustatuse vahel

Sisemine vs väline killustatus
 

Sisemise ja välise killustatuse erinevus on teema, mis huvitab paljusid, kellele meeldib oma arvutiteadmisi täiendada. Enne selle erinevuse teada saamist peame vaatama, mis on killustatus. Killustumine on nähtus, mis ilmneb arvutimälus, näiteks muutmälu (RAM) või kõvakettad, mis põhjustab vaba ruumi raiskamist ja ebaefektiivset kasutamist. Kuigi vaba ruumi tõhus kasutamine on takistatud, põhjustab see ka jõudlusprobleeme. Sisemine killustumine toimub siis, kui mälu eraldamine põhineb kindla suurusega partitsioonidel, kus pärast pesale väikesemahulise rakenduse omistamist raisatakse selle pesa ülejäänud vaba ruum. Väline killustumine toimub siis, kui mälu on dünaamiliselt jaotatud, kus pärast mitme pesa siia-sinna laadimist ja mahalaadimist jaotatakse vaba ruumi, mitte et see oleks külgnev.

Mis on sisemine killustatus?

Mõelge ülaltoodud joonisele, kus järgitakse kindla suurusega mälu jaotamise mehhanismi. Esialgu on mälu tühi ja allokaator on mälu jaganud kindla suurusega sektsioonideks. Hiljem on kolm programmi A, B, C nimega laaditud esimesse kolme partitsiooni, samas kui 4. partitsioon on endiselt vaba. Programm A vastab partitsiooni suurusele, seega pole selles partitsioonis raiskamist, kuid Programm B ja Programm C on partitsiooni suurusest väiksemad. Nii et osaliselt itioonis 2 ja partitsioonis 3 on veel vaba ruumi. See vaba ruum on aga kasutamatu, kuna mälu eraldaja eraldab programmidele ainult täielikud partitsioonid, kuid mitte ühtegi selle osa. Seda vaba ruumi raiskamist nimetatakse sisemiseks killustatuseks.

Ülaltoodud näites on tegemist võrdse suurusega fikseeritud vaheseintega, kuid see võib juhtuda isegi olukorras, kus saadaval on erineva fikseeritud suurusega vaheseinad. Tavaliselt jagatakse mälu või kõige raskem ruum plokkideks, mille võimsus on tavaliselt 2, näiteks 2, 4, 8, 16 baiti. Niisiis omistatakse programm või 3 baiti fail 4-baidisele plokile, kuid selle ploki üks bait muutub kasutamiskõlbmatuks, põhjustades sisemise killustumise.

Mis on väline killustatus?

Mõelge ülaltoodud joonisele, kus mälu jaotamine toimub dünaamiliselt. Dünaamilise mälu jaotamisel eraldab alloator eraldiseisva programmi jaoks täpselt vajaliku suuruse. Esimene mälu on täiesti vaba. Seejärel laaditakse erineva suurusega programmid A, B, C, D ja E üksteise järel ja paigutatakse mällu külgnevas järjestuses. Seejärel suletakse programm A ja programm C ning need laaditakse mälust. Nüüd on mälus kolm vaba ruumi ala, kuid need pole külgnevad. Nüüd laaditakse suur programm nimega Program F, kuid kumbki vaba ruumi plokk ei ole Programmi F jaoks piisav. Programmi F jaoks piisab kindlasti kõigi vabade ruumide lisamisest, kuid naabruskonna puudumise tõttu on ruumi ka programmi F. jaoks kasutamiskõlbmatu. Seda nimetatakse väliseks killustatuseks.

Mis vahe on sisemisel ja välimisel killustatusel??

• Sisemine killustumine toimub kindla suurusega mälu eraldamise tehnika kasutamisel. Väline killustumine toimub dünaamilise mälu jaotamise tehnika kasutamisel.

• Sisemine killustumine toimub siis, kui kindlale suurusega sektsioon on määratud väiksema suurusega programmile / failile kui partitsioon, muutes ülejäänud selle partitsiooni ruumi kasutamiskõlbmatuks. Väline killustatus on tingitud sellest, et pärast programmide või failide mõnda aega laadimist ja mahalaadimist pole piisavalt külgnevat ruumi, sest siis jaotatakse kogu vaba ruum siin-seal.

• Välist killustatust saab tihendada, kui määratud plokid viiakse ühele küljele, nii et saadakse külgnev ruum. See toiming võtab aga aega ja ka teatud kriitiliselt määratud alasid, näiteks süsteemiteenuseid, ei saa turvaliselt teisaldada. Seda kõvaketastel tehtud tihendamise sammu saame jälgida kettadefragmentori käivitamisel Windowsis.

• Välist killustatust saab ära hoida selliste mehhanismide abil nagu segmenteerimine ja otsimine. Siin antakse loogiline külgnev virtuaalne mäluruum, samas kui failid / programmid jagatakse osadeks ja paigutatakse siia ja sinna.

• Sisemist killustumist saab vähendada, kui teil on erineva suurusega vaheseinad ja määrake programm kõige paremini sobivuse järgi. Siiski pole sisemine killustatus veel täielikult kõrvaldatud.

Kokkuvõte:

Sisemine vs väline killustatus

Nii sisemine killustumine kui ka väline killustumine on nähtused, kus mälu raisatakse. Sisemine killustumine toimub kindla suurusega mälu eraldamisel, välimine killustumine toimub dünaamilisel mälu jaotamisel. Kui eraldatud sektsiooni hõivab partitsioonist väiksem programm, raisatakse järelejäänud ruumi, põhjustades sisemise killustumise. Kui pärast programmide laadimist ja mahalaadimist ei leita piisavalt külgnevat ruumi, põhjustab vaba ruumi jaotumine siin ja seal killustumist. Killustik võib esineda kõigis mäluseadmetes nagu RAM, kõvaketas ja välkmälud.