Forskellen mellem intern og ekstern fragmentering

Indholdsfortegnelse:

Forskellen mellem intern og ekstern fragmentering
Forskellen mellem intern og ekstern fragmentering

Video: Forskellen mellem intern og ekstern fragmentering

Video: Forskellen mellem intern og ekstern fragmentering
Video: Leslie Kean on David Grusch (UFO Whistleblower): Non-Human Intelligence, Recovered UFOs, UAP, & more 2024, Juli
Anonim

Intern vs Ekstern Fragmentering

Forskellen mellem intern og ekstern fragmentering er et emne af interesse for mange, der kan lide at forbedre deres computerviden. Før vi kender denne forskel, skal vi se, hvad fragmentering er. Fragmentering er et fænomen, der opstår i computerhukommelsen, såsom Random Access Memory (RAM) eller harddiske, hvilket forårsager spild og ineffektiv brug af ledig plads. Mens den effektive udnyttelse af tilgængelig plads forhindres, forårsager dette også præstationsproblemer. Intern fragmentering opstår, når hukommelsesallokering er baseret på partitioner med fast størrelse, hvor efter en applikation af lille størrelse er tildelt til et slot, er den resterende ledige plads på dette slot spildt. Ekstern fragmentering opstår, når hukommelsen er dynamisk allokeret, hvor den ledige plads efter indlæsning og aflæsning af flere slots hist og her bliver fordelt i stedet for at være sammenhængende.

Hvad er intern fragmentering?

Forskel mellem intern og ekstern Fragmentation_Internal Fragmentation
Forskel mellem intern og ekstern Fragmentation_Internal Fragmentation
Forskel mellem intern og ekstern Fragmentation_Internal Fragmentation
Forskel mellem intern og ekstern Fragmentation_Internal Fragmentation

Overvej ovenstående figur, hvor en fast størrelse hukommelsesallokeringsmekanisme følges. Til at begynde med er hukommelsen tom, og allokatoren har opdelt hukommelsen i partitioner med fast størrelse. Senere er tre programmer ved navn A, B, C blevet indlæst til de første tre partitioner, mens den 4. partition stadig er ledig. Program A matcher størrelsen på partitionen, så der er intet spild i den partition, men Program B og Program C er mindre end partitionsstørrelsen. Så i del tion 2 og partition 3 er der resterende ledig plads. Denne ledige plads er dog ubrugelig, da hukommelsesallokatoren kun tildeler fulde partitioner til programmer, men ikke dele af den. Dette spild af ledig plads kaldes intern fragmentering.

I ovenstående eksempel er det faste partitioner af samme størrelse, men dette kan endda ske i en situation, hvor partitioner af forskellige faste størrelser er tilgængelige. Norm alt er hukommelsen eller den hårdeste plads opdelt i blokke, der norm alt er på størrelse med potenser på 2, såsom 2, 4, 8, 16 bytes. Så et program eller en fil på 3 bytes vil blive tildelt en 4 byte blok, men en byte af den blok bliver ubrugelig, hvilket forårsager intern fragmentering.

Hvad er ekstern fragmentering?

Forskel mellem intern og ekstern Fragmentation_External Fragmentation
Forskel mellem intern og ekstern Fragmentation_External Fragmentation
Forskel mellem intern og ekstern Fragmentation_External Fragmentation
Forskel mellem intern og ekstern Fragmentation_External Fragmentation

Overvej ovenstående figur, hvor hukommelsesallokering udføres dynamisk. Ved dynamisk hukommelsesallokering tildeler allokatoren kun den nøjagtige nødvendige størrelse for det pågældende program. Første hukommelse er helt gratis. Derefter indlæses 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. Senere lukker Program A og Program C, og de udlæses fra hukommelsen. Nu er der tre ledige pladsområder i hukommelsen, men de er ikke tilstødende. Nu skal der indlæses et stort program kaldet Program F, men ingen af de ledige pladser er ikke nok til Program F. Tilføjelsen af alle de ledige pladser er helt sikkert nok til Program F, men på grund af den manglende tilknytning er pladsen ubrugelig til program F. Dette kaldes ekstern fragmentering.

Hvad er forskellen mellem intern og ekstern fragmentering?

• Intern fragmentering opstår, når der bruges en hukommelsesallokeringsteknik med fast størrelse. Ekstern fragmentering opstår, når der bruges en dynamisk hukommelsesallokeringsteknik.

• Intern fragmentering opstår, når en partition med fast størrelse er tildelt til et program/fil med mindre størrelse end partitionen, hvilket gør resten af pladsen i den partition ubrugelig. Ekstern fragmentering skyldes manglen på nok tilstødende plads efter indlæsning og aflæsning af programmer eller filer i nogen tid, fordi så er al ledig plads fordelt her og der.

• Ekstern fragmentering kan udvindes ved komprimering, hvor de tildelte blokke flyttes til den ene side, så der opnås sammenhængende plads. Denne operation tager dog tid, og også visse kritiske tildelte områder, f.eks. systemtjenester, kan ikke flyttes sikkert. Vi kan observere dette komprimeringstrin udført på harddiske, når vi kører diskdefragmenteringen i Windows.

• Ekstern fragmentering kan forhindres ved hjælp af mekanismer som segmentering og personsøgning. Her gives et logisk sammenhængende virtuel hukommelsesplads, mens filerne/programmerne i virkeligheden opdeles i dele og placeres her og der.

• Intern fragmentering kan lemlæstes ved at have partitioner i flere størrelser og tildele et program baseret på den bedste pasform. Men stadig intern fragmentering er ikke helt elimineret.

Oversigt:

Intern vs Ekstern Fragmentering

Både intern fragmentering og ekstern fragmentering er fænomener, hvor hukommelsen er spildt. Intern fragmentering forekommer i hukommelsesallokering med fast størrelse, mens ekstern fragmentering forekommer i dynamisk hukommelsesallokering. Når en allokeret partition er optaget af et program, der er mindre end partitionen, går resterende plads til spilde, hvilket forårsager intern fragmentering. Når der ikke kan findes nok tilstødende plads efter indlæsning og aflæsning af programmer, på grund af det faktum, at ledig plads er fordelt her og der, forårsager dette ekstern fragmentering. Fragmentering kan forekomme i enhver hukommelsesenhed, såsom RAM, harddisk og flashdrev.

Anbefalede: