6 votes

Pourquoi Mac OS X 32 bits peut-il accéder aux 4 Go de mémoire, alors que Windows 32 bits ne le peut pas ?

Je ne comprends pas pourquoi le noyau 32 bits de Mac OS X peut accéder à tous les 4 Go de mémoire (et même plus) alors que Windows 32 bits ne peut fonctionner qu'avec ~ 3,3 Go, et que pour utiliser plus de 4 Go, il faut Windows 64 bits. Même lorsque Windows 32 bits fonctionne sur du matériel Mac avec > 4 Go de mémoire, il ne l'utilise pas entièrement. Désolé de parler de Windows sur ce site :-), j'aimerais juste comprendre la différence.

16voto

Gordon Davisson Points 30215

Lecture recommandée : En route vers Mac OS X Snow Leopard : 64 bits, Santa Rosa et plus encore (et le reste de la collection de Prince McLean Série "Road to Snow Leopard ). Si vous ne voulez pas lire autant, je vais résumer :

Tout d'abord, il faut savoir qu'OS X ne dispose pas d'un commutateur unique de mode 32/64 bits comme Windows ; il fera volontiers tourner des applications 64 bits sous un noyau 32 bits, ou vice versa, et les deux sont indépendants de ce que le sous-système de mémoire physique peut supporter. Attention, le bitness des applications et du noyau impose des limites de mémoire : une application fonctionnant en mode 32 bits ne peut s'adresser qu'à 4 Go de mémoire virtuelle, quelle que soit la quantité installée/prise en charge par la machine (bien qu'un Mac avec beaucoup de RAM puisse faire tourner simultanément plusieurs processus de 4 Go entièrement résidents) ; et si le noyau est en mode 32 bits, il ne peut allouer que 4 Go à ses diverses structures de données (table des pages, table des processus, table des fichiers ouverts, etc.) C'est déjà un peu différent de la façon dont Windows procède, puisqu'il partage l'espace d'adressage entre le noyau et le processus en cours d'exécution, de sorte qu'ils ne disposent chacun que de 2 Go. L'avantage de la méthode Windows est qu'elle ne nécessite pas de vidage du cache pour entrer et sortir du noyau, ce qui la rend plus rapide. Mais OS X n'a besoin de vider le cache que si le programme et le noyau sont tous deux en mode 32 bits ; si l'un ou l'autre est en mode 64 bits, ils partagent l'espace et évitent la pénalité de vitesse.

Passons maintenant à la question que vous posez : les limites physiques de la RAM. De nombreux premiers Macs Intel ont en fait la même limite de mémoire de ~3 Go que Windows 32 bits, pour la même raison : une partie de l'espace d'adressage physique de 4 Go est occupée par les E/S mappées en mémoire, en particulier la carte vidéo. Certains Macs ultérieurs utilisaient le chipset Santa Rosa, qui leur permettait de placer les E/S dans un espace d'adressage séparé, et d'utiliser jusqu'à 4 Go de RAM physique. Les Macs haut de gamme (et même les plus récents) sont équipés du PAE, qui permet d'utiliser beaucoup plus de RAM physique. La rumeur veut que Windows ne prenne pas en charge le PAE dans la plupart de ses systèmes d'exploitation 32 bits en raison de problèmes de compatibilité des pilotes. Apple contrôle la plupart des pilotes pertinents de toute façon, donc ils ont fait en sorte que cela fonctionne ; si le matériel le supporte, le système d'exploitation l'utilise simplement.

0 votes

Merci pour votre explication et les pointeurs vers les articles. C'est très intéressant.

1 votes

Recommander à no lire la série de Prince McLean/Daniel Eran Dilger. Il y a des erreurs factuelles partout. Sinon, la réponse est excellente.

7voto

ghoppe Points 7682

Via http://en.wikipedia.org/wiki/Physical_Address_Extension

Pour utiliser le PAE, le support du système d'exploitation est nécessaire. Les versions Intel de Mac OS X prennent en charge le PAE. Le noyau Linux supporte PAE en tant qu'option de construction et la plupart des distributions majeures fournissent un noyau PAE par défaut ou en option. FreeBSD et NetBSD supportent également PAE comme option de construction du noyau.

Microsoft Windows met en œuvre le mode PAE s'il est démarré avec l'option appropriée, mais les éditions de bureau 32 bits actuelles font respecter l'espace d'adressage physique dans les 4 Go, même en mode PAE. Selon Geoff Chappell, Microsoft limite les versions 32 bits de Windows à 4 Go en raison d'une restriction de licence, et Mark Russinovich, membre de l'équipe technique de Microsoft, affirme que certains pilotes se sont révélés instables lorsqu'ils rencontraient des adresses physiques supérieures à 4 Go.

4voto

Jason Points 1619

D'ici : http://www.tomshardware.com/forum/231766-45-windowsxp-recognizing

"Windows XP Professionnel 32 bits est limité à 4 Go d'espace d'adressage. Si vous avez installé 4 Go de RAM, Windows n'affichera pas 4 Go. Ce que vous obtiendrez probablement est la taille de votre pagefile soustraite des 4 Go.

Une partie de cet espace d'adressage est réservée au matériel et au système d'exploitation... donc vous n'aurez jamais accès à la totalité des 4 Go de toute façon. Si vous voulez accéder à plus de 4 Go de RAM... votre meilleure solution est de prendre XP Pro 64 bits... mais cela ne fonctionnera que si votre CPU P4 est équipé d'EMT64."

Une réponse plus détaillée peut être trouvée à l'adresse suivante : http://www.codinghorror.com/blog/2007/03/dude-wheres-my-4-gigabytes-of-ram.html

0 votes

OK, mais POURQUOI MacOS X peut accéder à 4GB+ de RAM ? Grâce à cette fonctionnalité "EMT64" disponible sur les processeurs utilisés dans les Macs ? (Qu'est-ce que c'est d'ailleurs ;-))

0 votes

Commentaire de "Chelgrian on March 10, 2007 6:30 AM" dans cet article a quelques informations intéressantes sur le sujet. Il affirme que les éditions de bureau de Windows sont juste artificiellement limitées à 4gb seulement.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X