Los cuatro registros tienen permisos diferentes, por lo que no se pueden fusionar.
- La
r-xp
entrada describe un bloque de memoria ejecutable ( x
indicador de permiso). Ese es el código.
- La
r--p
entrada describe un bloque de memoria que solo es legible ( r
indicador de permiso). Esos son datos estáticos (constantes).
- La
rw-p
entrada describe un bloque de memoria que se puede escribir ( w
indicador de permiso). Esto es para variables globales de la biblioteca.
- La
---p
entrada describe una porción de espacio de direcciones que no tiene ningún permiso (o memoria asignada).
Todos son privados ( p
marca), lo que significa que si un proceso modifica una página (que solo es posible para la parte que se puede escribir), esa página se copiará (copia en escritura) y otros procesos no verán ningún cambio.
Esa última entrada es una brecha entre el segmento de código y el segmento de datos que se inserta explícitamente por el enlazador GNU bajo ciertas circunstancias. El propósito de esta brecha es garantizar que el código (que se puede compartir entre procesos que usan la misma biblioteca) y los datos que se pueden escribir (no se pueden compartir) nunca estén en la misma página. El tamaño de la brecha es de 2 MB porque es el tamaño de página más grande largest que Linux usa en su arquitectura (amd64). Consulte ¿Cuál es el propósito de las asignaciones de memoria aparentemente inutilizables en Linux? para más detalles.
¹ La mayoría de las páginas son de 4 KB, que es el tamaño de página "normal". Pero puede haber páginas que usan menos indirectas de MMU, lo cual es un poco más rápido pero desperdicia mucho espacio a menos que la aplicación realmente use bloques de memoria muy grandes. Linux llama a estas páginas enormes .
Fuente y más información para la brecha no asignada : ¿Por qué gnome-panel usa 290MB? por RJK. Consulte también la entrada /proc/PID/maps
en la documentación del kernel de Linux , Understanding Linux / proc / id / maps y / proc / $ pid / maps muestra páginas sin permisos rwx en x86_64 linux en Stack Overflow.