Te recomiendo antes de meterte en estos temas , aprender algo sobre S.O y Assembly para procesadores x86. O ir a la par , es decir , aprender exploiting a la vez. Te va a resolver muchas dudas.
Cosas vitales que te puedo decir rapido es que: Los sistemas operativos Windows, GNU/Linux, usan un modelo de memoria que no utiliza directamente la memoria fisica , sino que crean un espacio virtual , memoria virtual , que varia segun lo permitido por el procesador , con procesadores x86 podes crear un rango de memoria virtual grande pero no mas grande que con los x64.Esa memoria virtual es traducida a memoria fisica.Si la memoria fisica es mas pequeña de lo que se tiene en memoria virtual , se pasa a disco , se guarda en disco , en vez de en memoria fisica.Como esta memoria es virtual , no es directamente la memoria fisica , para darle seguridad al S.O , se decidio que cada proceso, tenga su propia memoria virtual asi otro proceso cualquiera no puede alterar a otro, una "medida de seguridad". Hay S.O(Windows) que te permiten ejecutar un HILO en un proceso remoto , escribir codigo en un proceso remoto , etc.¿Medio tonto , no?
En fin , te expliq algo sobre como administra la memoria estos S.O , acordate q el S.O es el encargado en administrar varias cosas , no solamente la memoria. Te recomiendo enserio leer S.O y Assembly. Cuando avanzes en exploiting , saldras de USERLAND y pasaras a KERNELLAND , donde necesitaras saber un poco mas de lo basico sobre S.O.
Acordate algo importante que muchos olvidan , esto que te explique no vale para todos los S.O , es simplemente el modelo de memoria que decidieron utilizar los creadores de estos OS.
Saludos , y si necesitas algo avisame.
Cosas vitales que te puedo decir rapido es que: Los sistemas operativos Windows, GNU/Linux, usan un modelo de memoria que no utiliza directamente la memoria fisica , sino que crean un espacio virtual , memoria virtual , que varia segun lo permitido por el procesador , con procesadores x86 podes crear un rango de memoria virtual grande pero no mas grande que con los x64.Esa memoria virtual es traducida a memoria fisica.Si la memoria fisica es mas pequeña de lo que se tiene en memoria virtual , se pasa a disco , se guarda en disco , en vez de en memoria fisica.Como esta memoria es virtual , no es directamente la memoria fisica , para darle seguridad al S.O , se decidio que cada proceso, tenga su propia memoria virtual asi otro proceso cualquiera no puede alterar a otro, una "medida de seguridad". Hay S.O(Windows) que te permiten ejecutar un HILO en un proceso remoto , escribir codigo en un proceso remoto , etc.¿Medio tonto , no?
En fin , te expliq algo sobre como administra la memoria estos S.O , acordate q el S.O es el encargado en administrar varias cosas , no solamente la memoria. Te recomiendo enserio leer S.O y Assembly. Cuando avanzes en exploiting , saldras de USERLAND y pasaras a KERNELLAND , donde necesitaras saber un poco mas de lo basico sobre S.O.
Acordate algo importante que muchos olvidan , esto que te explique no vale para todos los S.O , es simplemente el modelo de memoria que decidieron utilizar los creadores de estos OS.
Saludos , y si necesitas algo avisame.