Verschil tussen interne en externe fragmentatie

Inhoudsopgave:

Verschil tussen interne en externe fragmentatie
Verschil tussen interne en externe fragmentatie

Video: Verschil tussen interne en externe fragmentatie

Video: Verschil tussen interne en externe fragmentatie
Video: Berekenen van de veiligheidsmarge 2024, November
Anonim

Interne versus externe fragmentatie

Verschil tussen interne en externe fragmentatie is een onderwerp dat van belang is voor velen die hun computerkennis willen verbeteren. Voordat we dit verschil weten, moeten we zien wat fragmentatie is. Fragmentatie is een fenomeen dat optreedt in computergeheugen zoals Random Access Memory (RAM) of harde schijven, wat verspilling en inefficiënt gebruik van vrije ruimte veroorzaakt. Hoewel het efficiënte gebruik van de beschikbare ruimte wordt belemmerd, veroorzaakt dit ook prestatieproblemen. Interne fragmentatie treedt op wanneer geheugentoewijzing is gebaseerd op partities met een vaste grootte, waarbij nadat een toepassing van klein formaat aan een slot is toegewezen, de resterende vrije ruimte van dat slot wordt verspild. Externe fragmentatie treedt op wanneer geheugen dynamisch wordt toegewezen, waarbij na het laden en lossen van verschillende slots hier en daar de vrije ruimte wordt verdeeld in plaats van aaneengesloten te zijn.

Wat is interne fragmentatie?

Verschil tussen interne en externe fragmentatie_Interne fragmentatie
Verschil tussen interne en externe fragmentatie_Interne fragmentatie
Verschil tussen interne en externe fragmentatie_Interne fragmentatie
Verschil tussen interne en externe fragmentatie_Interne fragmentatie

Beschouw de afbeelding hierboven waar een geheugentoewijzingsmechanisme van vaste grootte wordt gevolgd. Aanvankelijk is het geheugen leeg en heeft de allocator het geheugen verdeeld in partities met een vaste grootte. Later zijn er drie programma's met de namen A, B, C naar de eerste drie partities geladen terwijl de 4e partitie nog vrij is. Programma A komt overeen met de grootte van de partitie, dus er is geen verspilling in die partitie, maar programma B en programma C zijn kleiner dan de partitiegrootte. Dus in partitie 2 en partitie 3 is er nog vrije ruimte. Deze vrije ruimte is echter onbruikbaar omdat de geheugentoewijzer alleen volledige partities toewijst aan programma's, maar geen t delen ervan. Deze verspilling van vrije ruimte wordt interne fragmentatie genoemd.

In het bovenstaande voorbeeld zijn het vaste partities van gelijke grootte, maar dit kan zelfs gebeuren in een situatie waarin partities van verschillende vaste groottes beschikbaar zijn. Gewoonlijk wordt het geheugen of de hardste ruimte verdeeld in blokken die meestal de grootte van machten van 2 hebben, zoals 2, 4, 8, 16 bytes. Dus een programma of een bestand van 3 bytes wordt toegewezen aan een blok van 4 bytes, maar één byte van dat blok wordt onbruikbaar en veroorzaakt interne fragmentatie.

Wat is externe fragmentatie?

Verschil tussen interne en externe fragmentatie_Externe fragmentatie
Verschil tussen interne en externe fragmentatie_Externe fragmentatie
Verschil tussen interne en externe fragmentatie_Externe fragmentatie
Verschil tussen interne en externe fragmentatie_Externe fragmentatie

Beschouw de afbeelding hierboven waar geheugentoewijzing dynamisch wordt gedaan. Bij dynamische geheugentoewijzing wijst de allocator alleen de exacte benodigde grootte voor dat programma toe. Het eerste geheugen is volledig gratis. Vervolgens worden de programma's A, B, C, D en E van verschillende grootte achter elkaar geladen en in die volgorde aaneengesloten in het geheugen geplaatst. Later worden programma A en programma C gesloten en worden ze uit het geheugen verwijderd. Nu zijn er drie vrije ruimtegebieden in het geheugen, maar ze zijn niet aangrenzend. Nu wordt een groot programma met de naam Programma F geladen, maar geen van beide blokken met vrije ruimte is niet genoeg voor Programma F. De toevoeging van alle vrije ruimtes is zeker genoeg voor Programma F, maar door het gebrek aan aangrenzendheid is die ruimte onbruikbaar voor programma F. Dit wordt externe fragmentatie genoemd.

Wat is het verschil tussen interne en externe fragmentatie?

• Interne fragmentatie treedt op wanneer een geheugentoewijzingstechniek met een vaste grootte wordt gebruikt. Externe fragmentatie treedt op wanneer een dynamische geheugentoewijzingstechniek wordt gebruikt.

• Interne fragmentatie treedt op wanneer een partitie met een vaste grootte wordt toegewezen aan een programma/bestand met een kleinere grootte dan de partitie, waardoor de rest van de ruimte in die partitie onbruikbaar wordt. Externe fragmentatie is te wijten aan het gebrek aan voldoende aangrenzende ruimte na het enige tijd laden en lossen van programma's of bestanden omdat dan alle vrije ruimte hier en daar wordt verdeeld.

• Externe fragmentatie kan worden gedolven door verdichting waarbij de toegewezen blokken naar één kant worden verplaatst, zodat aaneengesloten ruimte wordt gewonnen. Deze operatie kost echter tijd en ook bepaalde kritieke toegewezen gebieden, bijvoorbeeld systeemdiensten, kunnen niet veilig worden verplaatst. We kunnen deze verdichtingsstap op harde schijven waarnemen wanneer de schijfdefragmentatie in Windows wordt uitgevoerd.

• Externe fragmentatie kan worden voorkomen door mechanismen zoals segmentatie en paging. Hier wordt een logisch aaneengesloten virtuele geheugenruimte gegeven terwijl in werkelijkheid de bestanden/programma's in delen worden opgesplitst en hier en daar worden geplaatst.

• Interne fragmentatie kan worden verminkt door partities van verschillende groottes te hebben en een programma toe te wijzen op basis van de beste pasvorm. Interne fragmentatie is echter nog steeds niet volledig geëlimineerd.

Samenvatting:

Interne versus externe fragmentatie

Zowel interne fragmentatie als externe fragmentatie zijn fenomenen waarbij geheugen wordt verspild. Interne fragmentatie vindt plaats bij geheugentoewijzing met een vaste grootte, terwijl externe fragmentatie optreedt bij dynamische geheugentoewijzing. Wanneer een toegewezen partitie wordt ingenomen door een programma dat kleiner is dan de partitie, wordt de resterende ruimte verspild, waardoor interne fragmentatie ontstaat. Wanneer na het laden en lossen van programma's niet voldoende aangrenzende ruimte kan worden gevonden, vanwege het feit dat hier en daar vrije ruimte wordt verspreid, veroorzaakt dit externe fragmentatie. Fragmentatie kan optreden in elk geheugenapparaat, zoals RAM, harde schijf en flashdrives.

Aanbevolen: