Bonjour, Le 23/03/2020 à 08:58, Grégoire Scano a écrit : > voici une proposition de mise à jour. > > Merci d'avance pour vos relectures, > Suggestions et fautes de frappe et de genre (?)
P.S: je n'ai pas noté les problèmes de versionnement de "COLOPHON", mais ils sont quasi tous pas traduits.. Amicalement, bubu
--- mallinfo.3 2020-03-23 08:57:19.000000000 +0100 +++ mallinfo.relu.3 2020-03-23 11:37:48.461550256 +0100 @@ -38,7 +38,7 @@ \fBstruct mallinfo mallinfo(void);\fP .SH DESCRIPTION La fonction \fBmallinfo\fP() renvoie une copie d'une structure contenant les -détails des allocations mémoires effectuées par \fBmalloc\fP(3) et d'autres +détails des allocations mémoire effectuées par \fBmalloc\fP(3) et d'autres fonctions associées. .PP Il est à noter que toutes les allocations ne sont pas observables par @@ -122,12 +122,12 @@ \fBmallinfo\fP() accéde à des objets globaux internes. S'ils sont modifiés de façon non atomique, les résultats peuvent ne pas être cohérents. L'identifiant \fImallopt\fP dans \fIconst::mallopt\fP signifie que -\fBmallopt\fP() modifie ces objects globaux internes de façon atomique, rendant +\fBmallopt\fP() modifie ces objets globaux internes de façon atomique, rendant \fBmallinfo\fP() suffisamment sûr, d'autres modifications non atomiques ne le garantissant peut\-être pas. .SH CONFORMITÉ Cette fonction n'est pas spécifiée par les standards POSIX ou C. Une -fonction similaire existe sur de nombreux dérivés de «\ System\ V\ », met était +fonction similaire existe sur de nombreux dérivés de «\ System\ V\ », et était spécifiée dans SVID. .SH BOGUES .\" FIXME . http://sourceware.org/bugzilla/show_bug.cgi?id=208 @@ -154,7 +154,7 @@ .PP Les trois arguments restants définissent les blocs alloués qui devraient être libérés avec \fBfree\fP(3). Ces trois arguments sont facultatifs, et -définissent (dans l'ordre)\ : la taille du pas à utiliser dans la boucle qui +définissent (dans l'ordre)\ : la taille du tas à utiliser dans la boucle qui libère les blocs (1 par défaut, ce qui signifie de libérer tous les blocs de l'intervalle)\ : la position du premier bloc à libérer (0 par défaut, ce qui signifie le premier bloc alloué)\ ; et un nombre suivant directement la @@ -216,7 +216,7 @@ mi = mallinfo(); - printf("Total d'o en mém. non projetée (arena)\ : %d\en", mi.arena); + printf("Total d'o. en mém. non projetée (arena)\ : %d\en", mi.arena); printf("Nb. de fragments libres (ordblks)\ : %d\en", mi.ordblks); printf("Nb. de blocs fastbin libres (smblks)\ : %d\en", mi.smblks); printf("Nb. de zones de mémoire projetée\ : %d\en", mi.hblks);
--- malloc.3 2020-03-23 08:57:19.000000000 +0100 +++ malloc.relu.3 2020-03-23 11:04:50.284057831 +0100 @@ -60,7 +60,7 @@ .ad l Depuis la glibc 2.29 : _DEFAULT_SOURCE - Pour la glibc 2.28 et antérieure : + Pour la glibc 2.28 et antérieures : _GNU_SOURCE .ad .SH DESCRIPTION @@ -120,7 +120,7 @@ échoue sans danger dans le cas où la multiplication entraînerait un dépassement. Si un tel dépassement se produit, \fBreallocarray\fP() renvoit \fBNULL\fP et fixe \fIerrno\fP à \fBENOMEM\fP, et laisse le bloc mémoire originel -unchangé. +inchangé. .SH "VALEUR RENVOYÉE" Les fonctions \fBmalloc\fP() et \fBcalloc\fP() renvoient un pointeur vers la mémoire allouée, qui est correctement alignée pour n'importe quel type @@ -134,7 +134,7 @@ La fonction \fBrealloc\fP() renvoie un pointeur sur la mémoire nouvellement allouée, et qui est correctement alignée pour n'importe quel type intégré, ou \fBNULL\fP si la requête échoue. Le pointeur renvoyé peut être identique à -\fIptr\fP si la zone mémoire n'est pas déplacée (par exemple, il y a de la +\fIptr\fP si la zone mémoire n'est pas déplacée (par exemple s'il y a de la place pour l'étendre à son emplacement) ou qui peut être différent de \fIptr\fP si la zone mémoire est déplacée à une nouvelle adresse. Si \fIsize\fP vaut zéro, realloc renvoie \fBNULL\fP ou un pointeur acceptable pour \fBfree\fP(). Si
--- malloc_get_state.3 2020-03-23 08:57:20.000000000 +0100 +++ malloc_get_state.relu.3 2020-03-23 11:40:42.680426702 +0100 @@ -46,7 +46,7 @@ La fonction \fBmalloc_get_state\fP() sauvegarde l'état actuel de toutes les variables servant à la gestion interne de \fBmalloc\fP(3) (mais pas le contenu du tas ou l'état des pointeurs de fonctions \fBmalloc_hook\fP(3)). L'état est -enregistré dans une structure de données opaque dépendant du système, +enregistré dans une structure de données opaque dépendante du système, allouée dynamiquement par \fBmalloc\fP(3), et un pointeur vers cette structure de données est renvoyé comme valeur de résultat de la fonction (il est de la responsabilité de celui qui appelle cette fonction de libérer cette zone
--- malloc_hook.3 2020-03-23 08:57:20.000000000 +0100 +++ malloc_hook.relu.3 2020-03-23 11:42:22.103419840 +0100 @@ -37,8 +37,7 @@ .SH DESCRIPTION La bibliothèque C GNU vous permet de modifier le comportement de \fBmalloc\fP(3), \fBrealloc\fP(3) et \fBfree\fP(3) en fixant les points d'entrée des -routines. Vous pouvez utiliser ces points pour faciliter le débogage des -programmes utilisant des allocations de mémoire dynamique par exemple. +routines. Vous pouvez utiliser ces points pour, par exemple, faciliter le débogage des programmes utilisant des allocations de mémoire dynamique. .PP La variable \fB__malloc_initialize_hook\fP pointe vers une fonction qui est appelée une seule fois à l'initialisation de malloc. C'est une variable @@ -106,7 +105,7 @@ /* Replacer la routine originale */ __malloc_hook = old_malloc_hook; - /* Call recursively */ + /* Appeller récursivement */ result = malloc(size); /* Sauver la routine originale */
--- malloc_info.3 2020-03-23 08:57:20.000000000 +0100 +++ malloc_info.relu.3 2020-03-23 11:33:10.938587069 +0100 @@ -89,7 +89,7 @@ contrôle la taille des blocs à allouer. Le thread principal crée des blocs de cette taille, le deuxième thread créé par le programme alloue des blocs deux fois plus grands, le troisième thread alloue des blocs trois fois plus -grands, ainsi de suite. +grands, et ainsi de suite. .PP Le programme appelle \fBmalloc_info\fP() deux fois pour afficher l'état de l'allocation mémoire. Le premier appel est effectué avant la création de
--- malloc_stats.3 2020-03-23 08:57:20.000000000 +0100 +++ malloc_stats.relu.3 2020-03-23 11:46:57.831590645 +0100 @@ -46,7 +46,7 @@ consommés par les allocations en cours d'utilisation (ces deux valeurs correspondent aux champs \fIarena\fP et \fIuordblks\fP récupérés par \fBmallinfo\fP(3)). De plus, la fonction affiche la somme de ces deux nombres -pour toutes les arènes, et le nombre maximal de blocs et octets qui ont déjà +pour toutes les arènes, et le nombre maximal de blocs et d'octets qui ont déjà été alloués en utilisant \fBmmap\fP(2). .SH ATTRIBUTS Pour une explication des termes utilisés dans cette section, consulter
--- malloc_trim.3 2020-03-23 08:57:20.000000000 +0100 +++ malloc_trim.relu.3 2020-03-23 11:52:47.450297395 +0100 @@ -43,7 +43,7 @@ .PP Le paramètre \fIpad\fP indique la quantité d'espace disponible à garder non désalloué en haut du tas. Si ce paramètre vaut\ 0, le strict minimum de -mémoire est conservé an haut du tas (c'est\-à\-dire une page mémoire ou +mémoire est conservé en haut du tas (c'est\-à\-dire une page mémoire ou moins). Une valeur non nulle permet de conserver de l'espace disponible en haut du tas pour éviter que les futures allocations aient besoin d'agrandir le tas en appelant \fBsbrk\fP(2).
--- mallopt.3 2020-03-23 08:57:19.000000000 +0100 +++ mallopt.relu.3 2020-03-23 12:16:13.782774815 +0100 @@ -66,7 +66,7 @@ Lors de l'utilisation de versions plus récentes de la glibc, les applications peuvent dans certains cas exhiber une grande compétition lors de l'accès aux arènes. Dans ces cas, il peut être bénéfique d'augmenter -\fBM_ARENA_MAX\fP pour le faire correspondre au nombre de fils d'exécution. Il +\fBM_ARENA_MAX\fP pour la faire correspondre au nombre de fils d'exécution. Il s'agit d'un comportement similaire aux stratégies appliquées par tcmalloc et jemalloc (à des réserves d'allocation par fil d'exécution par exemple). .TP @@ -76,9 +76,9 @@ sur le nombre d'arènes créées. Consultez \fBM_ARENA_MAX\fP pour la définition d'une arène. .IP -Le calcul de la limite dure du nombre d'arènes et définit par +Le calcul de la limite dure du nombre d'arènes est définit par l'implémentation et est généralement un multiple du nombre de CPU -disponibles. Le résult est définitif une fois la limite dure calculée, et il +disponibles. Le résultat est définitif une fois la limite dure calculée, et il contraint le nombre total d'arènes. .IP La valeur par défaut du paramètre \fBM_ARENA_TEST\fP est\ 2 sur les systèmes où @@ -87,7 +87,7 @@ Ce paramètre est disponible depuis la glibc\ 2.10 via \fB\-\-enable\-experimental\-malloc\fP, et par défaut depuis la glibc\ 2.15. .IP -La valeur de \fBM_ARENA_TEST\fP n'est pas utlisée lorsque \fBM_ARENA_MAX\fP à une +La valeur de \fBM_ARENA_TEST\fP n'est pas utlisée lorsque \fBM_ARENA_MAX\fP a une valeur non nulle. .TP \fBM_CHECK_ACTION\fP @@ -165,11 +165,11 @@ blocs libres, les fonctions d'allocation de mémoire utilisent \fBmmap\fP(2) plutôt que d'augmenter la taille du segment de données avec \fBsbrk\fP(2). .IP -Allouer la mémoire avec \fBmmap\fP(2) permet toujours aux blocs de mémoire +Allouer de la mémoire avec \fBmmap\fP(2) permet toujours aux blocs de mémoire alloués d'être rendus de manière indépendante au système. Cela représente un avantage significatif comparé au tas qui ne peut être désalloué que si la mémoire est libérée par le haut. D'autre part, il y a certains inconvénients -à utiliser \fBmmap\fP(2)\ : l'espace désalloué n'est pas considéré comme libéré +à utiliser \fBmmap\fP(2)\ : l'espace désalloué n'est pas considéré comme libéré, l'empêchant d'être réutilisé pour de futures allocations\ ; de la mémoire peut être gaspillée car les allocations via \fBmmap\fP(2) doivent être alignées sur une taille de page\ ; et le noyau doit effectuer la tâche coûteuse de @@ -256,7 +256,7 @@ inutilisée en haut du tas (avec une valeur élevée). .SS "Variables d'environnement" Un certain nombre des paramètres de \fBmallopt\fP() peuvent être modifiés à -travers de variables d'environnement. Ces variables ont l'avantage de ne pas +travers des variables d'environnement. Ces variables ont l'avantage de ne pas nécessiter la modification du code source du programme. Pour être prises en compte, ces variables doivent être définies avant le premier appel à une fonction d'allocation mémoire. Les paramètres passés par la fonction @@ -280,7 +280,7 @@ \fBM_CHECK_ACTION\fP de \fBmallopt\fP(). Si elle est configurée à une valeur non nulle, une mise en œuvre spécifique des fonctions d'allocation mémoire est utilisée, grâce à la fonctionnalité \fBmalloc_hook\fP(3). Cette mise en œuvre -effectue des vérifications d'erreurs supplémentaires, au prix d'un +éffectue des vérifications d'erreurs supplémentaires, au prix d'un ralentissement par rapport au jeu standard de fonctions d'allocation mémoire. Cependant, elle ne détecte pas toutes les erreurs possibles\ : des fuites mémoires peuvent encore se produire. @@ -351,7 +351,7 @@ mémoire est libérée les octets sont initialisés à \fIvalue\fP. Cependant, une erreur de \fIsizeof(size_t)\fP est présente dans le code mis en œuvre\ : au lieu d'initialiser précisément le bloc de mémoire libéré par l'appel \fIfree(p)\fP, -c'est bloc démarrant à \fIp+sizeof(size_t)\fP qui est initialisé. +c'est le bloc démarrant à \fIp+sizeof(size_t)\fP qui est initialisé. .SH EXEMPLE Le programme ci\-dessous illustre l'utilisation de \fBM_CHECK_ACTION\fP. Si le programme est appelé avec un paramètre (entier), alors celui\-ci est utilisé