Ce que je comprends du système d'exploitation 32 bits, c'est que l'adresse est exprimée en 32 bits, de sorte que le système d'exploitation pourrait utiliser au maximum 2^32 = 4 Go d'espace mémoire.
Le plus que le processus peut adresse est de 4GB. Vous confondez potentiellement mémoire con espace adresse . Un processus peut avoir plus de mémoire que d'espace d'adressage. C'est-à-dire parfaitement légal y assez courante dans le traitement vidéo et d'autres applications gourmandes en mémoire. Un processus peut se voir allouer des dizaines de Go de mémoire et les échanger dans et hors de l'espace d'adressage à volonté. Seuls 2 Go peuvent aller dans l'espace d'adressage utilisateur à la fois.
Si vous avez un garage pour quatre voitures chez vous, vous pouvez toujours posséder cinquante voitures. Vous ne pouvez pas les garder tous dans votre garage. Vous devez disposer d'un espace de stockage auxiliaire à un autre endroit pour stocker au moins 46 d'entre elles ; vous pouvez choisir les voitures que vous gardez dans votre garage et celles que vous gardez sur le parking en bas de la rue.
Cela signifie-t-il que tout système d'exploitation 32 bits, qu'il s'agisse de Windows ou d'Unix, si la machine possède une mémoire vive + un fichier de page sur le disque dur de plus de 4 Go, par exemple 8 Go de mémoire vive et 20 Go de fichier de page, il n'y aura jamais de "mémoire utilisée" ?
Absolument, ça ne veut pas dire ça. Un seul processus peut utiliser plus de mémoire que cela ! Encore une fois la quantité de mémoire utilisée par un processus n'est presque pas liée à la quantité d'espace d'adressage virtuel utilisée par un processus. Tout comme le nombre de voitures que vous gardez dans votre garage n'a aucun rapport avec le nombre de voitures que vous possédez.
D'ailleurs, deux processus peuvent partager des pages de mémoire non privées . Si vingt processus chargent tous la même DLL, ils partagent tous les pages de mémoire pour ce code. Ils ne partagent pas espace d'adressage de la mémoire virtuelle ils partagent mémoire .
Ce que je veux dire, au cas où ce ne serait pas clair, c'est que vous devriez arrêter de penser que la mémoire et l'espace d'adressage sont la même chose, car ce n'est pas du tout la même chose.
si cette machine à système d'exploitation 32 bits dispose de 2 Go de RAM et d'un fichier de pages de 2 Go, l'augmentation de la taille du fichier de pages n'améliorera pas les performances. Cela est-il vrai ?
Vous avez cinquante voitures et un garage de quatre voitures, et un parking de 100 voitures en bas de la rue. Vous augmentez la taille du parking à 200 places. L'une de vos voitures est-elle plus rapide du fait que vous avez maintenant 150 places de stationnement supplémentaires au lieu de 50 ?