Autor |
Mensaje |
Pablon
Nivel 5
Edad: 32
Registrado: 16 Feb 2010
Mensajes: 168
Ubicación: Banfield
Carrera: Informática
|
|
La pregunta es la siguiente, en el Murdocca se muestra una figura de un mapa de memoria (página 102) para un procesador de 32 bits ( que puede direccionar hasta 2^32 - 1 en la memoria), y se organiza de la siguiente manera cuando uno tiene los 4 gbs (máxima capacidad en 32 bits), la pregunta es, ¿Qué pasa cuando se tiene menos de 4 gbs? ¿Como se organiza?
|
|
|
|
_________________
|
|
|
|
|
Sebastian Santisi
Administrador Técnico
Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451
|
|
En primer lugar, es un ejemplo; no necesariamente está implementado así, eso depende intrínsecamente del sistema operativo.
En el caso real, generalmente, por más que tengas 4GB de RAM, probablemente no sean todos accesibles, dado que determinados mapeos de memoria se implemetan a nivel hardware (puertos, por ejemplo).
Lo importante, si el esquema fuera el del ejemplo y tuvieras menos RAM es que la parte rayada, va a ser tan grande o tan chica como lo que le sobre al resto. De todos modos, en la vida real, tal vez el kernel space, el user space o la memoria para buffers se achique consecuentemente con la reducción de la memoria real.
Pero podés asumir eso, que el espacio para kernel se mantiene constante, y que el stack y el heap se ajustan a lo que haga falta, siguiendo la misma organización.
|
|
|
|
_________________
|
|
|
|
|
soyanonimo
Nivel 3
Registrado: 21 Mar 2014
Mensajes: 23
|
|
Es un poco viejo este tema, pero bueno, espero que alguien pueda contestarme. En realidad la pregunta es la misma que arriba: cómo queda el mapa de memoria si por ejemplo, en vez de 4GB, 512MB? Podría dejar los primeros 2048 para el SO, y el espacio de usuario y la pila podrían achicarse todo lo que hiciera falta, pero qué pasa con el resto, y dónde empieza cada parte?
|
|
|
|
|
|
|
|
|
tomii.ff
Nivel 2
Edad: 32
Registrado: 07 Feb 2012
Mensajes: 14
Ubicación: CABA
Carrera: Informática
|
|
Revisando un poco los apuntes y la pregunta de arriba, por lo que entendí, si vos tenes 512 MB = 2^9 * 2^20, es decir => 2^29. Esto es memoria RAM, es decir que la tenes que repartir para el SO, el user space / heap y el stack del sistema.
Por lo tanto el fondo de la pila del sistema entiendo estaría en (2^29) - 4 (última dirección de memoria a la que podés acceder por el chip de RAM). El espacio mapeado a I/O seguiría siendo a partir de 2^31, no importa cuanta memoria tengas. (Es decir 2 GB para mapear en I/O)
Los demás espacios, siguiendo la línea de razonamiento de Santisi, se podrían ajustar arbitrariamente, según entendí.
|
|
|
|
|
|
|
|
|
|
|
Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro No podés responder a temas en este foro No podés editar tus mensajes en este foro No podés borrar tus mensajes en este foro No podés votar en encuestas en este foro No Podéspostear archivos en este foro No Podés bajar archivos de este foro
|
Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker365 Attacks blocked.
|