• [^] # Re: Juste une question

    Posté par . En réponse à la dépêche Nouvelle version 2.6.33 du noyau Linux. Évalué à 3.

    Une autre explication : si tu as 128KiB de memoire (virtuelle!), et que tu alloues 4 blocks de 32KiB, tu as la place, et la memoire est repartie ainsi :
    Block 0 : 32KiB : indisponible
    Block 1 : 32KiB : indisponible
    Block 2 : 32KiB : indisponible
    Block 3 : 32KiB : indisponible

    Maintenant, tu liberes les blocks 1 et 3, donc tu as 64KiB de memoire libre, repartis ainsi :
    Block 0 : 32KiB : indisponible
    Block 1 : 32KiB : libre
    Block 2 : 32KiB : indisponible
    Block 3 : 32KiB : libre

    Enfin, tu veux allouer un block de 64KiB. He bien ce n'est pas possible, car le plus gros block dispo n'est que de 32KiB. Donc meme si tu as 64KiB de memoire disponible, tu n'as pas 64KiB _contigus_ de disponible, et donc ta memoire est fragmentee!

    Voila...