¿Qué sucede cuando instalas> 4 GB de RAM en una computadora con un sistema operativo de 32 bits?

10

Así que soy programador y no soy un completo idiota, así que sé exactamente por qué no puedes acceder a la memoria donde no puedes tener punteros. Pero nunca he intentado esto y creo que nunca lo haré porque parece una gran pérdida de dinero / tiempo.

Me pregunto si hay alguna herramienta que me permita acceder a mi himem (pensaría que ya habríamos solucionado este problema).

Peter Turner
fuente
Echa un vistazo a esta forma alternativa de formular la misma pregunta: superuser.com/questions/7964/where-did-the-other-8-gb-of-ram-go
desde allí
Gracias, aquí también hay una buena respuesta, es posible que tenga que cerrar esta pregunta. serverfault.com/questions/3342/…
Peter Turner el

Respuestas:

20

Si tiene un procesador con la Extensión de dirección física (que probablemente tenga) y el sistema operativo correcto ( por ejemplo, no es una versión de consumidor de Windows, usa PAE pero tiene un límite de 4 GB ), entonces la memoria se puede asignar y usar normalmente. De lo contrario, la memoria simplemente no se abordará, el sistema operativo le dirá que tiene la cantidad de chips que quiera que sean, pero que no se agregarán a la cantidad de memoria a la que puede acceder.

Mike McQuaid
fuente
3
¿Por qué las versiones normales de Windows no admiten PAE? Solo otra razón para usar Linux ...
Zifre
1
Porque las versiones de 64 bits / servidor cuestan más.
Martin Beckett
2
Incluso las versiones para consumidores de Windows admiten PAE, aunque tienen un límite de 4 GB (por razones de compatibilidad y marketing). (PAE todavía se usa para la función "Prevención de ejecución de datos")
User1686
3
@Zifre, muchos controladores dirigidos al consumidor no pueden hacer frente a PAE y> 4G de RAM en Windows. Como tal, habilitar PAE a menudo resulta en misteriosos bloqueos, y por lo tanto solo se usa para las ediciones del servidor, donde presumiblemente instalarás controladores de mayor calidad diseñados para grandes cantidades de memoria.
bdonlan
bdonlan: PAE también está habilitado en versiones de consumo, solo tienen el límite artificial de 4 GB por eso.
user1686
1

Las cosas funcionarían bien, ya que 4 GB es el límite para un procesador de 32 bits. Aquí hay un artículo que profundiza y muestra que puedes instalar y usar mucho más de 4 GB en un sistema operativo de 32 bits.

mandroide
fuente
Excepto que no todo el espacio de direcciones real está necesariamente dedicado a la memoria física.
Jason S
Lo siento, quise decir más de 4 GB, solo algo en el rango de más de 2 ^ 32.
Peter Turner el
1

Supongo que técnicamente si el sistema operativo estuviera bien diseñado, podría usar más de 4 GB. No hay razón para pensar que un sistema operativo con capacidades de memoria virtual no pueda usar direcciones virtuales de 32 bits con direcciones reales de 64 bits.

Jason S
fuente
1

Depende del sistema operativo de 32 bits que quieras decir.

Por supuesto, en los sistemas operativos modernos, puede conectar casi todo lo que su placa base puede soportar sin problemas (aunque es posible que no pueda usarlo todo), pero ese no siempre fue el caso, al menos con Windows:

Un error en Windows 95, 98, SE y ME aparece si tiene más de 512 MB de memoria instalada.

http://answers.google.com/answers/threadview/id/333688.html

Factor místico
fuente
0

Lo primero que hay que entender es que los sistemas informáticos modernos usan memoria virtual. Puede tener direcciones virtuales de 32 bits para aplicaciones mientras tiene direcciones físicas de más de 32 bits.

La segunda cosa que hay que entender es que el espacio de direcciones físicas se usa para varias cosas, lo más importante es la memoria principal principal y los periféricos mapeados en memoria. Las tarjetas gráficas en particular a menudo tienen grandes regiones mapeadas de memoria. El resultado es que si solo tiene 4 GB de espacio de direcciones físico utilizable, puede terminar con significativamente menos de 4 GB de RAM utilizable. Aproximadamente 3.5 GB utilizables son típicos, pero he visto sistemas donde era tan bajo como 2.5 GB.

En una PC para admitir más de 4 GB de espacio de direcciones físicas, se utiliza un mecanismo llamado PAE. Para que esto funcione se necesitan varias cosas.

  1. La CPU debe soportarlo.
  2. El chipset debe soportarlo.
  3. El BIOS debe ser compatible.
  4. El sistema operativo debe ser compatible.

Las CPU han sido compatibles con PAE durante años, eso no es un problema.

Muchos chipsets más antiguos estaban limitados a 4 GB de espacio de direcciones físicas. Los conjuntos de chips Intel IIRC para computadora portátil obtuvieron soporte para más de 4 GB de espacio de direcciones con la generación "Santa Rosa" en 2007. No estoy seguro acerca de los conjuntos de chips de escritorio, pero espero que sea casi al mismo tiempo. Los conjuntos de chips de estación de trabajo / servidor obviamente obtuvieron soporte mucho antes.

Los BIOS falsos lo admiten principalmente si el conjunto de chips lo hace. Sin embargo, no me sorprendería si hay algunas excepciones.

El sistema operativo es espinoso. Linux y Windows han sido compatibles con PAE durante años. Desafortunadamente, desde Windows XP Service Pack 2 MS ha limitado artificialmente el espacio de direcciones físicas a 4 GB. Afirman que hicieron esto debido a los conductores con errores, los cínicos sospecharían que lo hicieron para obligar a las personas a comprar ediciones de servidor.

En Windows XP, esto se integra en el núcleo y básicamente no se puede deshacer. Sin embargo, en versiones posteriores se puede omitir con algunos hacks menores en el kernel. Ver https://wj32.org/wp/ para más detalles.

lavado
fuente