Se connecter / S'enregistrer

4 Go : et Windows 32 bits ? (1)

Par - Source: Tom's Hardware FR | B 69 commentaires

Aujourd'hui, nous allons commencer une série d'actualités sur les systèmes d'exploitation et la mémoire vive, plus spécifiquement sur leur comportement avec des quantités égales ou supérieures à 4 Go. Pour la première partie, nous allons nous intéresser aux systèmes d'exploitation 32 bits de Microsoft (Windows 2000, Windows XP et Windows Vista), qui sont tous les trois limités à 4 Go de RAM dans les versions pour le grand public.

Un OS 32 bits peut gérer plus de 4 Go

Premièrement, tordons le cou à une idée reçue : oui, un OS 32 bits peut gérer plus de 4 Go de RAM. Les constructeurs n'ont pas attendu les machines 64 bits pour utiliser plus de 4 Go sur un serveur. Depuis le Pentium Pro, Intel propose le PAE (Physical Address Extension) sur ses processeurs 32 bits, qui permet de prendre en charge la mémoire sur 36 bits. Petite astuce, le fonctionnement est basé sur un système de page (comme sur les 8086 et la gestion de 1 Mo) :un programme ne peut utiliser que 4 Go (il reste limité à 32 bits) mais on peut utiliser plusieurs « espaces » de 4 Go (pour un total maximal de 64 Go).

Windows et la gestion de la mémoire : 2, 3 ou 4 Go par application

Deuxième chose à savoir, Windows (par défaut) divise la mémoire utilisable par un programme en deux zones : une de 2 Go pour le programme et une autre de 2 Go pour le noyau de Windows. Il est possible, depuis Windows NT 4.0, de changer l'attribution et de passer à 3 Go pour les applications et 1 Go pour le système. Attention, avec cette option (le /3GB dans le boot.ini) le système risque de poser des problèmes si vous lancez beaucoup d'applications. Notons que seules certaines applications sont compatibles (elles sont dites « LargeAddresseAware ») et que sous Windows 64 bits, ces dernières disposent de 4 Go de mémoire (et non plus 3 Go).

4 Go, 3,5 Go, 3,12 Go ?

Un des problèmes les plus courants vient de la limitation de la RAM : même avec 4 Go de RAM, on se retrouve avec 3 Go (et des poussières utilisables). Explications. Les périphériques (cartes sons, contrôleurs de stockage, cartes vidéo, etc.) nécessitent une zone mémoire pour être accessibles. En x86, cette zone mémoire est placée dans la mémoire adressable, donc dans les 4 Go adressables. Bien évidemment, un programme ne doit pas pouvoir aller écrire dans ces zones, qui sont réservées. Avec Windows 2000 et Windows XP sans SP (ou SP1), il est possible de déplacer ces zones hors des 4 Go, en utilisant le PAE (qui est optionnel avec ces OS) et donc de disposer de 4 Go de RAM utilisables quand on dispose de 4 Go de RAM physiques. Avec Windows XP SP2 (et SP3), Microsoft a activé le PAE sur toutes les machines et les premiers tests ont montré que certains pilotes n'appréciaient pas ce mode d'adressage et provoquaient des écrans bleus. Il a donc été décidé de bloquer son usage et de placer l'adressage des périphériques dans la zone utilisable : avec ces OS, la mémoire utilisable est donc tronquée par les zones réservées par les périphériques. En pratique, on perd entre 128 et 512 Mo à cause de la carte graphique (seule une partie de la mémoire vidéo nécessite d'être adressée), plus une quantité de mémoire qui varie selon la carte mère et les périphériques installés. Sous Windows XP SP2 (ou SP3), on a donc en général entre 3 et 3,5 Go utilisables sur 4 Go physiques. Sous Windows Vista (32 bits) sans SP, la mémoire utilisable est généralement limitée à 3,12 Go (parfois moins) pour les mêmes raisons que sous XP SP2. avec le SP1, Microsoft limite la mémoire de la même façon, mais l'OS affiche bien qu'il dispose de 4 Go de RAM, un moyen simple de faire passer la pilule.

En résumé :

Windows 2000, Windows XP, Windows XP SP1 : 4 Go physiques, 4 Go utilisables (avec PAE).
Windows XP SP2, Windows XP SP3 : 4 Go physiques, entre 3 et 3,5 Go utilisables (avec PAE).
Windows Vista : 4 Go physiques, maximum 3,12 Go utilisables (avec PAE).
Windows Vista SP1 :4 Go physiques, maximum 3,12 Go utilisables (avec PAE), 4 Go affichés.

Sans entrer dans les détails, rappelons que les OS serveurs de chez Microsoft — malgré une architecture 32 bits (dans certains cas) — gèrent parfaitement plus de 4 Go de RAM (avec le PAE, comme expliqué plus haut). La limitation à 8, 16 ou 32 Go dépend essentiellement de la gamme du produit et est donc totalement marketing.

Demain, nous nous attaquerons aux versions 64 bits des OS de Microsoft, avant de continuer par la suite avec les systèmes alternatifs.

  • 4 Go : Windows 64 bits est la solution ? (2)
Commentaires
Interroger un expert

Votre question aux experts de la catégorie Les news : vos réactions du forum

Exemple : Android, ordinateur portable, usb, disque dur

Cette page n'accepte plus de commentaires
  • Tamerlan , 8 janvier 2009 18:36
    Très intéressant
  • chewbacka55 , 8 janvier 2009 18:48
    cool, donc en gros plus on achète récent dans les OS de microsoft, et plus on régresse dans la quantitée de ram exploitée...lol sans compter que Vista et Aero sont nettement plus gourmant en RAM que XP
  • moulf , 8 janvier 2009 18:49
    Si je me souvient bien , il me semble que dans cette limite il faut aussi tenir compte de la mémoire virtuelle. Mémoire Physique + Mémoire virtuelle < 4Go.
  • Afficher les 69 commentaires.
  • Anonyme , 8 janvier 2009 18:52
    Enfin ! on s'intéresse au 64 bits ! bien sur cela n'apporte pas grand chose de plus que le 32 bits dans les applications courantes, et il faut que ces dernières soient optimisées, mais dans certains cas on constate des gains de performances. Deux exemples simple :
    - Crysis en mode 64 bits permet d'avoir un gain entre 5 et 15 %
    - Dolphin un émulateur game cube permet d'avoir un gain et moins de perte en mode 64 bits.

    Ce ne sont bien entendu pas des cas généraux et on trouve des d'applications 64 bits qui ne sont pas plus rapide que leurs équivalents en 32 bits.

    En tout cas très bonne initiative de parler du 64 bits ;)  personnellement je tourne sur des OS 64 bits depuis environ 2 ans (XP64, Vista 64, Linux 64) et je peux vous dire qu'il y a eu des changements énorme ! affaire à suivre ;) 
  • okey-dokey , 8 janvier 2009 19:03
    moulfSi je me souvient bien , il me semble que dans cette limite il faut aussi tenir compte de la mémoire virtuelle. Mémoire Physique + Mémoire virtuelle < 4Go.


    Non la mémoire virtuelle est un espace d'adressage différent.


    Intéressant comem article pour ceux qui aimeraient en savoir un peu plus il y a aussi ça (en anglais):
    http://blogs.technet.com/markrussinovich/default.aspx

    On y apprends enormement en particulier:
    http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx
    http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx

    Par contre je pense qu'il faut rappeler que le PAE est synonyme de légère degradation des performances (translation d'adresse). A savoir dans quel ordre de grandeur, je ne sais pas, il n'existe pas vraiment de tests à ce sujet
  • Imhotep , 8 janvier 2009 20:04
    Excellent article.
  • deg-tcd , 8 janvier 2009 20:10
    article interessant, merci :) 



    en même temps je n'ayant déjà pas l'usage des 2go équipant mon pc, me demande bien ce que je ferais de plus...
  • bayliss , 8 janvier 2009 20:21
    cool, quand on voit les nouvelles configs en core i7 avec deux kits ddr3 tri channel pour un total de 6Go. C'est qui qui a la plus grosse....ram ?
  • dandu , 8 janvier 2009 21:06
    Citation :
    Très intéressant


    Citation :
    Excellent article.


    Citation :
    article interessant, merci :) 



    en même temps je n'ayant déjà pas l'usage des 2go équipant mon pc, me demande bien ce que je ferais de plus...


    Merci :) 

    La suite demain ;) 
  • eat your potato , 8 janvier 2009 21:17
    Merci beaucoup pour cet article qui met bien les choses au clair, et qui est bien plus hardware sur ce point qu'un dossier qu'on pouvait trouver chez un concurrent (nan, je ne citerai le nom que sous la torture).

    N'empêche, c'est dingue, ce matin même je cherchais un article sur le sujet, et voilà paf que ça sort :) 
  • Jean-M , 8 janvier 2009 21:27
    Très intéressant cet article, mais va t-on parler aussi des OS alternatifs (Linux, BSD, OpenSolaris, etc) ?
    Sur une bécanne (portable Acer) équipée d'un Core Duo T2350, le passage à 3 ou 4 Giga plante l'affichage (circuit Nvidia) sous SuSE, Ubuntu et Windaube aussi.
    Et à priori ce processeur ne supporte pas le mode 64bits (ni la virtualisation).
    Une solution ?
    Jean-M
    PS: Le Acer Aspire 9412AWSMI est sensé supporter 4 gigaOctets de mémoire (d'après la doc)
  • SinDromX , 8 janvier 2009 21:29
    Bravo!

    Je peste souvent contre les articles tappe à l'oeil que l'on trouve de plus en plus sur les sites informatiques.
    Mais cet article est clair, précis, et permet de tordre le coup de certaines idées reçues.

    Merci :) 
  • dandu , 8 janvier 2009 21:53
    Citation :
    Très intéressant cet article, mais va t-on parler aussi des OS alternatifs (Linux, BSD, OpenSolaris, etc) ?
    Sur une bécanne (portable Acer) équipée d'un Core Duo T2350, le passage à 3 ou 4 Giga plante l'affichage (circuit Nvidia) sous SuSE, Ubuntu et Windaube aussi.
    Et à priori ce processeur ne supporte pas le mode 64bits (ni la virtualisation).
    Une solution ?
    Jean-M
    PS: Le Acer Aspire 9412AWSMI est sensé supporter 4 gigaOctets de mémoire (d'après la doc)


    Pour les OS alternatifs, y aura Linux et Mac OS X la semaine prochaine, Windows 64 demain.

    Le Core Duo est que 32 bits, donc oui, ça peut poser problème, surtout que même si le chipset gère 4 Go, c'est souvent foireux sur les 945.
  • dyox , 8 janvier 2009 22:09
    Bon article.

    Si j'ai bien compris, en prenant exemple sur :
    Windows XP SP2, Windows XP SP3 : 4 Go physiques, entre 3 et 3,5 Go ADRESSABLE (avec PAE) + la différence utilisé par les périphériques ?

    Donc en fin de compte, toute la ram est utilisée et donc il vaut mieux avoir 4Go que 3 surtout si la CG à 512 ou 1Go de mémoire !
    Le résumé manque de précision je trouve

    D'ailleurs, en relisant encore une fois cet article, il est dit "Avec Windows XP SP2 (et SP3), Microsoft a activé le PAE sur toutes les machines et les premiers tests ont montré que certains pilotes n'appréciaient pas ce mode d'adressage et provoquaient des écrans bleus. Il a donc été décidé de bloquer son usage et de placer l'adressage des périphériques dans la zone utilisable : avec ces OS, la mémoire utilisable est donc tronquée par les zones réservées par les périphériques"
    => donc les exemples sont SANS PAE
    Windows XP SP2, Windows XP SP3 : 4 Go physiques, entre 3 et 3,5 Go utilisables (sans PAE).
    Windows Vista : 4 Go physiques, maximum 3,12 Go utilisables (sansPAE).
    Windows Vista SP1 :4 Go physiques, maximum 3,12 Go utilisables (sansPAE), 4 Go affichés.
  • dandu , 8 janvier 2009 22:21
    Non, justement le PAE est bien activé.

    En fait, le NX Bit oblige MS a activer le PAE mais certains pilotes aiment pas : ils savent pas ou ils sont et au lieu d'aller dans leur mémoire (hors des 4 Go), ils écrivent ou ils pensent que ça devrait être (dans les 4 Go) et Boum, écran bleu.

    Avec le SP2, le PAE est activé, obligatoirement, mais les pilotes l'utilisent pas (en gros) et donc oui, on se retrouve dans une situation équivalent à celle ou il ne serait pas activé.

    Et oui, c'est plus économique de mettre 3 Go que 4 Go, on a le même résultat (en gros). Mais vu le prix de la RAM et le fait qu'on perd généralement le Dual Channel, tout le monde met 4 Go.
  • ultrabill , 8 janvier 2009 22:29
    Tu parles du PAE existant depuis les Pentium Pro. Mais coté AMD, est-ce que cette techno existe aussi ? Si oui, ça remonte à la même époque ?
  • okey-dokey , 8 janvier 2009 22:47
    Citation :
    Bon article.

    Si j'ai bien compris, en prenant exemple sur :
    Windows XP SP2, Windows XP SP3 : 4 Go physiques, entre 3 et 3,5 Go ADRESSABLE (avec PAE) + la différence utilisé par les périphériques ?

    Donc en fin de compte, toute la ram est utilisée et donc il vaut mieux avoir 4Go que 3 surtout si la CG à 512 ou 1Go de mémoire !
    Le résumé manque de précision je trouve



    En fait ce qu'il faut comprendre c'est que pour les périphériques il y a un espace d'adressage qui est reservé. Cet espace est reservé que l'on ai 1Go, 2Go, 3 ou 4Go de RAM. Cet espace est là et a toujours été là. Sauf que jusqu'à présent nos machines ayant 1-2Go max on ne s'en rendait pas compte, car il n'empiétait pas sur l'espace correspondant à de la RAM physique.
    A force de voir arriver des machines disposant de plus de 3Go le problème s'est révélé à son grand jour: le "trou" qui etait caché a été mis en lumière et on se rend compte que dans les 4Go de mémoire centrale adressable par un systeme 32bit il y a une zone innaccesible.


    Mais dans un extreme le probleme peut apparaitre meme si on n'a que 2Go. Ajoute 2 voir 3 carte vidéo de 1Go de mémoire embarquée ( sans les mettre en SLI/crossfire) et tu risque de te retrouver avec moins de 2Go de mémoire centrale utilisable, au meme titre que tu n'as que 3.25Go au lieu des 4 quand c'est le cas.

    Donc pour répondre à ta question: non la RAM n'est pas utilisée car c'est "quantite de mémoire centrale adressable max - espace réservé". En ayant installé 4Go tu touche la limite adressable par le systeme, or l'espace réservé est inclu dans cet espace adressable, donc les 800Mo sont tout bonnement "perdu" d'une certaine mainière.



    Esperant n'avoir pas tout embrouillé :D 
  • dandu , 8 janvier 2009 22:47
    Ca existe sur AMD, a priori depuis l'Athlon (K7) et évidemment sur les K8 et 10 (en plus du 64 bits)

    Sur K7 : 34 bits (16 Go)
    Sur K8 : 40 bits (1 To)

    Chez Intel c'est généralement 36 bits (64 Go), parfois 38 ou 40 bits (Xeon) et a priori pas dispo sur les CPU "Pentium M" (Bania, Dothan et Yonah) sauf en version serveur.
  • dandu , 8 janvier 2009 22:51
    Citation :
    En fait ce qu'il faut comprendre c'est que pour les périphériques il y a un espace d'adressage qui est reservé. Cet espace est reservé que l'on ai 1Go, 2Go, 3 ou 4Go de RAM. Cet espace est là et a toujours été là. Sauf que jusqu'à présent nos machines ayant 1-2Go max on ne s'en rendait pas compte, car il n'empiétait pas sur l'espace correspondant à de la RAM physique.
    A force de voir arriver des machines disposant de plus de 3Go le problème s'est révélé à son grand jour: le "trou" qui etait caché a été mis en lumière et on se rend compte que dans les 4Go de mémoire centrale adressable par un systeme 32bit il y a une zone innaccesible.


    Mais dans un extreme le probleme peut apparaitre meme si on n'a que 2Go. Ajoute 2 voir 3 carte vidéo de 1Go de mémoire embarquée ( sans les mettre en SLI/crossfire) et tu risque de te retrouver avec moins de 2Go de mémoire centrale utilisable, au meme titre que tu n'as que 3.25Go au lieu des 4 quand c'est le cas.

    Donc pour répondre à ta question: non la RAM n'est pas utilisée car c'est "quantite de mémoire centrale adressable max - espace réservé". En ayant installé 4Go tu touche la limite adressable par le systeme, or l'espace réservé est inclu dans cet espace adressable, donc les 800Mo sont tout bonnement "perdu" d'une certaine mainière.



    Esperant n'avoir pas tout embrouillé :D 


    Exactement ça.
    Faut juste bien prendre en compte que les cartes graphiques réservent pas toutes la mémoire vidéo (et heureusement, avec certains modèles qui ont 4 Go). En général, même du très haut de gamme genre GTX 280 1 Go, ça prend "que" 256 Mo.

    Reste que Microsoft aurait pu obliger les concepteurs de pilote à gérer correctement le PAE pendant le passage à Vista, pour qu'on ait vraiment 4 Go utiles.
  • Chklang , 8 janvier 2009 23:02
    Je sais je répète, mais je ne peux m'empêcher de le dire : Excellent article! Impatient de lire la suite...
Afficher plus de commentaires