Ero sisäisen ja ulkoisen pirstoutumisen välillä on aihe, joka kiinnostaa monia, jotka haluavat parantaa tietokonetietoaan. Ennen kuin tiedät tämän eron, meidän on selvitettävä, mikä on pirstoutuminen. Hajanaisuus on ilmiö, joka esiintyy tietokoneen muistissa, kuten RAM-muistissa tai kiintolevyissä, mikä aiheuttaa tyhjennystä ja tehotonta vapaan tilan käyttöä. Vaikka käytettävissä olevan tilan tehokas käyttö on estetty, tämä aiheuttaa myös suorituskykyongelmia. Sisäinen pirstoutuminen tapahtuu, kun muistin allokointi perustuu kiinteän kokoisiin osioihin, joissa sen jälkeen kun pienikokoinen sovellus on osoitettu paikkaan, kyseisen välin jäljellä oleva vapaa tila menetetään. Ulkoinen pirstoutuminen tapahtuu, kun muisti on allokoitu dynaamisesti, kun useiden paikkojen lastaamisen ja purkamisen jälkeen täällä ja täällä vapaata tilaa jaetaan sen sijaan, että se olisi vierekkäinen.
Mieti yllä olevaa kuvaa, jossa kiinteän kokoisen muistin allokointimekanismia noudatetaan. Aluksi muisti on tyhjä ja allokoija on jakanut muistin kiinteän kokoisiksi osioiksi. Sitten myöhemmin kolme ohjelmaa nimeltä A, B, C on ladattu kolmeen ensimmäiseen osioon, kun taas neljäs osio on edelleen vapaa. Ohjelma A vastaa osion kokoa, joten siinä ei ole hukkaa, mutta ohjelma B ja ohjelma C ovat osiota pienempiä. Joten osittain ition 2 ja osio 3 on jäljellä tilaa. Tätä vapaata tilaa ei kuitenkaan voida käyttää, koska muistinjakaja osoittaa vain kokonaiset osiot ohjelmille, mutta ei t osia siitä. Tätä vapaan tilan hukkaa kutsutaan sisäiseksi pirstoutumiseksi.
Yllä olevassa esimerkissä se on samankokoisia kiinteitä osioita, mutta tämä voi tapahtua jopa tilanteessa, jossa käytettävissä on erikokoisia kiinteitä osioita. Yleensä muisti tai vaikein tila jaetaan lohkoihin, joiden koko on yleensä 2, kuten 2, 4, 8, 16 tavua. Joten ohjelma tai 3 tavun tiedosto osoitetaan 4 tavun lohkolle, mutta yhden tavun kyseisestä lohkosta tulee käyttökelvoton aiheuttaen sisäistä pirstoutumista.
Mieti yllä olevaa kuvaa, jossa muistin allokointi tapahtuu dynaamisesti. Dynaamisessa muistin allokoinnissa allokaattori varaa vain täsmälleen tarvittavan koon kyseiselle ohjelmalle. Ensimmäinen muisti on täysin ilmainen. Sitten erikokoiset ohjelmat A, B, C, D ja E ladataan peräkkäin ja asetetaan muistiin jatkuvasti samassa järjestyksessä. Sitten myöhemmin ohjelma A ja ohjelma C sulkeutuvat ja ne puretaan muistista. Nyt muistissa on kolme vapaata tilaa, mutta ne eivät ole vierekkäin. Nyt ladataan suuri ohjelma nimeltä Program F, mutta kumpikaan vapaasta tilasta ei riitä ohjelmalle F. Kaikkien vapaiden tilojen lisääminen on ehdottomasti riittävä ohjelmalle F, mutta naapuruuden puutteen vuoksi tila on riittävä. käyttökelvoton ohjelmalle F. Tätä kutsutaan ulkoiseksi pirstoutumiseksi.
• Sisäinen sirpaloituminen tapahtuu, kun kiinteän koon muistin allokointitekniikkaa käytetään. Ulkoinen pirstoutuminen tapahtuu, kun käytetään dynaamista muistin allokointitekniikkaa.
• Sisäinen pirstoutuminen tapahtuu, kun kiinteän koon osio on osoitettu ohjelmalle / tiedostolle, jonka koko on pienempi kuin osiolle, mikä tekee loput tilan kyseisestä osiosta käyttökelvoton. Ulkoinen pirstoutuminen johtuu siitä, että vierekkäistä tilaa ei ole tarpeeksi ohjelmien tai tiedostojen lataamisen ja purkamisen jälkeen jonkin aikaa, koska silloin kaikki vapaa tila jakautuu täällä.
• Ulkoinen pirstoutuminen voidaan vähentää tiivistämällä, kun osoitetut lohkot siirretään toiselle puolelle, jotta saadaan aikaan vierekkäistä tilaa. Tämä toiminta vie kuitenkin aikaa, eikä myöskään tiettyjä kriittisiä osoitettuja alueita, esimerkiksi järjestelmäpalveluita, voida siirtää turvallisesti. Voimme tarkkailla tätä kiintolevyillä suoritettua tiivistämisvaihetta ajaessaan levyn eheytysohjelmaa Windowsissa.
• Ulkoinen pirstoutuminen voidaan estää sellaisilla mekanismeilla kuin segmentointi ja sivut. Tässä annetaan looginen vierekkäinen virtuaalimuisti, kun tosiasiassa tiedostot / ohjelmat jaetaan osiin ja sijoitetaan tänne.
• Sisäinen pirstoutuminen voidaan houkutella pitämällä usean kokoisia osioita ja osoittamalla ohjelma parhaan sopivuuden perusteella. Sisäinen pirstoutuminen ei kuitenkaan ole vielä täysin poistunut.
Yhteenveto:
Sekä sisäinen pirstoutuminen että ulkoinen pirstoutuminen ovat ilmiöitä, joissa muisti menetetään. Sisäinen pirstoutuminen tapahtuu kiinteän koon muistin allokoinnissa, kun taas ulkoinen pirstoutuminen tapahtuu dynaamisessa muistin allokoinnissa. Kun varattua osiota käyttää osiota pienempi ohjelma, jäljellä oleva tila menee hukkaan aiheuttaen sisäistä pirstoutumista. Kun tarpeeksi vierekkäistä tilaa ei löydy ohjelmien lataamisen ja purkamisen jälkeen, johtuen siitä, että vapaata tilaa on jaettu täällä, se aiheuttaa ulkoisen pirstoutumisen. Murtuminen voi tapahtua missä tahansa muistilaitteessa, kuten RAM, kiintolevy ja Flash-asemat.