web-dev-qa-db-fra.com

Qu'est-ce qui limite les machines Windows 7 x64 à <= 192 Go de RAM?

Je sais que les cartes mères, le BIOS, etc. peuvent fixer des limites maximales pour la quantité de mémoire RAM que nous pouvons installer ou utiliser sur des machines individuelles. Cependant, qu'est-ce qui définit le maximum RAM pour Windows 7 x64?

Est-ce une limitation architecturale fondamentale du système d'exploitation? Les différentes versions de Windows 7 ont des maxima RAM différents (Édition Starter <= 2 Go, Professional <= 192 Go). Est-ce quelque chose qui peut être réellement changé?

À titre de comparaison, Ubuntu 64x autorise jusqu'à 1024 Go de RAM.

115
Lucas Fortini

Réponse courte: la licence

En excluant le matériel de l'équation, il s'agit principalement d'une restriction logicielle artificielle:

[La] limite est extraite du registre en appelant une fonction nommée ZwQueryLicenseValue, elle-même appelée à partir d'une procédure interne nommée MxMemoryLicense dans les fichiers de symboles publiés de Microsoft.

Source: Mémoire sous licence dans Windows Vista 32 bits

Informations complémentaires

Bien entendu, les utilisateurs peuvent facilement modifier les données de licence stockées dans le registre, même dans un format non documenté, ce qui les inciterait à essayer, car Microsoft impose des prix très différents pour des licences différentes. Microsoft dispose donc d'un système élaboré pour vérifier que les données de licence sont conservées comme Microsoft le souhaite. Le noyau est le référentiel permettant d'indiquer si les données de licence ont été falsifiées. À cette fin, il exporte deux fonctions supplémentaires, ExGetLicenseTamperState et ExSetLicenseTamperState.

Source: Licence de logiciel

Un séjour sans faille

ExGetLicenseTamperState

Cette fonction [non documentée] demande au noyau si les données de licence ont été falsifiées.

L'utilisation interne est dans une minuterie qui se reproduit environ toutes les heures. Si l'état d'autoprotection s'avère être 4, Windows s'arrête. Le code de vérification de bogue est SYSTEM_LICENSE_VIOLATION (0x9A), avec 0x1B comme premier argument.

Source: ExGetLicenseTamperState

Un exemple pratique

Supposons que vous avez un ordinateur avec 32 GiB de RAM et que vous installez Windows 7 Home Premium x64 (64 bits). Dans ce cas, vous seriez limité à 16 Gio. Si vous deviez utiliser Windows Anytime Upgrade et mettre à niveau vers une édition plus onéreuse, la limite serait soudainement définie sur 192 GiB.

Conclusion

Toutes les éditions de Windows 7 partagent le même code source. La principale différence réside dans le nombre de fonctionnalités/limitations activées ou désactivées. Les éditions professionnelles et supérieures ne définissent aucune limite RAM qu’elles peuvent gérer, et sont simplement licenciées selon les garanties que Microsoft prend en charge.

En outre, le contrat de licence Windows 7 stipule explicitement que vous ne pouvez pas "utiliser le logiciel pour des services d’hébergement de logiciel commerciaux", laissant entendre que Microsoft supposait que si vous aviez besoin de plus de ressources RAM, quelle que soit la Vouloir est une licence de serveur. Le serveur de contrepartie de Windows 7 (c'est-à-dire Windows Server 2008 R2) peut utiliser jusqu'à 2 To de RAM dans les éditions Enterprise et Datacenter.

La technologie évoluant rapidement, ce qui était acceptable hier pourrait ne pas suffire demain. Afin de rattraper son retard, Windows 8 a relevé les limites à 128 GiB et 512 GiB pour les éditions Core et Pro/Enterprise, respectivement. Cela ne concerne cependant que les versions 64 bits: les versions 32 bits sont toujours limitées à 4 Gio. La version du serveur, Windows Server 2012, peut adresser jusqu'à 4 To de RAM dans les éditions supérieures.

Lectures complémentaires

185
and31415

Microsoft l’autorise de cette manière. Ils voudront probablement que vous payiez pour un produit Windows Server sous licence qui s'exécute avec davantage de ressources. C'est la même chose avec d'autres produits comme SQL Server. SQL Server Express est soumis à des limitations. Ainsi, si vous avez besoin de plus de ressources, vous devez acheter le produit qui le permet.

53
Dave Lucre