El Pollo Diablo a écrit :
C'est plus compliqué que ça
En fait il faut bien tenir compte de plusieurs choses :
- il ne faut pas melanger la RAM physique et l'espace d'adressage physique.
- les proc 32 bits depuis le pentium pro peuvent via le PAE adresser la memoire sur 36bits
- pour des raisons de compatibilités les chipsets des mobo dans ces 36 bits vont reserver la zone juste avant les 4Go (correspondant a la fin des 1er 32bits d'adressages) pour divers besoin du hardware (PCI, ACPI, et PCI Express, avec pour lui autant de place prise que de RAM sur la CG...). Tant qu'on a moins de 3Go et quelques de RAM, la RAM et cet espace peuvent gentilment cohabiter dans les 1ers 32bits d'espace d'adressage, mais si on a plus de RAM (et donc en particulier avec 4Go de RAM), la RAM en plus va se retrouver adressée au dela des 32 bits
- via le PAE, les windows 32 bits peuvent donc en theorie exploiter entierement 4Go de RAM et plus (avec quand meme des limitations absentes du 64 bits comme les 2Go par process, mais bon)
A partir de la, dans la pratique les différents Windows sont était limité a différente quantités de mémoire physique utilisable pour un bridage purement commercial, de 4Go pour les OS stations et les editions standard de 2000 et 2003 Server à 128Go pour 2003 Server Datacenter a partir du SP1.
Mais alors, pourquoi que mon Windows il voit pas mes 4 GO de RAM ? Y'a 2 raisons possibles :
La 1ere, c'est que PAE ou pas beaucoup de chipsets pour mobo desktop (et serveur de début de gamme) ne savent pas du tout mapper la mémoire au dela de 4Go, et donc forcement que derriere aucun OS ne pourra acceder a de la memoire qui n'est pas du tout gérer par le chipset.
La seconde, qui est cellle qui aboutit généralement au resultat constaté par les utilisateurs de XP et Vista 32 sur des configs récentes, c'est que le PAE complique un peu la vie des developpeurs de drivers, qui doivent bien prendre en compte le fait qu'avec le PAE la mémoire qu'il peuvent utiliser peut se retrouver au dela de l'espace des 4Go. Dans un monde ou sur un desktop ou une station les configs avec 4Go de RAM étaient encore il y a peu presque du domaine de la SF et reste rare meme aujourd'hui, ce petit détail n'est pas du tout pris en compte dans bon nombre de drivers dans le matos "grand public". De tels drivers dans un systeme avec le PAE d'activé et de la RAM au dela des 4Go ont donc toutes les chances d'aboutir a des résultats pas géniaux pour la stabilité du syteme...
"Et alors", me direz vous, "on a qu'a laisser le PAE desactivé par défaut avec possibilité de l'activer pour les gens avec 4Go de RAM et qui ont des drivers certifiés compatible avec ou l'esprit aventureux ?"
Sauf que dans le SP2 de XP MS a rajouter le support du DEP (un mecanisme de protection de la memoire visant a renforcer la sécu), et si le DEP est géré au niveau hardware par le proc de la config (les Athlons 64 etaient les 1er a le faire), y'a besoin d'avoir le PAE d'activé pour supporter la chose, meme avec 4Go de RAM.
Dans leur quete sans fin vers un systeme securisé, MS a décidé que le DEP serait activé par défaut, ce qui fait que la plupart des configs avec un proc recent le PAE est activé, quelque soit la quantité de RAM (vous pouvez le vérifer dans les propriétés systeme de votre Windows SP2, vous aurez une ligne "extension d'adresse physique" tout en bas). Probleme, chez des gens pour qui le 32 bits, les espaces d'adressage, le PAE & co c'est du chinois, tu vas donc avoir des configs avec le PAE d'activé, donc potentiellement de la RAM au dela de l'espace des 4Go, et des drivers pas du tout testé pour. Afin d'eviter tout probleme eventuel , Microsoft a aussi décidé de rajouter dans le SP2 de XP (et le SP1 de 2003 server quand il est installé sur l'edition standard) une modif du kernel de Windows qui change la mémoire supporté par l'OS : ce ne sont plus 4Go de RAM physique, mais 4Go d'espace d'adressage physique, sur lequel un bout sera forcement réservé par le BIOS. Ce qui fait que jamais un XP32 SP2, 2003 32 standard SP1 ou SP2 ou un Vista 32 (qui a repris cette limitation) ne verront plus de 3.x Go de RAM physique.
Si vous avez du temps a perdre, amusez vous a tester un XP32 SP1 sur une machine avec 4Go de RAM et un chipset capable d'adresser + de 4Go de mémoire, vous devriez normalement voir vos 4Go en entier sous Windows, mais avec donc la probabilté pas negligeable d'avoir un driver qui va faire planter rapidement le systeme 
|