Sisemine vs väline killustumine
Sisemise ja välise killustatuse erinevus pakub huvi paljudele, kellele meeldib oma arvutiteadmisi täiendada. Enne selle erinevuse teadmist peame nägema, mis on killustatus. Killustatus on arvuti mälus esinev nähtus, 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 killustatus tekib siis, kui mälu eraldamine põhineb fikseeritud suurusega vaheseintel, kus pärast pesale väikese rakenduse määramist raisatakse selle pesa järelejää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 selle asemel, et olla külgnev.
Mis on sisemine killustatus?
Mõelge ülaltoodud joonisele, kus järgitakse fikseeritud suurusega mälu jaotamise mehhanismi. Esialgu on mälu tühi ja eraldaja on jaotanud mälu kindla suurusega partitsioonideks. Siis hiljem on kolm esimest partitsiooni laaditud kolm programmi nimega A, B, C, samal ajal kui 4. partitsioon on endiselt vaba. Programm A vastab sektsiooni suurusele, seega pole selles sektsioonis raiskamist, kuid programm B ja C on väiksemad kui sektsiooni suurus. Nii et osades 2 ja 3 on vaba ruumi. See vaba ruum on aga kasutamiskõlbmatu, kuna mälu eraldaja määrab programmidele ainult täielikud partitsioonid, kuid mitte ühtegi selle t osa. Sellist 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 suurus on tavaliselt 2, näiteks 2, 4, 8, 16 baiti. Seega määratakse 4-baidisele plokile programm või 3-baidine fail, kuid selle ploki üks bait muutub kasutuskõlbmatuks, põhjustades sisemist killustumist.
Mis on väline killustatus?
Mõelge ülaltoodud joonisele, kus mälu eraldamine toimub dünaamiliselt. Dünaamilise mälu jaotamisel eraldab eraldaja selle programmi jaoks ainult täpselt vajaliku suuruse. Esimene mälu on täiesti vaba. Seejärel laaditakse üksteise järel erineva suurusega programmid A, B, C, D ja E ning need paigutatakse järjestikku mällu järjest. Seejärel sulgevad programmid A ja C ning need laaditakse mälust maha. Nüüd on mälus kolm vaba ruumi ala, kuid need ei ole külgnevad. Nüüd laaditakse suur programm nimega Programm F, kuid kumbki vaba ruumi plokk ei ole programmi F jaoks piisav. Kõigi vabade ruumide lisamisest programmile F kindlasti piisab, kuid külgnevuse puudumise tõttu on ruumi piisavalt kasutatav programmi F jaoks. Seda nimetatakse väliseks killustumiseks.
Mis vahe on sisemisel ja välisel killustumisel?
• Sisemine killustumine toimub kindla suurusega mälu eraldamise tehnika kasutamisel. Väline killustatus tekib siis, kui kasutatakse dünaamilist mälu eraldamise tehnikat.
• Sisemine killustatus tekib siis, kui fikseeritud suurusega sektsioon määratakse väiksema suurusega programmile / failile kui sektsioon, mis muudab selle sektsiooni ülejäänud ruumi kasutuskõlbmatuks. Väline killustatus tuleneb pärast programmide või failide mõnda aega laadimist ja mahalaadimist piisavalt külgneva ruumi puudumisest, sest siis jaotatakse kogu vaba ruum siia ja sinna.
• Välist killustumist saab tihendada, kui määratud plokid liigutatakse ühele küljele, nii et saadakse külgnev ruum. See operatsioon võtab aega ja ka teatud kriitiliselt määratud alasid, näiteks süsteemiteenuseid, ei saa turvaliselt liigutada. Seda kõvakettal tehtud tihendamisetappi võime jälgida Windowsis kettadefragmenteri käivitamisel.
• Välist killustatust saab vältida selliste mehhanismide abil nagu segmentimine ja lehitsemine. Siin antakse loogiline külgnev virtuaalne mäluruum, samal ajal kui failid / programmid jagatakse osadeks ja paigutatakse siia ja sinna.
• Sisemise killustatuse saab kahjustada, kui teil on mitmes suuruses vaheseinad ja määratakse programm, mis põhineb kõige paremini. Siiski ei ole endiselt sisemist killustatust täielikult kõrvaldatud.
Kokkuvõte:
Sisemine vs väline killustumine
Nii sisemine killustatus kui ka väline killustatus on nähtused, kus mälu on raisatud. Sisemine killustamine toimub fikseeritud suurusega mälu eraldamisel, väline killustamine aga dünaamilise mälu jaotamisel. Kui eraldatud sektsiooni hõivab partitsioonist väiksem programm, raiskab ülejäänud ruum sisemist killustumist. Kui pärast programmide laadimist ja mahalaadimist ei leita piisavalt kõrvuti asetsevat ruumi, põhjustab see vaba ruumi jaotamist siin ja seal, mis põhjustab välist killustumist. Killustumist võib esineda igas mäluseadmes, näiteks RAM-is, kõvakettal ja välkmäluseadmetes.