¿El límite de 4 GB de RAM en sistemas de 32 bits también afecta el espacio de intercambio?

11

Es bien sabido que los sistemas de 32 bits solo pueden manejar 4 GB como cantidad máxima de RAM.

En Linux, ¿este límite también se aplica a las particiones de intercambio? Si mi intercambio RAM + supera los 4 GB, ¿se utilizará por completo?

Si la respuesta es "no, no se aplica al intercambio", ¿por qué?

Sekhemty
fuente
3
Esta declaración de limitación de memoria física no es verdadera en todas las plataformas ... "La Extensión de dirección física (PAE) es una característica que permite que las unidades de procesamiento central (CPU) x86 de 32 bits accedan a un espacio de dirección física (incluida la memoria de acceso aleatorio y la memoria asignada dispositivos) de más de 4 gigabytes ". en.wikipedia.org/wiki/Physical_Address_Extension
f1assistance
1
@packets No lo confundas más. Realmente necesita ir y aprender sobre conceptos fundamentales como direccionamiento virtual y paginación primero.
David Marshall
1
No hay problemas, no tengo miedo de aprender.
Sekhemty

Respuestas:

12

No, Imagine RAM es como su escritorio, y el espacio de intercambio / memoria virtual es como un archivador. Puede poner mucha información en un archivador, pero es difícil acceder. Cualquier papel que quieras usar, tienes que sacarlo y ponerlo sobre el escritorio; El problema es que el escritorio solo puede contener tantos papeles a la vez.

Las máquinas de 32 bits solo pueden tener un escritorio de 4 GB (2 ^ 32, o aproximadamente 4 mil millones de bytes) de gran tamaño, pero aún pueden tener archivadores casi ilimitados. Solo tienen que "cambiar" los papeles cuando el escritorio está lleno y deben mirar otra página que está en un archivador.


La razón por la que no se aplica al intercambio es porque el acceso al contenido de RAM o la ejecución de código desde él se limita al tamaño de los números con los que puede trabajar. Piénselo como si solo pudiera tener 4 mil millones de palabras en el escritorio, porque eso es lo más alto que puede contar, y necesita trabajar directamente con las palabras. "La palabra 3.547 está mal escrita. Cambie la palabra 3.452.780 a 'Hola'. Elimine la palabra 6."

Ahora, cada página puede tener 4.000 palabras. El problema es que cuando hace referencia al espacio de intercambio, no lo hace referencia por palabra, solo por página. Por lo tanto, solo puede contar hasta 4 mil millones, pero puede contar hasta 4 mil millones de páginas. En realidad, 4 mil millones de páginas contienen 16 billones de palabras, mucho, mucho más de lo que puedes contar.

Las máquinas de 64 bits pueden contar más alto, por lo que pueden poner todas las páginas en el escritorio a la vez, si tienen un escritorio lo suficientemente grande. Incluso si coloca un escritorio súper grande en una máquina de 32 bits, solo puede contar hasta 4 mil millones, por lo que no tiene forma de hacer referencia a todas las palabras adicionales en el escritorio.

Darth Android
fuente
Entonces, ¿qué intenta decirme es que el espacio de intercambio actúa como un índice para la memoria RAM? ¿Y, en consecuencia, un solo GB de intercambio representa mucha más memoria que un solo GB de RAM? De todos modos, todavía no puedo entender por qué el sistema no puede administrar más de 4 GB de RAM, sino que puede hacerlo con el intercambio. ¿Por qué no estamos usando swap en lugar de RAM entonces?
Sekhemty
1
El espacio de intercambio es como la memoria "descargada", y se hace referencia en fragmentos mucho más grandes. 1 GB de RAM es 1 GB de intercambio, pero la RAM se direcciona por byte y el intercambio se aborda por fragmento. Un ejemplo diferente podría ser pensar en empacar maní. ¿Cuántos cacahuetes de embalaje puedes sostener en tus manos? ¿Quizás 100 antes de intentar recoger más hace que algunos salten entre tus dedos? Ahora, ¿cuántos cacahuetes de embalaje puedes sostener si los ponemos en cajas? Miles? El intercambio es como las cajas. Puede administrar datos en fragmentos más grandes, pero no puede acceder a los datos en sí.
Darth Android
1
@Sekhemty: a su segunda pregunta sobre por qué estamos usando el intercambio todo el tiempo: el archivo de intercambio existe en su disco duro y la velocidad a la que la computadora puede acceder a los datos en el disco duro depende de la velocidad de acceso del disco (y entonces algunos). Pero incluso los discos duros más rápidos son mucho más lentos que la RAM física. Entonces es una cuestión de velocidad. Además, la arquitectura x86 actual no permite esto de todos modos (sin RAM; solo intercambio). El archivo de intercambio es un concepto del sistema operativo del que el sistema no tiene conocimiento.
bobbyalex
10

Estás confundiendo la memoria física y virtual.

La RAM es memoria física. El espacio de intercambio puede contener muchos espacios de direcciones virtuales de 4 GB.

David Marshall
fuente