Changes between Version 25 and Version 26 of AS6-TME-B6


Ignore:
Timestamp:
Mar 29, 2022, 12:05:13 PM (3 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AS6-TME-B6

    v25 v26  
    9696{{{#!protected ------------------------------------------------------------------
    9797'''
    98  *
     98 * Ici, il y en a 3. L'application a besoin de piles pour ses threads et de variables dynamiques. Le noyau a besoin de variables dynamiques pour rendre ses services.
     99 * Notez que, même si les piles des threads sont utilisées exclusivement par les threads quand ils exécutent le code de l'application en mode user, elles sont allouées par le noyau au moment de la création des threads.
    99100'''
    100101}}}
     
    102103{{{#!protected ------------------------------------------------------------------
    103104'''
    104  *
     105 * On parle de fragmentation pour nommer l'émiettement de l'espace libre qui se produit lorsqu'on effectue un grand nombre d'allocations puis de libérations de segments d'adresses de tailles différentes.
     106 * On parle de fragmentation externe pour l'espace entre objets alloués.
     107 * On parle de fragmentation interne pour l'espace inutilisé à l'intérieur des objets alloués, ce qui arrive quand on alloue plus que ce que l'utilisateur demande.
     108 * La fragmentation externe est d'autant plus grave que le nombre d'objets est grand et que leur taille est très différente.
     109 * Pour lutter contre la fragmentation, on peut aligner des objets alloués sur des segments par trop petit de sorte à toujours avoir des espaces utilisables entre les objets, mais cela crée une fragmentation interne.
     110 * On peut aussi gérer des ensembles d'objets de même taille.
     111 * En bref, dans le cas général, la fragmentation est inévitable, mais si on sait à l'avance quelles sont les tailles des objets alloués, alors on peut fortement la réduire.
    105112'''
    106113}}}