Forskel mellem intern og ekstern fragmentering | Intern vs Ekstern fragmentering
Intern vs Ekstern Fragmentering
Forskel mellem intern og ekstern fragmentering er et emne af interesse for mange, der kan lide at forbedre deres computer viden. Før vi ved denne forskel, skal vi se, hvad fragmentation er. Fragmentering er et fænomen, der forekommer i computerhukommelse, såsom Random Access Memory (RAM) eller harddiske, hvilket medfører spild og ineffektiv brug af ledig plads. Selv om den effektive brug af ledig plads er forhindret, medfører det også ydeevneproblemer. Intern fragmentering opstår, når hukommelsesallokering er baseret på partitioner med fast størrelse, hvor der efter en lille størrelse er tildelt en slot, spildes det resterende ledige rum i den slot. Ekstern fragmentering opstår, når hukommelsen er dynamisk allokeret, hvor efter frigivelse og losning af flere slots her og her fordeles det frie rum frem for at være sammenhængende.
Hvad er intern fragmentering?
Overvej ovenstående figur, hvor en hukommelsesallokeringsmekanisme med fast størrelse følges. Indledningsvis er hukommelsen tom, og tildeleren har opdelt hukommelsen i partitioner med fast størrelse. Derefter er tre programmer med navnet A, B, C blevet indlæst til de første tre partitioner, mens den fjerde partition stadig er fri. Program A matcher størrelsen på partitionen, så der er ikke spild i den partition, men Program B og Program C er mindre end partitionsstørrelsen. Så delvist toion 2 og partition 3 er der resterende ledig plads. Dette frie rum er imidlertid ubrugeligt, da hukommelsesallokatoren kun tildeler fuld partitioner til programmer, men ikke t dele af den. Dette spild af ledig plads kaldes intern fragmentering.
I ovenstående eksempel er det lige store partitioner, men det kan endda ske i en situation, hvor partitioner af forskellige faste størrelser er tilgængelige. Normalt er hukommelsen eller det hårdeste rum opdelt i blokke, der normalt er størrelsen af magt på 2 såsom 2, 4, 8, 16 byte. Så et program eller en fil med 3 byte vil blive tildelt en 4 byte blok, men en byte af den pågældende blok vil blive ubrugelig forårsager intern fragmentering.
Hvad er ekstern fragmentering?
Overvej ovenstående figur, hvor hukommelsesallokering sker dynamisk. Ved dynamisk hukommelsesallokering tildeler tildeleren kun den nøjagtige nødvendige størrelse for det pågældende program.Første hukommelse er helt gratis. Derefter lægges programmerne A, B, C, D og E af forskellige størrelser efter hinanden, og de placeres i hukommelsen sammenhængende i den rækkefølge. Derefter lukker Program A og Program C, og de aflastes fra hukommelsen. Nu er der tre ledige pladsområder i hukommelsen, men de er ikke tilstødende. Nu vil et stort program, der hedder Program F, blive indlæst, men ingen af den ledige pladsblok er ikke nok til Program F. Tilføjelsen af alle de frie mellemrum er bestemt nok til Program F, men på grund af manglen på adjacency er rummet ubrugelig for program F. Dette kaldes ekstern fragmentering.
Hvad er forskellen mellem intern og ekstern fragmentering?
• Intern fragmentering opstår, når der bruges en fast størrelse hukommelsesallokeringsteknik. Ekstern fragmentering opstår, når der anvendes en dynamisk hukommelsesallokeringsteknik.
• Intern fragmentering opstår, når en fast størrelse partition er tildelt et program / fil med mindre størrelse end partitionen, hvilket gør resten af rummet i den partition ubrugelig. Ekstern fragmentering skyldes manglen på tilstødende plads efter læsning og aflæsning af programmer eller filer i nogen tid, da så er alt ledigt rum fordelt her og der.
• Ekstern fragmentering kan udvides ved komprimering, hvor de tildelte blokke flyttes til den ene side, så det tilstødende rum opnås. Denne operation tager imidlertid tid, og også visse kritiske tildelte områder, for eksempel kan systemtjenester ikke flyttes sikkert. Vi kan observere dette komprimeringstrin gjort på harddiske, når du kører diskdefragmenteren i Windows.
• Ekstern fragmentering kan forhindres af mekanismer som segmentering og personsøgning. Her gives et logisk sammenhængende virtuel hukommelsesplads, mens filerne / programmerne i virkeligheden er splittet i dele og placeret her og der.
• Intern fragmentering kan minimeres ved at have partitioner i flere størrelser og tildele et program baseret på den bedste pasform. Imidlertid er intern fragmentering stadig ikke fuldstændig elimineret.
Sammendrag:
Intern vs Ekstern Fragmentering
Både intern fragmentering og ekstern fragmentering er fænomener, hvor hukommelsen er spildt. Intern fragmentering forekommer i hukommelse med fast størrelse, mens der sker ekstern fragmentering i dynamisk hukommelseallokering. Når en tildelt partition er optaget af et program, der er mindre end partitionen, går det resterende rum spildt og forårsager intern fragmentering. Når der ikke findes nok tilstødende plads efter lastning og losning af programmer, skyldes det, at ledig plads er distribueret her og der, det forårsager ekstern fragmentering. Fragmentering kan forekomme i enhver hukommelsesenhed som f.eks. RAM, harddisk og flashdrev.