Vista et l'adressage 32 bits
Une transition importante s'annonce en informatique.



Nous sommes en face d'une transition qui risque d'être compliquée et longue en informatique. En effet, les jeux en adressage 32 bits vont bientôt arriver à la barrière de mémoire virtuelle de 2GB. La solution à ce problème est de fonctionner en mode d'adressage 64 bits, des systèmes d'opération comme Windows Vista x64 ont en théorie été créés pour prendre en charge cet adressage, mais en pratique ça risque d'être plus compliqué...

Ceci est un extrait d'un article d'Anandtech.com. J'ai mis le lien vers l'article plus bas.

Une introduction sur la gestion de la mémoire dans Windows :

En 1986, Intel créait le processeur 386, qui supportait un nouveau set d'instructions (IA32), qui était une extension du set d'instructions x86 original. Une des particularités importantes dans le IA32 était qu'il augmentait le montant de mémoire qu'un processeur pouvait adresser. Au lieu de 20bit(1MB), on pouvait adresser 32bit(4GB) de mémoire. C'était un avancement majeur à l'époque. Tout les processeurs x86 (i.e. votre processeur Intel ou AMD) créés depuis lors supportent le même set d'instructions, y compris la limite d'adressage de 4GB. Des processeurs pour monsieur tout le monde qui supportent le mode d'adressage 64bits ont été créés seulement tout récemment, et encore si ils fonctionnent en mode 32bits, ils auront quand même la barrière du 4GB d'adressage.

Les choses se compliquent encore plus quand Windows entre dans l'équation. Windows lui-même a besoin d'espace mémoire pour communiquer avec son noyau système, pour emmagasiner de la mémoire tampon, des tables d'allocation de mémoire, etc. Si bien qu'en fait avec Windows nous avons une barrière d'adressage de mémoire à 2GB. ATTENTION, on parle ici de la mémoire virtuelle, à ne pas confondre avec la mémoire physique de votre ordinateur, ces 2 éléments n'ont rien en commun. C'est la réalité pour tout les systèmes d'opération Windows, et ce depuis la sortie de Windows 95, et Windows NT.

Donc la barrière du 2GB constitue une limitation de la quantité de mémoire qui peut être adressée et qu'une application peut utiliser. Ce n'est pas un bug, mais le résultat de comment furent créés les technologies sur lesquelles nos ordinateurs sont toujours basés. Plusieurs raisons font que cette barrière ne peut tout simplement pas être ignorée ou la limite de 2GB augmentée. Si un ordinateur atteint cette barrière, le jeu va tout simplement planter sans raison apparente.

Cette limite peut être atteinte pas des jeux récents, très "mémorivores". Un bon exemple est le jeu Supreme Commander. En effet, Supreme Commander a été identifié comme étant un jeu pouvant toucher à la barrière de 2GB quand on joue avec des grosses cartes en mode multijoueurs avec les réglages de qualité au niveau le plus élevé, le jeu risque fort de planter. La compagnie Relic reconnait elle aussi que le jeu Company of Heroes peut planter dans certain cas, dû à cette limite d'adressage mémoire. D'autres jeux peuvent aussi être affectés.

Il existe un moyen assez facile d'augmenter la mémoire virtuelle que Windows peut addresser, mais celà se fait au détriment de la mémoire que le noyau de Windows aura de disponible, ce qui peut affecter les performances de Windows lui-même. Donc, on augmenterait la performance du jeu mais on diminuerait la performance de Windows, cette solution risque de faire plus de mal que de bien, mais des utilisateurs avancés pourraient réussir à donner un peu de "jus" à certains jeux, après plusieurs peaufinages. Cette solution pourrait dépanner, en attendant un système d'opération qui prendrait en charge des instructions 64 bits. En fait certaines compagnies qui développent des jeux conseillent déjà d'utiliser ce stratagème si une application atteint la limite du 2GB de mémoire virtuelle.

Voir cet article :
A Messy Transition: Practical Problems With 32bit Addressing In Windows

Ces articles aussi sont intéressants :
Windows XP vs. Vista: The Benchmark Rundown
A Messy Transition (Part 3): Vista buys some time