Por favor, compruebe: http://man7.org/linux/man-pages/man5/proc.5.html
address perms offset dev inode pathname
00400000-00452000 r-xp 00000000 08:02 173521 /usr/bin/dbus-daemon
El campo de dirección es el espacio de direcciones en el proceso que ocupa el mapeo .
El campo permanentes es un conjunto de permisos:
r = read
w = write
x = execute
s = shared
p = private (copy on write)
El campo de desplazamiento es el desplazamiento en el archivo/lo que sea;
dev es el dispositivo (mayor: menor);
inode es el inodo en ese dispositivo. 0 indica que no se asocia ningún inodo con la región de memoria, como sería el caso con BSS (datos no inicializados).
El campo de nombre de ruta será generalmente el archivo que respalda la asignación. Para los archivos ELF, puede coordinar fácilmente con el campo de compensación mirando el campo Desplazamiento en los encabezados de programa ELF (readelf -l).
En Linux 2.0, no hay ningún campo que proporcione el nombre de ruta.
Sí, las pthreads están asignando bloques de 8Mb para una pila con una sección más pequeña para la detección de desbordamiento de la pila (creo). Por lo tanto, cada pthread creado, por defecto, asigna una región de memoria inode 0 de 8Mb y una región inode 0 de 4Kb. – simon
Entonces, en su ejemplo 'gpm' está mapeando el archivo binario en alguna dirección virtual desde el principio, con un encabezado ELF, etc. ¿No se supone que el cargador analiza el encabezado ELF y asigna secciones individuales, no el archivo completo? –