Fragmentació interna vs externa
La diferència entre la fragmentació interna i externa és un tema d'interès per a molts que els agrada millorar els seus coneixements informàtics. Abans de conèixer aquesta diferència, hem de veure què és la fragmentació. La fragmentació és un fenomen que es produeix a la memòria de l'ordinador, com ara la memòria d'accés aleatori (RAM) o els discs durs, que provoca malbaratament i un ús ineficient de l'espai lliure. Tot i que es dificulta l'ús eficient de l'espai disponible, això també provoca problemes de rendiment. La fragmentació interna es produeix quan l'assignació de memòria es basa en particions de mida fixa on després d'assignar una aplicació de mida petita a una ranura, l'espai lliure restant d'aquesta ranura es desaprofita. La fragmentació externa es produeix quan la memòria s'assigna dinàmicament, on després de carregar i descarregar diverses ranures aquí i allà, l'espai lliure es distribueix en lloc de ser contigu.
Què és la fragmentació interna?
Considereu la figura anterior on s'està seguint un mecanisme d'assignació de memòria de mida fixa. Inicialment, la memòria està buida i l'assignador ha dividit la memòria en particions de mida fixa. Més tard, tres programes anomenats A, B, C s'han carregat a les tres primeres particions mentre que la quarta partició encara és lliure. El programa A coincideix amb la mida de la partició, de manera que no hi ha malbaratament en aquesta partició, però el programa B i el programa C són més petits que la mida de la partició. Així que a la part 2 i la partició 3 hi ha espai lliure restant. Tanmateix, aquest espai lliure és inutilitzable, ja que l'assignador de memòria només assigna particions completes als programes, però no n'hi ha parts. Aquest malbaratament d'espai lliure s'anomena fragmentació interna.
A l'exemple anterior, es tracta de particions fixes de la mateixa mida, però això fins i tot pot passar en una situació en què hi ha disponibles particions de diferents mides fixes. Normalment, la memòria o l'espai més dur es divideix en blocs que solen tenir la mida de potències de 2 com ara 2, 4, 8, 16 bytes. Així, un programa o un fitxer de 3 bytes s'assignarà a un bloc de 4 bytes, però un byte d'aquest bloc es tornarà inutilitzable provocant una fragmentació interna.
Què és la fragmentació externa?
Considereu la figura anterior on l'assignació de memòria es fa de manera dinàmica. En l'assignació de memòria dinàmica, l'assignador només assigna la mida exacta necessària per a aquest programa. La primera memòria és totalment gratuïta. A continuació, els programes A, B, C, D i E de diferents mides es carreguen un darrere l' altre i es col·loquen a la memòria de manera contigu en aquest ordre. Més tard, el programa A i el programa C es tanquen i es descarreguen de la memòria. Ara hi ha tres àrees d'espai lliure a la memòria, però no són adjacents. Ara es carregarà un programa gran anomenat Programa F, però cap dels blocs d'espai lliure no és suficient per al Programa F. L'addició de tots els espais lliures és definitivament suficient per al Programa F, però a causa de la manca d'adjacència, aquest espai és suficient. inutilitzable per al programa F. Això s'anomena fragmentació externa.
Quina diferència hi ha entre la fragmentació interna i externa?
• La fragmentació interna es produeix quan s'utilitza una tècnica d'assignació de memòria de mida fixa. La fragmentació externa es produeix quan s'utilitza una tècnica d'assignació de memòria dinàmica.
• La fragmentació interna es produeix quan s'assigna una partició de mida fixa a un programa/fitxer amb una mida menor que la partició fent que la resta de l'espai d'aquesta partició no es pugui utilitzar. La fragmentació externa es deu a la manca d'espai adjacent suficient després de la càrrega i descàrrega de programes o fitxers durant un temps perquè tot l'espai lliure es distribueix aquí i allà.
• La fragmentació externa es pot extreure per compactació on els blocs assignats es mouen cap a un costat, de manera que es guanya espai contigu. Tanmateix, aquesta operació requereix temps i també certes àrees assignades crítiques, per exemple, els serveis del sistema no es poden moure amb seguretat. Podem observar aquest pas de compactació realitzat en discs durs quan s'executa el desfragmentador de disc a Windows.
• La fragmentació externa es pot evitar mitjançant mecanismes com ara la segmentació i la paginació. Aquí es dóna un espai de memòria virtual contigu lògic mentre que en realitat els fitxers/programes es divideixen en parts i es col·loquen aquí i allà.
• La fragmentació interna es pot alterar tenint particions de diverses mides i assignant un programa basat en el millor ajust. Tanmateix, encara no s'elimina completament la fragmentació interna.
Resum:
Fragmentació interna vs externa
Tant la fragmentació interna com la fragmentació externa són fenòmens on es malgasta la memòria. La fragmentació interna es produeix en l'assignació de memòria de mida fixa mentre que la fragmentació externa es produeix en l'assignació de memòria dinàmica. Quan una partició assignada està ocupada per un programa que és menor que la partició, l'espai restant es desaprofita provocant una fragmentació interna. Quan no es pot trobar prou espai adjacent després de la càrrega i descàrrega de programes, a causa del fet que l'espai lliure es distribueix aquí i allà, això provoca una fragmentació externa. La fragmentació es pot produir en qualsevol dispositiu de memòria, com ara la memòria RAM, el disc dur i les unitats flash.