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)