Petite leçon vite fait pour tous:
La RAM en étant défragmentée permet de gagner en efficacité. En effet, lorsque un de vos programme a besoin de mémoire, il va le signaler à l´OS qui lui même va faire les allocations mémoires.
Ces allocations mémoires ne se font pas de manière séquentielle. On se retrouve donc souvent avec des allocations mémoire chainées (qui font croire au programme que la mémoire utilisée est d´un seul bloc alors que dans la réalité c´est rarement le cas). La mémoire allouée d´un programme peut donc dispatchée un peu partout en ram et sur le disque dur. De plus lorsque l´on utilise n´importe quel programme, il arrive souvent que celui-ci fasse des allocs, des désalloc, des réalloc...et celui ci utilise la ram que l´OS lui donne qui lui même se démerde à faire des allocs à divers endroits dans la ram (ou sur le DD)...
Tout cela fragmente la RAM dans la mesure où il sera de + en + difficile à l´OS d´effectuer des allocations mémoire de manière "linéaire" (d´un seul bloc si on peut dire). Ainsi, avec une RAM très fragmentée, lorsque ton programme voudra accéder à sa mémoire, l´OS sera obligé de faire des "sauts" en mémoire (ce qui fait perdre de l´efficacité, comme pour un DD en fait).
Voilà pourquoi défragmenter la RAM permet en gros de désallouer tous les bouts de mémoire qui ne sont plus utilisées, et de "recompacter" le tout en 1 gros bloc séquentiel (ce qui permettra de regagner un peu en efficacité).
Voilà en gros pourquoi en gagne en efficacité.