Les quatre enregistrements ont des autorisations différentes, ils ne peuvent donc pas être fusionnés.
- L'
r-xp
entrée décrit un bloc de mémoire exécutable ( x
indicateur d'autorisation). Voilà le code.
- L'
r--p
entrée décrit un bloc de mémoire qui est uniquement lisible ( r
indicateur d'autorisation). Ce sont des données statiques (constantes).
- L'
rw-p
entrée décrit un bloc de mémoire accessible en écriture ( w
indicateur d'autorisation). C'est pour les variables globales de la bibliothèque.
- L'
---p
entrée décrit un morceau d'espace d'adressage qui n'a pas d'autorisations (ou de mémoire mappée).
Tous sont privés ( p
indicateur), ce qui signifie que si un processus modifie une page (ce qui n'est possible que pour la partie accessible en écriture), cette page sera copiée (copie sur écriture) et les autres processus ne verront aucun changement.
Cette dernière entrée est un écart entre le segment de code et le segment de données qui est explicitement inséré par l'éditeur de liens GNU dans certaines circonstances. Le but de cet écart est de garantir que le code (partageable entre les processus qui utilisent la même bibliothèque) et les données inscriptibles (non partageables) ne se trouvent jamais sur la même page. La taille de l'espace est de 2 Mo, car c'est la plus grande taille de page¹ que Linux utilise sur votre architecture (amd64). Voir À quoi servent les mappages de mémoire apparemment inutilisables sous Linux? pour plus de détails.
¹ La plupart des pages font 4 Ko, ce qui correspond à la taille de page «normale». Mais il peut y avoir des pages qui utilisent moins d'indirections MMU, ce qui est légèrement plus rapide mais gaspille beaucoup d'espace à moins que l'application n'utilise réellement de très gros blocs de mémoire. Linux appelle ces pages immenses .
Source et plus d'informations sur l'écart non mappé: pourquoi gnome-panel utilise 290 Mo? par RJK. Voir aussi l'entrée pour /proc/PID/maps
dans la documentation du noyau Linux , Comprendre Linux / proc / id / maps et / proc / $ pid / maps affiche les pages sans autorisations rwx sur x86_64 linux sur Stack Overflow.
Gilles 'SO- arrête d'être méchant'
la source