Me falta algo cuando se trata de comprender la necesidad de highmem para abordar más de 1GB de RAM. ¿Podría alguien señalar dónde me equivoco? ¡Gracias!Linux 3/1 dirección virtual dividida
lo que sé:
1 GB de memoria virtual a los procesos (región de memoria alta) se reserva para las operaciones del kernel. El espacio de usuario puede usar los 3 GB restantes. Esta es la división 3/1.
Las características de memoria virtual de la VM asignan las páginas de memoria virtual (continua) a las páginas físicas (RAM).
Lo que no sé:
¿Qué operaciones utilizan la memoria virtual del núcleo? Supongo que cosas como kmalloc (...) en kernel-space usarían la memoria virtual kernel.
Creo que se podrían utilizar 4 GB de RAM en este esquema. No entiendo por qué el kernel de 1 GB de espacio virtual es el factor limitante al abordar el espacio físico. Aquí es donde mi comprensión se descompone. Por favor avise.
He estado leyendo esto (http://kerneltrap.org/node/2450), que es grande. Pero no completa mi pregunta a mi gusto.
"Con 32 bits, es posible direccionar 4 GB de memoria. Hasta hace poco, Linux en sistemas de 32 bits se limitaba a mucha menos memoria que eso, debido a la forma en que configura la dirección virtual espacio." -desde LDD, capítulo 13 Supongo que mi pregunta es, ¿por qué se limita a sustancialmente menos memoria. – David