Que se passe-t-il lorsque vous installez> 4 Go de RAM sur un ordinateur avec un système d'exploitation 32 bits?

10

Je suis donc un programmeur et je ne suis pas un idiot complet, donc je sais exactement pourquoi vous ne pouvez pas accéder à la mémoire là où vous ne pouvez pas avoir de pointeurs. Mais je n'ai jamais essayé cela et je ne pense pas que je le ferai jamais, car cela semble être un gros gaspillage d'argent / temps.

Je me demande simplement s'il existe des outils qui me permettent d'accéder à mon himem (vous penseriez que nous aurions contourné ce problème maintenant).

Peter Turner
la source
Découvrez cette autre façon de formuler la même question: superuser.com/questions/7964/where-did-the-other-8-gb-of-ram-go
en
Merci, voici aussi une bonne réponse, je devrai peut-être juste fermer cette question. serverfault.com/questions/3342/…
Peter Turner

Réponses:

20

Si vous avez un processeur avec l' extension d'adresse physique (ce que vous faites probablement) et le bon système d'exploitation ( par exemple, pas une version grand public de Windows, il utilise PAE mais est limité à 4 Go ), la mémoire peut être mappée et utilisée normalement. Sinon, la mémoire ne sera tout simplement pas adressée, le système d'exploitation vous dira que vous avez autant de puces, aussi grandes soient-elles, mais qu'elles ne seront simplement pas ajoutées à la quantité de mémoire à laquelle vous pouvez accéder.

Mike McQuaid
la source
3
Pourquoi les versions normales de Windows ne prennent-elles pas en charge PAE? Juste une autre raison d'utiliser Linux ...
Zifre
1
Parce que les versions 64 bits / serveur coûtent plus cher.
Martin Beckett
2
Même les versions grand public de Windows prennent en charge PAE - elles sont toutefois limitées à 4 Go (pour des raisons de compatibilité et de marketing). (PAE est toujours utilisé pour la fonction "Data Execution Prevention".)
user1686
3
@Zifre, de nombreux pilotes destinés aux consommateurs ne peuvent pas faire face au PAE et à la 4G de RAM sur Windows. En tant que tel, l'activation de PAE entraîne souvent de mystérieux plantages, et il n'est donc utilisé que pour les éditions de serveur, où vous installerez probablement des pilotes de meilleure qualité conçus pour de grandes quantités de mémoire.
bdonlan
bdonlan: PAE est également activé dans les versions grand public, ils ont juste la limite artificielle de 4 Go à cause de cela.
user1686
1

Les choses fonctionneraient bien car 4 Go est la limite pour un processeur 32 bits. Voici un article qui va plus en profondeur et montre en fait que vous pouvez installer et utiliser beaucoup plus de 4 Go sur un système d'exploitation 32 bits.

mandroid
la source
Sauf que tout l'espace d'adressage réel n'est pas nécessairement dédié à la mémoire physique.
Jason S
Désolé, je voulais dire plus de 4 Go, juste quelque chose dans la plage de plus de 2 ^ 32.
Peter Turner
1

Je suppose que techniquement, si le système d'exploitation était bien conçu, vous pourriez utiliser plus de 4 Go. Il n'y a aucune raison pour laquelle je peux penser qu'un système d'exploitation avec des capacités de mémoire virtuelle ne pourrait pas utiliser des adresses virtuelles 32 bits avec des adresses réelles 64 bits.

Jason S
la source
1

Cela dépend du système d'exploitation 32 bits que vous voulez dire!

Bien sûr, sur les systèmes d'exploitation modernes, vous pouvez à peu près brancher autant que votre carte mère peut en prendre sans problème (bien que vous ne puissiez pas tout utiliser), mais ce n'était pas toujours le cas, au moins avec Windows:

Un bogue dans Windows 95, 98, SE et ME apparaît si vous avez plus de 512 Mo de mémoire installés.

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

Facteur mystique
la source
0

La première chose à comprendre est que les systèmes informatiques modernes utilisent la mémoire virtuelle. Vous pouvez avoir des adresses virtuelles 32 bits pour les applications tout en ayant des adresses physiques supérieures à 32 bits.

La deuxième chose à comprendre est que l'espace d'adressage physique est utilisé pour diverses choses, principalement le ram principal et les périphériques hérétiques mappés en mémoire. Les cartes graphiques en particulier ont souvent de grandes régions mappées en mémoire. Le résultat est que si vous ne disposez que de 4 Go d'espace d'adressage physique utilisable, vous pouvez vous retrouver avec beaucoup moins de 4 Go de RAM utilisable. Environ 3,5 Go utilisables est typique, mais j'ai vu des systèmes où il n'était que de 2,5 Go.

Sur un PC pour prendre en charge plus de 4 Go d'espace d'adressage physique, un mécanisme appelé PAE est utilisé. Pour que cela fonctionne, plusieurs choses sont nécessaires.

  1. Le CPU doit le supporter.
  2. Le chipset doit le prendre en charge.
  3. Le BIOS doit le prendre en charge.
  4. Le système d'exploitation doit le prendre en charge.

Les processeurs prennent en charge PAE depuis des lustres, ce n'est pas un problème.

De nombreux chipsets plus anciens étaient limités à 4 Go d'espace d'adressage physique. Les chipsets pour ordinateurs portables Intel IIRC ont pris en charge plus de 4 Go d'espace d'adressage avec la génération "Santa Rosa" en 2007. Je ne suis pas sûr des chipsets de bureau, mais je m'attends à ce que ce soit à peu près à la même époque. Les chipsets station de travail / serveur ont évidemment été pris en charge beaucoup plus tôt.

Les BIOS Afaict le supportent principalement si le jeu de puces le fait. Cela ne me surprendrait pas s'il y a des exceptions.

OS est épineux. Linux et Windows ont tous deux pris en charge PAE depuis des lustres. Malheureusement, depuis Windows XP Service Pack 2, MS a artificiellement limité l'espace d'adressage physique à 4 Go. Ils affirment qu'ils l'ont fait à cause de pilotes buggés, les cyniques soupçonneraient qu'ils l'ont fait pour forcer les gens à acheter des éditions de serveur.

Dans Windows XP, cela est intégré au noyau et ne peut pas être annulé. Cependant, sur les versions ultérieures, il peut être contourné avec quelques hacks mineurs au noyau. Voir https://wj32.org/wp/ pour plus de détails.

plugwash
la source