¿Por qué Mac OS X de 32 bits puede acceder a los 4 GB de memoria, mientras que Windows de 32 bits no puede?

6

No entiendo por qué el kernel de Mac OS X de 32 bits puede acceder a los 4GB de memoria (y aún más) mientras que Windows de 32 bits solo puede funcionar con ~ 3,3 GB, y para usar más de 4GB necesita Windows de 64 bits. Incluso cuando Windows de 32 bits se ejecuta en hardware Mac con > 4GB mem, todavía no lo usa todo. Perdón por hablar de Windows en este sitio :-), me gustaría entender la diferencia.

    
pregunta Peter Štibraný 22.09.2010 - 16:03

3 respuestas

16

Lectura recomendada: Camino a Mac OS X Snow Leopard: 64-bits, Santa Rosa, y más (y el resto de serie Road to Snow Leopard de Prince McLean). Si no quieres leer mucho, resumiré:

Primero, debes darte cuenta de que OS X no tiene un solo interruptor de modo de 32/64 bits como Windows; Felizmente ejecutará aplicaciones de 64 bits bajo un kernel de 32 bits, o viceversa, y ambas son independientes de lo que puede soportar el subsistema de memoria física. Tenga en cuenta que el bitness de las aplicaciones y el kernel impone límites de memoria: una aplicación que se ejecuta en modo de 32 bits solo puede ocupar 4 GB de memoria virtual sin importar cuánto esté instalado / admitido en la máquina (aunque puede ejecutar una Mac con mucha RAM) varios procesos 4GB totalmente residentes a la vez); y si el núcleo está en modo de 32 bits, solo puede asignar hasta 4 GB para sus diversas estructuras de datos (tabla de páginas, tabla de procesos, tabla de archivos abiertos, etc.). Esto ya es un poco diferente de la forma en que Windows lo hace, ya que comparte el espacio de direcciones entre el kernel y el proceso en ejecución, por lo que cada uno solo obtiene 2 GB. La ventaja del método de Windows es que no requiere un vaciado de memoria caché para cambiar dentro y fuera del kernel, lo que lo hace más rápido. Pero OS X solo necesita vaciar el caché si tanto el programa como el núcleo están en modo de 32 bits; si cualquiera de ellos es de 64 bits, comparten espacio y evitan la penalización de velocidad.

Ahora, vamos a la pregunta sobre la que se hace referencia a los límites de RAM física. Muchas de las primeras Intel Mac tienen en realidad el mismo límite de memoria de ~ 3GB que Windows de 32 bits, por el mismo motivo: parte del espacio de direcciones físicas de 4GB está ocupado por la E / S asignada en memoria, especialmente la tarjeta de video. Algunas Mac posteriores utilizaron el conjunto de chips de soporte de Santa Rosa, lo que les permitió colocar la E / S en un espacio de direcciones separado y utilizar hasta 4 GB de RAM física. Los Mac de gama alta (/ incluso más nuevos) tienen PAE, lo que permite una RAM mucho más física. Se rumorea que Windows no admite PAE en la mayoría de sus sistemas operativos de 32 bits debido a problemas de compatibilidad de controladores. Apple controla la mayoría de los controladores relevantes de todos modos, por lo que lo hicieron funcionar; si el hardware lo admite, el sistema operativo solo lo usa.

    
respondido por el Gordon Davisson 23.09.2010 - 07:52
7

a través de enlace

  

Para usar PAE, se requiere soporte del sistema operativo. Las versiones de Intel de Mac OS X son compatibles con PAE. El kernel de Linux admite PAE como una opción de compilación y la mayoría de las distribuciones principales proporcionan un kernel de PAE como predeterminado o como una opción. FreeBSD y NetBSD también admiten PAE como una opción de compilación del kernel.

     

Microsoft Windows implementa PAE si se inicia con la opción adecuada, pero las ediciones de escritorio actuales de 32 bits imponen el espacio de direcciones físicas dentro de 4 GB incluso en el modo PAE. Según Geoff Chappell, Microsoft limita las versiones de 32 bits de Windows a 4GB debido a una restricción de licencia, y el miembro técnico de Microsoft Mark Russinovich dice que se descubrió que algunos controladores son inestables cuando se encuentran con direcciones físicas de más de 4GB.

    
respondido por el ghoppe 22.09.2010 - 22:54
4

Desde aquí: enlace

"Windows XP Professional de 32 bits está limitado a 4 GB de espacio de direcciones. Si tiene instalados 4 GB de RAM, no mostrará 4 GB dentro de Windows. Lo que probablemente obtendrá es el tamaño de su archivo de páginas que se resta de los 4 GB .

Parte de este espacio de direcciones está reservado para el hardware y el sistema operativo ... por lo que nunca tendrá acceso a los 4 GB completos de todos modos. Si desea acceder a 4GB + de RAM ... su mejor solución es adquirir XP Pro de 64 bits ... pero eso solo funcionará si su CPU P4 tiene EMT64 ".

Puede encontrar una respuesta más detallada en: enlace

    
respondido por el Jason 22.09.2010 - 16:21

Lea otras preguntas en las etiquetas