Espacio de direcciones virtual de proceso

Re: Espacio de direcciones virtual de proceso

de Jorge Merlino -
Número de respuestas: 0
Los programas normalmente no tienen direcciones virtuales hard-coded en el assembler. En el espacio virtual de un proceso hay muchas mas cosas que solo el código del proceso por lo que en general no sabés donde va a quedar el código. Más aún, es un riesgo de seguridad que las direcciones virtuales sean siempre iguales por lo que el sistema operativo intencionalmente guarda los procesos siempre en lugares distintos (buscá ASLR en internet)
Si querés ver el mapa de memoria virtual de un proceso podés ejecutar: pmap ${pid}
Saber donde empieza la página a la que pertenece una dirección en general es fácil porque tienen tamaño potencia de dos y es solo poner en 0 los últimos bits.

Saludos