Interne vs Eksterne Fragmentasie
Verskil tussen interne en eksterne fragmentasie is 'n onderwerp van belang vir baie wat daarvan hou om hul rekenaarkennis te verbeter. Voordat ons hierdie verskil ken, moet ons sien wat fragmentasie is. Fragmentasie is 'n verskynsel wat in rekenaargeheue voorkom, soos Random Access Memory (RAM) of hardeskywe, wat vermorsing en ondoeltreffende gebruik van vrye spasie veroorsaak. Alhoewel die doeltreffende gebruik van beskikbare spasie belemmer word, veroorsaak dit ook prestasieprobleme. Interne fragmentasie vind plaas wanneer geheue-toewysing gebaseer is op vaste-grootte partisies waar nadat 'n klein grootte toepassing aan 'n gleuf toegewys is, word die oorblywende vrye spasie van daardie gleuf vermors. Eksterne fragmentasie vind plaas wanneer geheue dinamies toegewys word, waar na die laai en aflaai van verskeie gleuwe hier en daar die vrye spasie versprei word eerder as om aaneenlopend te wees.
Wat is interne fragmentasie?
Beskou die figuur hierbo waar 'n vaste grootte geheue toewysingsmeganisme gevolg word. Aanvanklik is die geheue leeg en die toewyser het die geheue in vaste grootte partisies verdeel. Daarna is drie programme genaamd A, B, C na die eerste drie partisies gelaai terwyl die 4de partisie nog gratis is. Program A pas by die grootte van die partisie, so daar is geen vermorsing in daardie partisie nie, maar Program B en Program C is kleiner as die partisiegrootte. So in deel isie 2 en partisie 3 is daar oorblywende vrye spasie. Hierdie vrye spasie is egter onbruikbaar aangesien die geheuetoewyser slegs volle partisies aan programme toeken, maar geen dele daarvan nie. Hierdie vermorsing van vrye spasie word interne fragmentasie genoem.
In die voorbeeld hierbo is dit vaste partisies van gelyke grootte, maar dit kan selfs gebeur in 'n situasie waar partisies van verskillende vaste groottes beskikbaar is. Gewoonlik word die geheue of moeilikste spasie in blokke verdeel wat gewoonlik die grootte van magte van 2 is, soos 2, 4, 8, 16 grepe. Dus sal 'n program of 'n lêer van 3 grepe aan 'n 4 grepe-blok toegewys word, maar een greep van daardie blok sal onbruikbaar word wat interne fragmentasie veroorsaak.
Wat is Eksterne Fragmentasie?
Beskou die figuur hierbo waar geheuetoewysing dinamies gedoen word. In dinamiese geheue toewysing, ken die toewyser slegs die presiese benodigde grootte vir daardie program toe. Eerste geheue is heeltemal gratis. Dan word die programme A, B, C, D en E van verskillende groottes een na die ander gelaai en hulle word aaneenlopend in die geheue geplaas in daardie volgorde. Dan later sluit Program A en Program C en hulle word uit die geheue gelaai. Nou is daar drie vrye spasie-areas in die geheue, maar hulle is nie aangrensend nie. Nou gaan 'n groot program genaamd Program F gelaai word maar nie een van die vrye spasieblokkies is nie genoeg vir Program F nie. Die byvoeging van al die vrye spasies is beslis genoeg vir Program F, maar as gevolg van die gebrek aan nabyheid is daardie spasie onbruikbaar vir Program F. Dit word Eksterne Fragmentasie genoem.
Wat is die verskil tussen Interne en Eksterne Fragmentasie?
• Interne Fragmentasie vind plaas wanneer 'n vaste grootte geheue toewysingstegniek gebruik word. Eksterne fragmentasie vind plaas wanneer 'n dinamiese geheuetoewysingstegniek gebruik word.
• Interne fragmentasie vind plaas wanneer 'n partisie met vaste grootte aan 'n program/lêer met minder grootte as die partisie toegeken word, wat die res van die spasie in daardie partisie onbruikbaar maak. Eksterne fragmentasie is te wyte aan die gebrek aan genoeg aangrensende spasie na die laai en aflaai van programme of lêers vir 'n geruime tyd, want dan word alle vrye spasie hier en daar versprei.
• Eksterne fragmentasie kan ontgin word deur verdigting waar die toegewese blokke eenkant toe geskuif word, sodat aaneenlopende spasie verkry word. Hierdie operasie neem egter tyd en ook sekere kritieke toegewysde areas, byvoorbeeld stelseldienste, kan nie veilig verskuif word nie. Ons kan hierdie verdigtingstap waarneem wat op hardeskywe gedoen word wanneer die skyfdefragmenteerder in Windows uitgevoer word.
• Eksterne fragmentasie kan voorkom word deur meganismes soos segmentering en blaai. Hier word 'n logiese aaneenlopende virtuele geheuespasie gegee terwyl die lêers/programme in werklikheid in dele opgedeel en hier en daar geplaas word.
• Interne fragmentasie kan vermink word deur partisies van verskeie groottes te hê en 'n program toe te ken wat gebaseer is op die beste pasvorm. Tog word interne fragmentasie nie ten volle uitgeskakel nie.
Opsomming:
Interne vs Eksterne Fragmentasie
Beide interne fragmentasie en eksterne fragmentasie is verskynsels waar geheue vermors word. Interne fragmentasie vind plaas in vaste grootte geheue toekenning terwyl eksterne fragmentasie plaasvind in dinamiese geheue toekenning. Wanneer 'n toegewese partisie beset word deur 'n program wat minder as die partisie is, gaan oorblywende spasie vermors en veroorsaak interne fragmentasie. Wanneer genoeg aangrensende spasie nie gevind kan word na die laai en aflaai van programme nie, as gevolg van die feit dat vrye spasie hier en daar versprei word, veroorsaak dit eksterne fragmentasie. Fragmentasie kan voorkom in enige geheue-toestel soos RAM, hardeskyf en flitsaandrywers.