New
#21
Welcome Geoff. Nice article, by the way.
Oh sorry Lordbob. typing is sometimes without emotional expression and was not meant as sarcasm or as a jab at you.
I felt it was hillarious because of the Author showing up in the Forum, where it was being discussed, to debate your comment. also this: And by what logic?
I was also sincerely welcoming him to SF :)
Last edited by Thorsen; 22 Jun 2010 at 10:59. Reason: edit, edit, edit....proofreading is gud
I figure you mean some such thing, yes, but I don't see where you're getting it from in the article. You're not the first to think the article says or suggests that 32-bit Windows Vista can use memory above 4GB on an arbitrary 32-bit processor, and since that's not something I mean anyone to think, I'm left wondering what to change in the article. Increasingly though, I don't think it's a fault in my writing but in some readers' reading. The article is abundantly plain that the code 32-bit Windows has for using memory above 4GB needs the processor to support PAE, which just adds to my wonder about where you think the article is wrong and by what reasoning.
True, the article does say that almost all Intel's processors that are suitable for running 32-bit Windows do nowadays support PAE. I rely on Intel's programming manuals for that. I have no idea how common are the exceptions, just that Intel says the exceptions are few.
In any case, that not everyone has the hardware to run a given Windows feature does not mean that Windows doesn't have the feature.
Hey Geoff, thanks for the reply.
One thing that confused me was this line:
I know that x32 OS do have a limitation on total RAM usage, but isn't that a limit caused by the architecture, NOT (necessarily) Windows coding?That 32-bit editions of Windows Vista are limited to 4GB is not because of any technical constraint on 32-bit operating systems. The 32-bit editions of Windows Vista all contain code for using physical memory above 4GB. Microsoft just doesn’t license you to use that code.
I know that x32 OS do not have enough addressing space to contain more than about 3.5Gbs (depending) of RAM, so how can that be an actual limitation by Microsoft?
After reading into the article, I see that you mention that 16bit Windows (limited by 64K) had 640K, so I do see that it has been (and still is) possible to go beyond the theoretical limitations of the OS archetecture.
Now, I am not (at all) a programmer, so I really don't get a lot of the article, but I see the general point.
As you said here
It really seems like it is many times easier to upgrade to x64 Windows.If you have a 32-bit program that wants more than its 2GB or 3GB, then upgrading to a 64-bit version of that program to run on a 64-bit operating system is your only path ahead. If you’re buying a new computer and new applications, then getting 64-bit Windows and 64-bit applications is obviously the way of the future. Meanwhile, if your concern is only that the system and all your 32-bit applications may together use all your 4GB or more, then keeping your 32-bit operating system would at least be an option for you if Microsoft would provide you with license data to let you use the PAE support that Microsoft has already coded into the product.
I also have to add that the whole article really feels like an attack on Microsoft. While I agree with a lot of what you say about them being a monopoly and anti-competitive, etc, it seems like a little over the top for something that is fairly easily fixed.
Moving to x64 (as you said) is the future. What is the point of going through all this to enable more memory in a x32 system?
~Lordbob
That's a main point of the article, yes. Windows Vista is the first 32-bit client edition of Windows that has all the code for using memory above 4GB but is not licensed to use such memory. Client editions up to and including Windows XP SP1 have the code but not the restriction. (They are limited to 4GB in total, but not to 4GB as a maximum address.) Windows XP SP2 and SP3 have the restriction and don't have all the code.
The only reason that client editions of Windows Vista and Windows 7 won't (try to) use memory above 4GB but contemporaneous server editions will is licensing. Data in the registry sets limits to memory usage. Different editions of Windows are given different limits but they all have the same code. See especially that Windows Vista SP1 and Windows Server 2008 are exactly identical for the kernel and HAL and pretty much every other executable that they have in common.
The only architectural difference that can matter is what the user adds to Windows by way of drivers. Windows may have the code for using memory above 4GB, but a buggy third-party driver can stuff that up. One may reasonably suppose that third-party drivers, including buggy ones, are in ordinary practice more likely on clients than servers.
From the Windows side of things however, it just doesn't matter about client versus server. If it weren't for the license restriction, all that Windows needs to see is a processor with PAE and a memory map that extends above 4GB. Well, of course, the processor and memory have to work. If you can set up the BIOS so that it tells Windows it has 8GB of RAM when only 2GB are fitted or if the chipset doesn't properly support the memory above 4GB, then all bets are off. Windows trusts what the BIOS tells it about memory.
Before reading this, I thought it was the actual architechure preventing 32x from using more than 4G of Ram, but now it seems (given having a CPU that can use PAE) Windows itself is what is limiting it.
-The key has to be changed and loaded unsigned to allow the 32x system to use 8G or ram.
-32x has no problem using 8G or Ram.
-Microsoft would like everyone to believe that the only way forward, to use 8G of ram, is to upgrade from 32x systems like XP to the new 64x system that is allowed to use more than 4G.
-It seems that Microsoft could easily allow hardware that can handle 8G to access all 8G, but it wont let their 32x systems load in that manner.