Question:
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?
Peter Štibraný
2010-09-22 19:03:28 UTC
view on stackexchange narkive permalink

Je ne comprends pas pourquoi le noyau Mac OS X 32 bits peut accéder aux 4 Go de mémoire (et même plus) alors que Windows 32 bits ne peut fonctionner qu'avec ~ 3,3 Go, et pour utiliser plus de 4 Go, vous avez besoin 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 toujours pas. Désolé de parler de Windows sur ce site :-), je voudrais juste comprendre la différence.

Trois réponses:
#1
+16
Gordon Davisson
2010-09-23 10:52:06 UTC
view on stackexchange narkive permalink

Lecture recommandée: Road to Mac OS X Snow Leopard: 64 bits, Santa Rosa et plus (et le reste de la série Road to Snow Leopard de Prince McLean) . Si vous ne voulez pas beaucoup lire, je vais résumer:

Premièrement, vous devez vous rendre compte qu'OS X n'a ​​pas un seul commutateur de mode 32/64-bit comme Windows; Il exécutera volontiers 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 prendre en charge. Remarquez que la bitness des applications et du noyau impose des limites de mémoire: une application fonctionnant en mode 32 bits ne peut adresser que 4 Go de mémoire virtuelle, quelle que soit la quantité installée / prise en charge sur la machine (bien qu'un Mac avec beaucoup de RAM puisse fonctionner plusieurs processus de 4 Go entièrement résidents à la fois); et si le noyau est en mode 32 bits, il ne peut allouer que jusqu'à 4 Go pour ses différentes structures de données (table de pages, table de processus, table de fichiers ouverts, etc.). C'est déjà un peu différent de la façon dont Windows le fait, car il partage l'espace d'adressage entre le noyau et le processus en cours d'exécution, de sorte qu'ils n'obtiennent chacun que 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 le rend plus rapide. Mais OS X n'a ​​besoin de vider le cache que si le programme et le noyau sont en mode 32 bits; si l'un ou l'autre est 64 bits, ils partagent l'espace et évitent la pénalité de vitesse.

Passons maintenant à la question que vous posez: les limites de RAM physique. De nombreux anciens Mac Intel ont en fait la même limite de mémoire d'environ 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 Mac plus récents ont utilisé le chipset de support Santa Rosa, ce qui leur a permis de placer les E / S dans un espace d'adressage séparé et d'utiliser jusqu'à 4 Go de RAM physique. Les Mac haut de gamme (/ même plus récents) ont PAE, ce qui permet beaucoup plus de RAM physique. La rumeur veut que Windows ne prend pas en charge PAE dans la plupart de leurs systèmes d'exploitation 32 bits en raison de problèmes de compatibilité des pilotes. Apple contrôle de toute façon la plupart des pilotes concernés, donc ils l'ont fait fonctionner; si le matériel le prend en charge, le système d'exploitation l'utilise simplement.

Merci pour vos explications et vos pointeurs vers les articles. Des trucs très intéressants.
Recommander de ** ne pas ** lire la série de Prince McLean / Daniel Eran Dilger. Il y a des erreurs factuelles partout. Sinon, la réponse est excellente.
#2
+7
ghoppe
2010-09-23 01:54:33 UTC
view on stackexchange narkive permalink

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

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

Microsoft Windows implémente PAE s'il est démarré avec l'option appropriée, mais les éditions de bureau 32 bits actuelles appliquent 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 le technicien Microsoft Mark Russinovich dit que certains pilotes se sont avérés instables lorsqu'ils rencontraient des adresses physiques supérieures à 4 Go.

#3
+4
Jason
2010-09-22 19:21:55 UTC
view on stackexchange narkive permalink

De là: http://www.tomshardware.com/forum/231766-45-windowsxp-recognizing

"Windows XP Professionnel 32 bits est limité à 4 Go d'espace d'adressage. Si 4 Go de RAM sont installés, 4 Go ne seront pas affichés dans Windows. Ce que vous obtiendrez probablement, c'est la taille de votre fichier d'échange soustraite des 4 Go.

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

Une réponse plus détaillée peut être trouvée à: http://www.codinghorror.com/blog/2007/03/dude-wheres- mes-4-gigaoctets-de-ram.html

OK, mais POURQUOI MacOS X peut accéder à 4 Go + de RAM? Grâce à cette fonctionnalité "EMT64" disponible sur les processeurs utilisés dans les Mac? (Qu'est-ce que c'est quand même ;-))
Le commentaire de "Chelgrian le 10 mars 2007 6:30 AM" dans cet article contient des informations intéressantes sur le sujet. Il affirme que les éditions de bureau Windows sont simplement artificiellement limitées à 4 Go uniquement.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 2.0 sous laquelle il est distribué.
Loading...