Límite de 2 GB en sistemas operativos de 32 bits

8

¿El límite de 2 GB en los sistemas operativos de 32 bits significa que cada proceso solo puede acceder a 2 GB de memoria o que todos los procesos juntos solo pueden usar 2 GB de memoria física en total?

Entonces, ¿los 2GB reservados para el kernel limitan la cantidad total que todos los procesos juntos pueden usar?

Científico loco
fuente
Tenga en cuenta que Fabian se refiere solo a la memoria física, no al archivo de paginación.
Arda Xi
También se refiere solo a Windows, no a los sistemas operativos en general.
Arda Xi
Él puede estar preguntando sobre eso, pero no existe tal relación. Cada proceso puede acceder a 2 GB virtuales. Una fracción de esto estará en RAM ("residente"). En las versiones de cliente de Windows de 32 bits, el total de la memoria residente de todos los procesos más la memoria residente del sistema operativo no puede superar los 4 GB. No hay una división de 2 GB en la asignación de memoria física.
Jamie Hanrahan
La respuesta aceptada en esta publicación brinda información completa - stackoverflow.com/questions/490520/…
RBT

Respuestas:

4

Existen muchos conceptos erróneos sobre el límite de memoria en los sistemas operativos Windows de 32 bits.

En primer lugar, cuando digo RAM, esto incluye todo tipo de RAM. Entonces, no solo regular, sino también su RAM de video.

La cantidad máxima de RAM disponible por proceso para un sistema operativo de 32 bits es de 2 GB. Si tiene un sistema operativo de 64 bits, un proceso de 32 bits puede asignar hasta 4 GB.

Además, todo el sistema operativo solo puede direccionar 4 GB para cada proceso combinado, mientras que los sistemas operativos de 64 bits pueden asignar 8 TB.

También es interesante que este límite se suma al grupo paginado. Esto significa que un sistema operativo de 32 bits no puede usar más de 2 GB en total, lo que significa 6 GB para todas las aplicaciones, incluida la memoria virtual. Por supuesto, esto no tiene nada que ver con la RAM, ya que los otros 2 GB se almacenarían en el archivo de paginación, limitado a la velocidad de su disco duro.

Para obtener más información, consulte Límites de memoria para versiones de Windows .

Nota: esto es solo para aplicaciones. Un sistema operativo Windows de 32 bits puede asignar hasta 4 GB en total, pero 2 GB de este se asignan solo para uso del sistema, dejando solo 2 GB para el uso de las aplicaciones. En ciertos casos (especialmente los sistemas operativos más nuevos) esto se divide en 3 GB para aplicaciones y 1 GB para el núcleo.

Solo discutí sobre Windows porque ese es el contexto en el que se hizo la pregunta. No estoy familiarizado con los límites de otros sistemas operativos.

Arda Xi
fuente
2
esta respuesta no está completa: no incluye el concepto de "espacio de direcciones" más allá de decir que la memoria de video está incluida, y el hecho de que el espacio de direcciones en los sistemas operativos de 32 bits está limitado a 4 GB sin extensiones, no a 2 GB (usted incluso puede decirle a una copia de XP de 32 bits que arranque con 3 GB de RAM)
lunixbochs
1
La pregunta no era sobre qué espacio de direcciones es. Podría aburrirlos a todos discutiendo la forma en que se aborda la memoria y el límite de los enteros de 32 bits, pero de eso no se trata esta pregunta, por lo que parece innecesariamente complejo. Y sí, puede usar el modificador / 3GB. Esta pregunta no incluye eso.
Arda Xi
1
El límite de memoria de 4 GB solo se aplica a la memoria física en la arquitectura estándar de 32 bits x86. La memoria virtual es diferente y un sistema operativo de 32 bits puede utilizar mucho más de 4 GB de memoria (total no por proceso) si está utilizando un archivo de página o una partición de intercambio. La velocidad del disco duro no tiene influencia en el tamaño del archivo de página disponible o el espacio de intercambio, si el disco duro tiene espacio, entonces puede paginar o intercambiar. Solo afecta el rendimiento de paginación / intercambio.
1
Oh, olvidé mencionar que el ram de video no es un factor, a menos que sea un ram de video integrado que comparta el ram principal, pero aun así solo resta del ram físico disponible. No afecta la memoria virtual disponible. Las tarjetas de video dedicadas tienen sus propios procesadores y memoria que no tienen en cuenta la memoria disponible del sistema.
@Spooky No es completamente cierto. Si observa mi enlace, verá que el grupo paginado está limitado por el espacio de direcciones virtuales en modo kernel que es de 2 GB. Esto significa aproximadamente 6 GB en total.
Arda Xi
0

Si el OP se refiere a sistemas operativos Windows, entonces todos los sistemas operativos de 32 bits están limitados a un total de 4 GB, excepto para el centro de datos del servidor 2003 o la empresa con un concepto llamado PAE (Extensión de dirección física). Esto también está disponible en los núcleos modernos de Linux. Por supuesto, los procesadores de 32 bits son cada vez más raros fuera del espacio móvil.

skub
fuente