Sì, c'è un intervallo e puoi determinare quell'intervallo in modo banale per qualsiasi processo in esecuzione. Leggi un dato processo ' /proc/<pid>/maps
per vedere il suo layout di memoria, così come il tipo di memoria in ogni intervallo di indirizzi. Questo è descritto in proc(5)
. Un esempio da un dispositivo incorporato:
root@UP-7197:~# cat /proc/self/maps
00400000-0044b000 r-xp 00000000 1f:02 944 /bin/busybox
0045b000-0045c000 rw-p 0004b000 1f:02 944 /bin/busybox
77450000-77472000 r-xp 00000000 1f:02 802 /lib/libgcc_s.so.1
77472000-77473000 rw-p 00012000 1f:02 802 /lib/libgcc_s.so.1
77474000-77506000 r-xp 00000000 1f:02 891 /lib/libc.so
77513000-77514000 r--p 00000000 00:00 0 [vvar]
77514000-77515000 r-xp 00000000 00:00 0 [vdso]
77515000-77517000 rw-p 00091000 1f:02 891 /lib/libc.so
77517000-77519000 rwxp 00000000 00:00 0
7fc55000-7fc76000 rw-p 00000000 00:00 0 [stack]
La sintassi è spiegata over at Stack Overflow .