Suositeltava, 2024

Toimituksen Valinta

Sisäisen ja ulkoisen pirstoutumisen välinen ero

Aina kun prosessi ladataan tai poistetaan fyysisestä muistilohkosta, se luo pienen aukon muistitilaan, jota kutsutaan fragmentiksi. Hajanaisuuden takia järjestelmä ei kykene jakamaan vierekkäistä muistitilaa prosessille, vaikka sillä on pyydetty määrä muistia, mutta ei-vierekkäisellä tavalla. Hajanaisuus luokitellaan edelleen kahteen ryhmään: sisäinen ja ulkoinen hajoaminen.

Sekä sisäinen että ulkoinen luokitus vaikuttavat järjestelmän tiedonsiirtonopeuteen. Niillä on peruserot niiden välillä eli sisäinen pirstoutuminen tapahtuu, kun kiinteän kokoiset muistilohkot on allokoitu prosessille ilman prosessin kokoa, ja ulkoinen pirstoutuminen tapahtuu, kun prosessit allokoidaan muistia dynaamisesti. Siirrymme edelleen keskustelemaan eroista, syistä, ratkaisuista, jotka ovat sisäisen ja ulkoisen pirstoutumisen takana, alla olevan vertailukaavion avulla.

Vertailukaavio

Vertailun perusteetSisäinen hajoaminenUlkoinen pirstoutuminen
perustiedotSe tapahtuu, kun prosesseihin kohdistetaan kiinteän kokoisia muistilohkoja.Se tapahtuu, kun muuttuvan koon muistitila on varattu prosesseille dynaamisesti.
esiintyminenKun prosessille osoitettu muisti on hieman suurempi kuin prosessin pyytämä muisti, tämä luo varattuun lohkoon vapaan tilan, joka aiheuttaa sisäistä pirstoutumista.Kun prosessi poistetaan muistista, se luo muistiin vapaan tilan, joka aiheuttaa ulkoisen pirstoutumisen.
RatkaisuMuisti on jaettava muuttuviin kokoisiin lohkoihin ja osoitettava prosessille paras sovituslohko.Tiivistys, haku ja segmentointi.

Sisäisen hajoamisen määritelmä

Sisäinen pirstoutuminen tapahtuu, kun muisti jaetaan kiinteän kokoisiin lohkoihin . Aina kun prosessin pyyntö muistia varten, kiinteä kokoinen lohko on allokoitu prosessille. Jos prosessiin osoitettu muisti on jonkin verran suurempi kuin pyydetty muisti, sitten määritetyn ja pyydetyn muistin välinen ero on sisäinen pirstoutuminen .

Tätä kiinteän kokoisen lohkon sisällä olevaa jäljelle jäävää tilaa ei voida kohdistaa mihinkään prosessiin, koska se ei riittäisi täyttämään prosessin pyynnön muistiin. Ymmärrämme sisäisen pirstoutumisen esimerkin avulla. Muistitila jaetaan kiinteän kokoisiin lohkoihin, jotka ovat 18, 464 tavua. Sanotaanpa prosessipyyntö 18.460 tavua ja 18, 464 tavun ositettua kiinteäkokoista lohkoa kohdennetaan prosessiin. Tuloksena on 4 tavua 18, 464 tavua pysyi tyhjänä, mikä on sisäinen fragmentaatio.

Sisäisen rakenteen aiheuttama sisäisen reiän seuranta on huomattavasti enemmän kuin sisäisten reikien määrä. Sisäisen pirstoutumisen ongelma voidaan ratkaista jakamalla muisti muuttuvan kokoiseksi lohkoksi ja määrittelemällä parhaan kokoinen lohko muistia pyytävälle prosessille. Se ei kuitenkaan täysin poista sisäisen pirstoutumisen ongelmaa, vaan vähentää sitä jossain määrin.

Ulkoisen hajoamisen määritelmä

Ulkoinen pirstoutuminen tapahtuu, kun muistissa on riittävästi tilaa prosessin muistipyynnön tyydyttämiseksi. Mutta prosessin muistin pyyntöä ei voida tyydyttää, koska käytettävissä oleva muisti on ei-vierekkäisellä tavalla. Käytätkö joko ensikäyttöistä tai parhaiten sopivaa muistin jakamisstrategiaa, se aiheuttaa ulkoista pirstoutumista.

Kun prosessi ladataan ja poistetaan muistista, vapaa tila luo aukon muistitilaan, ja muistitilassa on monia tällaisia ​​reikiä, tätä kutsutaan ulkoiseksi fragmentoinniksi. Vaikka ensimmäinen sovitus ja paras sovitus voivat vaikuttaa ulkoisen pirstoutumisen määrään, sitä ei voida täysin poistaa. Tiivistys voi olla ratkaisu ulkoiseen pirstoutumiseen.

Tiivistysalgoritmi sekoittaa kaiken muistin sisällön yhdelle puolelle ja vapauttaa yhden suuren muistilohkon. Mutta tiivistysalgoritmi on kallista. On olemassa vaihtoehtoinen ratkaisu ulkoisen pirstoutumisongelman ratkaisemiseen, joka mahdollistaa prosessin fyysisen muistin hankkimiseksi ei-vierekkäisellä tavalla. Tekniikat tämän ratkaisun saavuttamiseksi ovat haku ja segmentointi.

Sisäisen ja ulkoisen pirstoutumisen keskeiset erot

  1. Sisäisen ja ulkoisen pirstoutumisen esiintymisen perimmäinen syy on, että sisäinen pirstoutuminen tapahtuu, kun muisti jaetaan kiinteän kokoisiin lohkoihin, kun taas ulkoinen fragmentaatio tapahtuu, kun muisti jaetaan muuttuviin kokolohkoihin .
  2. Kun prosessille osoitettu muistilohko tulee hieman suuremmaksi kuin pyydetty muisti, niin varattuun muistilohkoon jäljellä oleva vapaa tila aiheuttaa sisäistä pirstoutumista. Toisaalta, kun prosessi poistetaan muistista, se luo vapaata tilaa, joka aiheuttaa aukon muistiin, jota kutsutaan ulkoiseksi fragmentoinniksi.
  3. Sisäisen pirstoutumisen ongelma voidaan ratkaista jakamalla muisti muuttuviin kokoisiin lohkoihin ja määrittämällä parhaiten sopiva lohko pyytävälle prosessille. Ulkoisen pirstoutumisen ratkaisu on kuitenkin tiivistys, mutta se on kallista toteuttaa, joten prosessit on sallittava fyysisen muistin hankkimiseksi ei-vierekkäisellä tavalla, jotta saavutetaan haku- ja segmentointitekniikka.

johtopäätös:

Sisäisen pirstoutumisen ongelmaa voidaan vähentää, mutta sitä ei voida täysin poistaa. Haku- ja segmentointituki auttaa hyödyntämään vapaata tilaa ulkoisen pirstoutumisen vuoksi sallimalla prosessin miehittää muistia ei-vierekkäisellä tavalla.

Top