Si está actualizando su computadora, la RAM será una de las primeras en la lista. Sin embargo, es fácil de comprar e instalar así, pero no es un hecho que tales acciones se conviertan en una panacea en el camino hacia una actualización real de su computadora o computadora portátil. El caso es que, de hecho, existen restricciones en el soporte de RAM, en términos de su volumen, dependiendo de la profundidad de bits del sistema instalado en él.

¿Cuánta memoria admite Windows en sistemas de 32 y 64 bits?

Aquí hay una regla de oro que funcionará independientemente del sistema del que estemos hablando ahora, ya sea Windows 7, 8 o Windows Vista. Un sistema de 32 bits admite hasta 3,3-3,5 GB de RAM y un sistema de 64 bits admite 128 GB o más. En principio, ya no se puede leer sobre el futuro, ya que, guiado por estos datos, ya se puede hablar de cuánta memoria RAM se puede poner al final.

Acerca de la compatibilidad con RAM para el sistema Windows

Según datos de WinSuperSite, Windows 7.8 admite hasta 192 GB de RAM pero para un sistema de 64 bits. Entonces, la versión de 64 bits de Windows 7, como escribimos, "ve" correctamente 192 GB de RAM, pero nuevamente solo para las versiones Professional, Enterprise y Ultimate. El límite máximo de memoria para las versiones Home Basic y Home Premium será de 8 y 16 GB, respectivamente.
En cuanto a la versión de 32 bits, incluso si "ve" toda la memoria, todavía funciona con no más de 4 GB de RAM.
En general, todo es como escribimos anteriormente. Si tiene un sistema de 64 bits, lo más probable es que compre y agregue RAM sin problemas. pero a partir del 32 sistema de bits esta actualización no funcionará. Tendremos que poner primero algo más moderno, estamos hablando del sistema, y ​​luego pensar en la memoria RAM.

La cantidad máxima de RAM que admiten los sistemas de 32 bits

Hagámonos la pregunta: ¿los sistemas de 32 bits pueden funcionar con una memoria física superior a 4 GB en principio, y si es así, cómo?

Lo principal que debe hacer desde el principio es distinguir claramente entre tres conceptos:

propiedades del procesador;
sistema operativo de 32 bits;
aplicación de 32 bits (programa)
Los dos últimos se mezclan muy a menudo en un montón, lo que en este caso no debería hacerse. Comencemos en orden y desde lejos, hagamos una breve digresión histórica.

Pasemos a la tabla de las principales características de los procesadores populares de Intel:

Necesitamos esta tabla para mostrar claramente el hecho de que el ancho de bits del bus de direcciones no siempre coincidía con el ancho de bits de la arquitectura del procesador.
Primero, veamos los procesadores de 16 bits. Si tuvieran un bus de direcciones de 16 bits, entonces talla máxima de memoria física disponible para ellos sería de solo 64 KB (2 elevado a 16 es igual a 65536). Sin embargo, Intel 8086 ya podía trabajar con memoria de hasta 1 MB, y 80286 ya hasta 16 MB gracias a 20 y, en consecuencia, 24 bits del bus de direcciones.
La era de los procesadores compatibles con x86 con registros de 32 bits y 4 GB de RAM comenzó con el Intel 80386 allá por 1985. Durante los siguientes 10 años, los procesadores x86 de 32 bits no pudieron funcionar físicamente con más de 4 GB de memoria.
En 1995, se introdujo el procesador Intel Pentium Pro. Junto con una arquitectura central completamente nueva, este procesador recibió un bus de direcciones de 36 bits que, como no es difícil de calcular, aumentó el tamaño máximo de la memoria física disponible a 64 GB (en los procesadores modernos de 64 bits, 37). se utilizan bits, lo que aumenta el límite de memoria física direccionable a 128 GB).
Además, el procesador implementó un mecanismo de administración de memoria "complicado" que asignó la memoria física ubicada más allá de 4 GB a la memoria virtual de 32 bits en el rango de 0 a 4 GB, "engañando" así a las aplicaciones de 32 bits. Este modo de administración de memoria por parte del procesador x86 se denomina PAE (Physical Address Extension - extensión de dirección física).
Pentium Pro se posicionó en ese momento como un procesador para servidores y estaciones de trabajo. De hecho, no era fácil imaginar una computadora de escritorio en 1995 con no solo más, sino que se acercara remotamente a 4 GB de RAM. A continuación, la memoria se midió en megabytes. Por ejemplo, en 1998, 32 MB de RAM en una computadora de escritorio típica no se consideraba poco. Y tal barra de memoria cuesta desde $ 60. Y en nuestro tiempo (2014), las computadoras con menos de 4 GB de memoria están en pleno apogeo. Para el trabajo de las aplicaciones ofimáticas junto con Windows XP, esta cantidad de memoria es incluso mucha. Además, el procesador Pentium Pro era muy caro y presentaba problemas de rendimiento al ejecutar aplicaciones populares de 16 bits en ese momento.
Podemos decir que tal solución era nueva para los procesadores de 32 bits, sin embargo, debido al hecho de que esta práctica se usaba ampliamente anteriormente en los procesadores de 16 bits, difícilmente puede llamarse revolucionaria. De hecho, desde los días de DOS, el truco con el direccionamiento de segmentos ha sido ampliamente utilizado cuando toda la memoria se dividía en segmentos de 64 KB y la dirección constaba de dos partes: un segmento y un desplazamiento dentro del segmento, por lo que era posible utilizar más de 64 KB de memoria.
No todos, pero la gran mayoría de los procesadores de escritorio x86 modernos son de 64 bits y son compatibles con PAE. Gracias a esto, no solo pueden trabajar con una memoria de más de 4 GB, sino que también brindan esa oportunidad a los sistemas operativos de 32 bits.

La forma más fácil de determinar el soporte para el modo PAE por parte del procesador resultó ser en Linux. En Ubuntu, o cualquiera de sus muchos clones, puede escribir en la terminal:
grep -color=siempre -i PAE /proc/cpuinfo
El resultado debería ser algo como esto:


sistemas operativos de 32 bits

El primer sistema operativo de 32 bits de Microsoft fue Windows NT 3.1, lanzado en 1993. Estaba destinado al sector corporativo, es decir, a servidores y estaciones de trabajo. Dos años más tarde, en 1995, apareció Windows 95, un sistema operativo para ordenadores de sobremesa y portátiles. Entre estos dos eventos, se introdujo la versión 1.0 del kernel de Linux en 1994. La arquitectura de 32 bits resultó ser tan exitosa y "suficiente" que ha sido ampliamente utilizada hasta ahora durante las últimas 2 décadas. El último sistema operativo de servidor de 32 bits de Microsoft fue Windows Server 2008. Sin embargo, el último Windows 8 todavía se ofrece en dos versiones. Para implementar funciones adicionales del modo de extensión de dirección física, además de tener un procesador y una placa base apropiados con un conjunto de chips adecuado y la cantidad requerida de líneas de dirección enrutadas, el propio sistema operativo requiere soporte PAE directamente.
Si está ejecutando Linux de 32 bits, no tendrá ningún problema al usar más de 4 GB de memoria. En los sistemas operativos Linux, el soporte PAE apareció en 1999 en el kernel 2.3.23 y se ha utilizado sin restricciones desde entonces.

Veamos la tabla de tamaños máximos de memoria física admitidos, tomada de un artículo de 2005 en msdn.microsoft.com, para Windows 2000, Windows XP y Windows Server 2003 >


Como puede ver en esta tabla, el modo PAE es compatible con todas las versiones del SO de Microsoft desde Windows 2000. Las variaciones en los tamaños máximos de memoria en diferentes versiones de sistemas operativos de servidor se explican únicamente por su posicionamiento en el mercado por parte de Microsoft. Esta es probablemente la forma más fácil de explicar sus diferentes precios. De particular interés para nosotros son las filas de la tabla, que indican directamente que en todas las versiones de Windows XP el espacio total de direcciones de la memoria física está limitado a 4 GB. Está limitado artificialmente en el kernel, ya que hay soporte para PAE.
El modo PAE se puede habilitar o deshabilitar. A partir de Windows XP SP2, se obliga a habilitar PAE para habilitar la tecnología de seguridad DEP (Prevención de ejecución de datos).

DEP es una tecnología que le permite proteger el sistema operativo de una gran clase de código malicioso que inicialmente se entromete en el área de memoria asignada para los datos y se disfraza como datos, y luego intenta ejecutarse desde allí. La tecnología DEP bloquea dicha ejecución de código malicioso. La tecnología se implementa tanto en software como en hardware. En el último caso, el procesador marca las páginas individuales de la memoria para indicar que no contienen código ejecutable con un bit alto modificado en la tabla de direcciones de la memoria virtual PTE (Page Table Entry), y luego intercepta y evita que el código ejecutable se ejecute desde estas páginas.

aplicaciones de 32 bits
Gracias al administrador de memoria del procesador, que asigna memoria en modo PAE, independientemente del funcionamiento de las aplicaciones, y al soporte de este modo de funcionamiento por parte del sistema operativo, las aplicaciones de 32 bits están separadas de la memoria física y no tienen conocimiento de su real. tamaño. Cada aplicación, debido a que retiene un espacio de direcciones de 32 bits, solo tiene 4 GB de memoria virtual disponible. En Windows, exactamente la mitad de estos 4 GB se destinan a las necesidades de la propia aplicación, en Linux: 3 GB. En Windows, es posible forzar que se den 3 GB a una aplicación, pero en la mayoría de los casos esto no es práctico.
Debe tenerse en cuenta que activar el modo PAE no es equivalente a cambiar a un sistema de 64 bits, en el que a cada aplicación se le asigna una cantidad de memoria incomparablemente mayor. Si a costa del PAE tratamos de satisfacer directamente el desorbitado apetito de un determinado aplicación moderna, por ejemplo, un paquete de ingeniería o modelado gráfico, entonces no saldrá nada bueno de ello. Pero si necesita ejecutar simultáneamente varias aplicaciones que demandan memoria (pero no súper), entonces los beneficios de PAE serán directos. En primer lugar, se trata de servidores.
Por ejemplo, se requieren dos máquinas virtuales para ejecutarse simultáneamente, cada una con 2 GB de memoria. Lo que sucederá sin PAE está claro: lo más probable es que la segunda máquina virtual simplemente no se inicie, o el sistema iniciará un intercambio tan intenso con el archivo de intercambio que el proceso entrará en la categoría de "estrategia paso a paso". ". Con PAE habilitado, siempre que haya suficiente RAM física en la máquina host, ambas máquinas virtuales podrán funcionar sin problemas.
Las desventajas de PAE generalmente incluyen una posible disminución en el rendimiento del sistema debido a una disminución en la velocidad de acceso a la memoria asociada con operaciones adicionales para cambiar las páginas de memoria mostradas y el bajo rendimiento de algunos controladores de dispositivos en un espacio de direcciones de 36 bits.

Cantidades máximas de memoria física admitidas por diferentes versiones de Windows

Veamos cuánta RAM admiten otras versiones de Windows lanzadas después de XP.


En las versiones de Windows Vista x86, casi nada ha cambiado en comparación con XP.


Como puede ver, nuevamente sin cambios: el límite absoluto para x86 se mantuvo en 4 GB. 1 GB en Windows Vista Starter y 2 GB en Windows 7 Starter solo refuerzan la conclusión de que estos límites son artificiales.

Lo mismo para Windows 8


Como se puede ver en la tabla presentada, tampoco ha cambiado nada en términos de límites de memoria en Windows 8. Es una pena, probablemente podrían eliminar la restricción, o al menos retrasarla.

Y ahora es el momento de considerar razones por las que Microsoft limita el límite superior de memoria física disponible en las versiones cliente de Windows x86.

Una de las principales razones- Problemas de seguridad de Windows XP.

Windows XP se lanzó en el otoño de 2001 y en muy poco tiempo ganó una inmensa popularidad entre los usuarios de todo el mundo. Y, como saben, donde hay gran popularidad, hay grandes problemas. Al instante, se creó una gran cantidad de código malicioso en forma de varios y numerosos virus. Al mismo tiempo, resultó que el nuevo sistema operativo tiene una serie de vulnerabilidades y una muy baja resistencia a la piratería. En ese momento, Microsoft no tenía su propio paquete antivirus de cliente completo. La situación fue corregida en gran medida por productos de software de terceros, sin embargo, esto claramente no fue suficiente y, en general, la situación permaneció muy tensa.
Para mejorar de alguna manera la seguridad de Windows XP, en 2004 se lanzó el segundo Service Pack, SP2. Y luego hubo problemas. Una de las principales características de este paquete, en términos de seguridad, fue la inclusión de la tecnología DEP (Data Execution Prevention). Esta tecnología, ampliamente utilizada en la actualidad, permite repeler toda una clase de ataques maliciosos al prohibir la ejecución de código ejecutable desde páginas de memoria que no están destinadas a ello. Pero para que DEP funcione, se debe habilitar la compatibilidad con PAE (extensión de dirección física). Habilitar el modo PAE cambia el mecanismo para acceder a las páginas de RAM y permite trabajar con memoria física de más de 4 GB. Sin embargo, al preparar y probar Windows XP con el segundo paquete de servicio, se descubrieron grandes problemas que provocaron errores fatales y bloqueos. Sistema operativo. Muy rápidamente, se encontraron las causas de los problemas. Resultaron ser controladores de dispositivos escritos sin tener en cuenta la posibilidad de su funcionamiento en modo PAE.

Una pequeña digresión.
En el modo PAE, cualquier página de memoria del espacio de direcciones virtuales de la aplicación de 32 bits se puede ubicar en cualquier lugar de la memoria física disponible. Esta circunstancia no afecta en modo alguno a las aplicaciones ordinarias, les da igual. Pero para los controladores de dispositivos, todo es mucho peor: luego deben trabajar con direcciones físicas específicas y no con direcciones virtuales. Condicionalmente, la situación se puede representar de la siguiente manera:


El controlador intenta leer o escribir alguna información en las direcciones asignadas para trabajar con el dispositivo. Si el controlador es "estúpido", no entiende en qué entorno funciona y no puede "negociar" con el sistema operativo, entonces, como se muestra en la figura, en lugar de los puertos de entrada / salida de su dispositivo, comenzará a comunicarse con algunas celdas de memoria física. El resultado de tal "comunicación" para el funcionamiento del sistema es impredecible, hasta una "congelación" completa y reinicio.

Para resolver este problema y no impedir que los usuarios instalen SP2 debido a Posibles problemas, Microsoft tomó la decisión de un comandante: habilitar PAE, pero es trivial limitar el límite superior de la RAM disponible de las versiones cliente de su sistema operativo a 4 GB. En este caso, las direcciones se traducen uno a uno como en el sistema "clásico" de 32 bits, y los controladores de dispositivos "estúpidos" sin terminar funcionan correctamente.
Bueno, barato y alegre. Barato porque los fabricantes de hardware no tuvieron que apresurarse a ordenar el desarrollo de los controladores "correctos". Enojado, porque los problemas con el uso de la memoria física de la computadora, pospuestos de esta manera por el momento, se trasladaron al usuario final.
Ya han volado muchos gigas desde el lanzamiento del SP2 para XP, y Windows todavía no ve más de 4 GB de RAM y, como vimos en la tabla “Límites de memoria física: Windows 8”, no se esperan cambios en este sentido. .
Y esto no está del todo claro: para Windows Vista, todavía teníamos que escribir nuevos controladores, lo que significa que era posible reescribirlos correctamente para que funcionaran con PAE, pero se mantuvo el límite de 4 GB.
Hoy ya es muy difícil imaginar controladores de 32 bits que no puedan manejar más de 4 GB de memoria. ¿Quizás la razón es que Microsoft quiere presionar a los usuarios para que cambien a x64 de esta manera?

Pero, ¿qué pasa con las versiones de servidor de Windows?
Se puede suponer que los controladores de dispositivos para ellos se desarrollaron de inmediato teniendo en cuenta el trabajo en modo PAE, es decir, fueron "inteligentes" y probados exhaustivamente. Esto también se vio facilitado por el hecho de que las configuraciones de hardware del servidor no tenían tal "colección" de dispositivos integrados.
Hasta hace poco, por ejemplo, antes del advenimiento de la tecnología de virtualización del lugar de trabajo, que, entre otras cosas, sugiere la posibilidad de procesar gráficos por el propio servidor, este último no necesitaba en absoluto una tarjeta de video seria, ya que el video integrado en el tarjeta madre. Además, las versiones de servidor de Windows de 32 bits terminaron su historia con Windows Server 2008.

En la segunda parte, los secretos de la asignación de memoria en Windows de 32 bits y cómo lidiar con la limitación.

algunos aspectos del funcionamiento sistemas Windows 7 relacionados:

1. RAM compatible

2. Razones del alto consumo de RAM

Espero que le sirva a alguien...

¿Cuánta memoria admite Windows 7?

De acuerdo, la pregunta es interesante y está lejos de estar inactiva, aunque pocos de nosotros podemos presumir de tener más de 4 GB de RAM en su sistema. Entonces, según WinSuperSite, Windows 7 admite hasta 192 GB de RAM, lo que no ocurre con Windows Vista. Por otro lado, puede funcionar incluso con 1 GB de RAM, escribe Softpedia. Como sabes, la gran mayoría de los netbooks pueden presumir de solo 1 GB de RAM, pero para Windows 7 esto no es un problema en absoluto.

Es cierto que solo la versión de 64 bits de Windows 7 tiene una gama tan amplia de funciones. En cuanto a la versión de 32 bits, todavía "ve" no más de 4 GB de RAM. Y si Windows 7 "ve" los 4 GB, aún no puede funcionar con esa cantidad de RAM. Digamos que si tiene 4 GB de RAM, la versión de Windows de 32 bits solo puede usar de 3,3 a 3,5 GB. Como saben, esto es un verdadero flagelo para las versiones de 32 bits de todos los sistemas operativos de escritorio y portátiles con procesadores x86, y aquí Windows 7 no es una excepción.

En cuanto a la versión de 64 bits de Windows 7, como escribimos anteriormente, "ve" correctamente 192 GB de RAM, pero nuevamente, solo las versiones Professional, Enterprise y Ultimate. El límite superior para Home Basic y Home Premium es de 8 GB y 16 GB respectivamente. Sin embargo, se está progresando ya que Windows Vista Business, Enterprise y Ultimate de 64 bits solo ven 128 GB. Cierto, en el caso de las versiones Home Basic y Home Premium, este límite también es de 8 y 16 GB. Y la versión de 32 bits de Vista, entiende, aún no "verá" nada más que 4 GB.

Windows 7 "come" memoria. ¿Es tan malo?

En Internet, he escuchado muchos comentarios enojados al estilo de “¡Sí, Windows 7 apesta! ¡Mira cómo se come la memoria! Capturas de pantalla como la siguiente se dan como prueba y, de nuevo, todo se atribuye a "programadores hindúes torcidos". Veamos cómo se justifican estas incursiones a los programadores de Microsoft.

Digamos que compró una computadora con 8 gigabytes de memoria. Pero, ¿es realmente lo que se usa con la fuerza de 1 gigabyte, y el resto de la memoria está inactiva, tan bien? Con el lanzamiento de Windows Vista y Windows 7, el enfoque del uso de la memoria RAM ha cambiado drásticamente: ahora el sistema operativo está tratando de usar toda la memoria disponible de la manera más eficiente posible. En particular, apareció una característica llamada SuperFetch en Windows Vista y Windows 7.

¿Qué es SuperFetch?

SuperFetch es un servicio del sistema que se ejecuta dentro del proceso del sistema svchost. Su código está dentro de la DLL %SystemRoot%\System32\Sysmain.dll. Este servicio realiza un seguimiento de qué aplicaciones está ejecutando el usuario y qué archivos ejecutables y de datos están accediendo. Toda esta información se almacena en archivos *.db en el directorio %SystemRoot%\Prefetch. ¿Para qué es todo esto? Pero para qué: el servicio SuperFetch, al tener información sobre las aplicaciones con las que el usuario trabaja con mayor frecuencia, carga el código y los datos correspondientes en la memoria por adelantado, y cuando el usuario inicia su aplicación, toda la información necesaria ya está en la memoria, y el el lanzamiento lleva mucho más tiempo y más rápido, porque no es necesario leer la información del disco duro. Esto es especialmente notable en aplicaciones tan "pesadas" como la familia MS Office, cuya funcionalidad se puede "manchar" en decenas y cientos de archivos exe y dll. SuperFetch es tan "inteligente" que incluso puede determinar las preferencias del usuario en diferentes días y horas del día; por ejemplo, que entre semana trabaja con Word y Excel, y los fines de semana juega Call of Duty y, en consecuencia, carga en la memoria los datos deseados. En consecuencia, esta área de memoria está marcada como "ocupada", lo que se muestra en el Administrador de tareas, dando la impresión de "fugas de memoria". Sin embargo, si de repente se lanza alguna aplicación que requiere asignación de memoria, el administrador de memoria tranquilamente libera el espacio necesario, y cuando la aplicación finaliza, la memoria se libera y los datos se cargan nuevamente.

Si alguna aplicación, por ejemplo, termina su trabajo y libera memoria, entonces SuperFetch llama al administrador de memoria con una solicitud para cargar el código y los datos recién descargados. Este proceso ocurre a baja velocidad y con la prioridad más baja (Muy baja), por lo que SuperFetch no provoca una caída en el rendimiento. Si, por ejemplo, sale a fumar y en ese momento se inicia un proceso en segundo plano que necesita memoria (por ejemplo, un análisis antivirus), es probable que se descarguen el código y los datos de la aplicación con la que estaba trabajando. de memoria. Gracias a SuperFetch, para cuando regrese de una pausa para fumar, los datos de su aplicación activa se cargarán total o parcialmente en la memoria.

Además, SuperFetch puede manejar la hibernación, la suspensión y el cambio rápido de usuario. Por ejemplo, si el sistema entra en hibernación, SuperFetch guarda en el archivo hiberfil.sys el código y los datos de aquellas aplicaciones que, en su opinión, es más probable que se utilicen después de reanudar la hibernación. ¿Cómo se forma esta “opinión”? Es muy simple: Big Brother SuperFetch lo está observando a usted y lo que inició después de salir de las hibernaciones anteriores, y en base a esto, puede suponer que la próxima vez que salga de la hibernación, probablemente iniciará ICQ y abrirá su navegador favorito, para leer " Habrahabr". Bueno, después de una hora o dos, abrirás Visual Studio, porque el proyecto está en llamas y las fechas límite son "ayer".

Puede ver el trabajo de SuperFetch usando el mismo Administrador de tareas:

Si usa Windows Vista/7 por un tiempo, notará que la cantidad de memoria libre está disminuyendo. Esto se debe a que SuperFetch, la memoria caché estándar del sistema de Windows, intenta usar la memoria disponible para almacenar datos del disco. Por ejemplo, si inmediatamente después Arranque de Windows ejecute el Administrador de tareas: puede ver que la Memoria libre está disminuyendo y la Memoria en caché, por el contrario, está aumentando. Si ejecuta algún programa "hambriento de memoria", o simplemente comienza a copiar un archivo grande, la Memoria libre aumentará y el gráfico de "Uso de memoria física" disminuirá drásticamente, porque el sistema liberará memoria para la aplicación en ejecución, pero luego comenzará a crecer lentamente, porque la propia aplicación comenzará a tomar esta memoria. Sin embargo, con el tiempo, SuperFetch cargará los datos obtenidos recientemente en la memoria, por lo que el valor de la Memoria en caché aumentará y el valor de la Memoria libre disminuirá.

No hay publicaciones relacionadas...