Changes between Version 36 and Version 37 of AS6-TME-B6


Ignore:
Timestamp:
Mar 29, 2022, 3:49:01 PM (3 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AS6-TME-B6

    v36 v37  
    216216 * La politique de rendre un slab dès qu'il est plein (qu'il ne contient que des objets libres) n'est pas forcément efficace.
    217217 * En effet, si on alloue un objet d'une taille T, alors on ouvre un slab (on l'alloue) et si on le libère, alors on ferme le slab (on le libère). Si on fait ça en boucle, l'ouverture/fermeture (allocation/libération) des slabs est une perte de temps.
    218  * Il est sans doute préférable d'avoir toujours des listes d'objets libres non vides. On peut donc définir un seuil d'objets libres en dessous duquel ne pas descendre.
    219  * Pour entrevoir une solution, il faut regarder le code.
    220    * Dans le code, on peut voir qu'il existe un tableau `Objects[]` contenant de cases qu'il existe de taille d'objets possible (mesurée en nombre de lignes).
    221 de listes d'objets libres, indexé par les identifiants de slab (l'identifiant de slab est la taille des objets qu'il contient en nombre de lignes). Le tableau `Objects` contient le nombre d'objets alloués. Il faudrait un autre tableau semblable contenant le nombre d'objets libres disponible.
     218 * Il est sans doute préférable d'avoir toujours des listes d'objets libres non vides. On peut donc définir un seuil d'objets libres en dessous duquel ne pas descendre. C'est le sujet d'un exercice possible.
    222219'''
    223220}}}
     
    258255Pour la partie pratique, vous allez devoir programmer un peu. Les premières questions sont assez faciles, les dernières un peu moins, faites ce que vous pouvez.
    259256
    260 
    261 
    262 
    263 
     257Dans le code, on peut voir qu'il existe un tableau `Objects[]` contenant de cases qu'il existe de taille d'objets possibles (mesurée en nombre de lignes) et dont chaque case contient le nombre d'objet libre
     258de listes d'objets libres, indexé par les identifiants de slab (l'identifiant de slab est la taille des objets qu'il contient en nombre de lignes). Le tableau `Objects` contient le nombre d'objets alloués. Il faudrait un autre tableau semblable contenant le nombre d'objets libres disponible.
     259
     260
     261
     262