Forskjell mellom intern og ekstern fragmentering | Intern vs Ekstern Fragmentering

Anonim

Intern vs Ekstern Fragmentering

Forskjellen mellom intern og ekstern fragmentering er et emne av interesse for mange som liker å forbedre sin datakunnskap. Før vi vet denne forskjellen, må vi se hvilken fragmentering som er. Fragmentering er et fenomen som oppstår i dataminnet, for eksempel Random Access Memory (RAM) eller harddisker, som forårsaker sløsing og ineffektiv bruk av ledig plass. Selv om effektiv bruk av ledig plass er hindret, medfører dette også ytelsesproblemer. Intern fragmentering oppstår når minnetildeling er basert på partisjoner med fast størrelse, der etter en liten størrelse applikasjon er tilordnet et spor, blir gjenværende ledig plass i sporet bortkastet. Ekstern fragmentering oppstår når minnet er dynamisk allokert der etter at det er lastet og losset flere slots her og der, blir det frie rommet distribuert i stedet for å være sammenhengende.

Hva er intern fragmentering?

Vurder figuren over der en minnefordelingsmekanisme med fast størrelse følges. I utgangspunktet er minnet tomt og tildelingen har delt opp minnet i partisjoner med fast størrelse. Senere ble tre programmer kalt A, B, C lastet til de tre første partisjonene, mens den fjerde partisjonen fortsatt er ledig. Program A samsvarer med partisjonens størrelse, så det er ikke noe spild i den partisjonen, men Program B og Program C er mindre enn partisjonsstørrelsen. Så delvis del 2 og partisjon 3 er det gjenværende ledig plass. Denne ledig plass er imidlertid ubrukelig, da minnetildeleren bare tildeler fulle partisjoner til programmer, men ikke deler av det. Dette spildet på ledig plass kalles intern fragmentering.

I eksemplet ovenfor er det likformede faste partisjoner, men dette kan til og med skje i en situasjon der partisjoner av forskjellige faste størrelser er tilgjengelige. Vanligvis er minnet eller hardest plassering delt inn i blokker som vanligvis er størrelsen på krefter på 2 som 2, 4, 8, 16 byte. Så et program eller en fil med 3 byte vil bli tildelt en 4 byte blokk, men en byte av den blokken vil bli ubrukelig som forårsaker intern fragmentering.

Hva er ekstern fragmentering?

Vurder figuren over hvor minneallokering gjøres dynamisk. Ved dynamisk minneallokering allokerer tildeleren bare den nøyaktige nødvendige størrelsen for det programmet.Første minne er helt gratis. Deretter lastes programmene A, B, C, D og E av forskjellige størrelser etter hverandre, og de plasseres i minnet sammenhengende i den rekkefølgen. Senere lukkes Program A og Program C, og de lastes ut fra minnet. Nå er det tre ledig plass i minnet, men de er ikke tilstøtende. Nå vil et stort program som heter Program F bli lastet, men ingen av den frie plassblokken er ikke nok for Program F. Tilsetningen av alle de frie mellomrom er definitivt nok for Program F, men på grunn av mangelen på adjacency at rommet er ubrukelig for program F. Dette kalles ekstern fragmentering.

Hva er forskjellen mellom intern og ekstern fragmentering?

• Intern Fragmentering oppstår når en fast-til-lagringsminnetildelingsteknikk brukes. Ekstern fragmentering oppstår når en dynamisk minneallokeringsteknikk brukes.

• Intern fragmentering oppstår når en fast størrelse partisjon er tilordnet et program / fil med mindre størrelse enn partisjonen som gjør resten av plassen i den partisjonen ubrukelig. Ekstern fragmentering skyldes mangelen på nok tilstøtende plass etter lasting og lossing av programmer eller filer for en stund fordi da all ledig plass blir distribuert her og der.

• Ekstern fragmentering kan mines ved komprimering der de tildelte blokkene flyttes til den ene siden, slik at sammenhengende plass blir oppnådd. Denne operasjonen tar imidlertid tid, og også visse kritiske tilordnede områder, for eksempel kan systemtjenester ikke flyttes trygt. Vi kan observere dette komprimeringstrinnet gjort på harddisker når du kjører diskdefragmenteringen i Windows.

• Ekstern fragmentering kan forebygges ved mekanismer som segmentering og personsøking. Her gis en logisk sammenhengende virtuell minneplass, mens filene / programmene i virkeligheten deles opp i deler og plasseres her og der.

• Intern fragmentering kan bli rammet ved å ha partisjoner av flere størrelser og tildele et program basert på den beste passformen. Imidlertid er fortsatt intern fragmentering ikke fullt eliminert.

Sammendrag:

Intern vs Ekstern Fragmentering

Både intern fragmentering og ekstern fragmentering er fenomener der minne er bortkastet. Intern fragmentering skjer i fast størrelse minneallokering mens ekstern fragmentering oppstår i dynamisk minneallokering. Når en tildelt partisjon er opptatt av et program som er mindre enn partisjonen, går gjenværende plass bortkastet og forårsaker intern fragmentering. Når det ikke finnes nok tilstøtende plass etter lasting og lossing av programmer, på grunn av at ledig plass distribueres her og der, forårsaker dette ekstern fragmentering. Fragmentering kan forekomme i en hvilken som helst minneenhet, for eksempel RAM, harddisk og flash-stasjoner.