This is a very technical article that delves into the internals of Windows, so enter at your own geek level. The gist of it is that there is some deception (from MS? Really?) on Microsoft’s part in their pronouncements, specs and so on as to how much memory is available and usable in 32bit Vista, including Ultimate which one would think, since you are supposedly paying for the ‘ultimate’, would allow everything. The only reason you can’t is Microsoft prevents it in an interesting way. Why? To get people to buy the more expensive 64bit Vista even though, as the article points out, right now there are few programs that need more than 4 GBytes.
If you are up to the programming techiness, it’s a fascinating read. Below is the conclusion from the article.
A perception has developed, and even become widespread, that exceeding 4GB requires a mass migration to 64-bit Windows. At best, this perception misunderstands both the design of Intel’s processors and a decade-old development in 32-bit Windows. Although Microsoft itself seems never to say explicitly that 4GB is a barrier for 32-bit Windows in general, Microsoft does say that 32-bit Windows Vista in particular is incapable of using 4GB and that the workaround necessarily includes using 64-bit Windows Vista instead.
The mechanism by which 32-bit Windows Vista is incapable of using memory above 4GB is simply that Microsoft does not license it to use memory above 4GB. The code to use memory above 4GB is there. Microsoft just doesn’t license you to use it. Microsoft seems never to say explicitly that this is the mechanism.
Microsoft does say that memory use by 32-bit Windows Vista is limited “to avoid potential driver compatibility issues” but the arguments are weak, especially for new computers with new hardware and new drivers. Moreover, Microsoft does not open its arguments to independent testing, given that the license values are protected from being tampered with. Even for machines on which the incompatibilities are real, they would be avoidable through configurable options that exist anyway. That they must be avoided through the licensing mechanism is again not something that Microsoft seems to have explained anywhere.A suspicion seems reasonable that Microsoft is at least content to have the mass market perceive a 4GB limit to 32-bit Windows, so that the inevitable increase in the amount of RAM fitted to a typical computer will itself move the consumer base to 64-bit Windows and to the 64-bit applications that users will quickly see as natural purchases for their 64-bit operating system. Whatever the reasons for migrating to 64 bits, they should be assessed on their merits. Imposing an artificial limit at an amount of memory that conveniently coincides with a widely believed myth has the look of a marketing ruse. It is an abuse that consumers should not have to tolerate. Someone with authority over Microsoft ought investigate whether representations made by Microsoft about memory limits for Windows Vista are misleading or illegal.












#40:
Sorry, my meaning seems not to have been clear. I just meant a quick allusion to the article’s contention that even if Microsoft’s driver incompatibilities are substantial, the usual way to have dealt with them would be through a configurable setting.
Thus, if you did turn out to have driver incompatibilities, you could proceed to test this contention by setting truncatememory for 4GB. Whatever the value of Kernel-MaxPhysicalPage, if truncatememory is set for 4GB, then the kernel will not learn that there is any memory above 4GB and the driver incompatibilities cannot trouble you.
Suppose that Microsoft had not chosen to restrict the use of memory above 4GB through licensing. Then OEMs that trust their drivers and test their machines and are willing to support their customers’ use of memory above 4GB could pre-install Windows without a truncatememory option. Others, or Microsoft itself for its own retail product, could install Windows with a truncatememory option set for 4GB by default. It would just be another of the countless configurable settings that users may set or clear if they dare (at their own risk).
Of course, people will say that Microsoft can design its product however it wants. If Microsoft fears compatibility issues with memory above 4GB and deals with it by using licensing to prevent use of memory above 4GB, then this is Microsoft’s right. I agree in general, assuming that the design and its implications are not misrepresented, but something particular to the use of licensing for the present purpose is generally harmful and undesirable: no product should ever be sold under constraints that prevent testing the truth of what its manufacturer says about it.
Can somebody clarify this. If 32bit Windows is supposed to be able to support 4GB of RAM but very few, if any systems, can actually use all 4GB because Windows does not allow access to memory that is remapped above 4GB to make way for memory mapped hardware, then is that false advertising?
I did what stated on mr. geoff’s article and all I can say it really works without any problem. To do and to see is to believe so you better try it yourself.
Nice article Mr. Geoff