| 137 | | 1. |
| 138 | | {{{#!protected ------------------------------------------------------------------ |
| 139 | | ''' |
| 140 | | * |
| 141 | | ''' |
| 142 | | }}} |
| 143 | | 1. |
| 144 | | {{{#!protected ------------------------------------------------------------------ |
| 145 | | ''' |
| 146 | | * |
| 147 | | ''' |
| 148 | | }}} |
| 149 | | 1. |
| | 137 | 1. Que signifie que les objets alloués sont alignés sur les lignes de cache ? Et quels sont les bénéfices de cette contrainte ? |
| | 138 | {{{#!protected ------------------------------------------------------------------ |
| | 139 | ''' |
| | 140 | * |
| | 141 | ''' |
| | 142 | }}} |
| | 143 | 1. L'allocateur d'objets (nommés blocs dans le rappel de cours au dessus) pour l'application utilise une politique ''first fit''. Qu'est-ce que cela signifie ? Quels sont les autres ? existe-il une politique meilleure que les autres et pour quel critère ? |
| | 144 | {{{#!protected ------------------------------------------------------------------ |
| | 145 | ''' |
| | 146 | * |
| | 147 | ''' |
| | 148 | }}} |
| | 149 | 1. Pour libérer un objet alloué par l'allocateur de l'application, la fonction `free()` reçoit juste le pointeur rendu par `malloc()`. Comment la fonction `free()` connait-elle la taille qui avait été allouée ? |