Jump to content

Licensed Memory in Windows Vista


GrofLuigi

Recommended Posts


http://msdn.microsoft.com/en-us/library/aa366778.aspx

This has been discussed ad-nauseam. It was originally done because certain drivers would have an issue with the larger address space and load locations on 32bit systems with the PAE kernel. Since Vista was originally supposed to be the last x86 Windows client, I don't think there was a big push to "fix" x86 clients. With Win7 definitely being the last client to ship with an x86 kernel (2008 R2, aka Win7 server, is already x64-only) I don't see a real need to "fix" this as most desktop users probably don't need more than 3GB of RAM for their daily tasks anyway, and those that do have likely migrated to x64 (XP, Vista, or Win7) desktops anyway.

Technically an x64 OS can access 16 exabytes of RAM, but are we going to start complaining because the limit is artificially capped at 1TB for most architectures?

Link to comment
Share on other sites

  • 3 weeks later...
Guest geoffchappell

> This has been discussed ad-nauseum.

To judge from http://www.msfn.org/board/index.php?showtopic=130000, the nauseum set in much too early. That article, also by cluberti, is the standout piece on the whole of the internet for inaccuracy in describing PAE. There are others that are arguably as blighted by errors of fact, but that one is distinguished by its being presented as the last word in its forum: all future questions on the matter will just be pointed to that!

> It was originally done because certain drivers would have an issue

> with the larger address space and load locations on 32bit systems with

> the PAE kernel.

Can anyone verify this? There's no doubt that 32-bit drivers do exist which have in various ways been coded to assume that physical addresses fit 32 bits, but what Microsoft has done to defend against them is conspicuous for being a sledgehammer to crack a nut.

Suitable means to defend against bad drivers falling over when presented with physical addresses >= 4GB existed already: remove the PAE kernel from the product; or disable the PAE kernel by default; or set truncatememory by default so that no memory >= 4GB would be used.

Instead, the PAE kernel is there, but you (or an OEM who tests the software and will bear the support costs if wrong) are not permitted to enable its use of memory >= 4GB.

This action far exceeds the traditional solutions to potentially bad software and is of very much greater effect than needed for the stated purpose. It's only fair to wonder if the stated purpose is the whole of it.

> I don't think there was a big push to "fix" x86 clients.

I do appreciate that you have written "fix" in inverted commas, but it's not as if x86 clients are broken in any real sense. All sorts of things go wrong with all sorts of drivers, but this must be the first that has been elevated to needing license data to prohibit use of a substantial functionality.

So, no, there wasn't a "big push" to get a relative few 3rd-party drivers fixed. However, there was at least some push to fix the licensed memory limit at 4GB. The formal scheme of license values for this and that, including for memory limits, is new code.

> I don't see a real need to "fix" this as most desktop users probably

> don't need more than 3GB of RAM for their daily tasks anyway, and those

> that do have likely migrated to x64 (XP, Vista, or Win7) desktops anyway.

No harm, no foul? In a fast-moving industry, consumers can be guided this way or that by hook or by crook and if the processes aren't entirely honest, it doesn't matter because once everyone has made the move, nobody cares how they got there.

Many will migrate to x64 because they are told it's the only option. Most might have migrated to x64 anyway, as the best of option, but that doesn't mean they won't have been taken advantage of for their ignorance or trust. All supposed experts let down the consumers when we allow dubious processes to persist in the name of progress. I myself am guilty: I should have written the article two years ago when I discovered the new code for licensing and its implication that machines would be sold with 4GB of RAM and 32-bit Windows Vista but not with permission to use all that RAM.

If the process is all above board, then Microsoft would have no trouble describing it openly and honestly. Instead, there's no clear statement from Microsoft that 32-bit Windows Vista has code for using memory above 4GB but its use isn't licensed. That's at least fishy.

> Technically an x64 OS can access 16 exabytes of RAM, but are we going

> to start complaining because the limit is artificially capped at 1TB

> for most architectures?

In 10 years time or however long it takes for 128GB to be the typical amount of RAM in a new computer, if client editions of 64-bit Windows are still licensed only for 128GB of RAM, then yes, you very possibly will have started complaining.

Link to comment
Share on other sites

Many will migrate to x64 because they are told it's the only option. Most might have migrated to x64 anyway, as the best of option, but that doesn't mean they won't have been taken advantage of for their ignorance or trust. All supposed experts let down the consumers when we allow dubious processes to persist in the name of progress. I myself am guilty: I should have written the article two years ago when I discovered the new code for licensing and its implication that machines would be sold with 4GB of RAM and 32-bit Windows Vista but not with permission to use all that RAM.

If the process is all above board, then Microsoft would have no trouble describing it openly and honestly. Instead, there's no clear statement from Microsoft that 32-bit Windows Vista has code for using memory above 4GB but its use isn't licensed. That's at least fishy.

Well, technically Vista and Server 2008 (and Win7 and Server 2008 R2) are each their server twin's codebase, so technically this is all licensing and app compat (and mostly the former). However, technically x64 is the best long-term option, as Windows 7 will be the last client OS from Microsoft to be built x86 and x64, and Windows v.next will be x64 only (Windows Server 2008 R2, aka Windows 7 Server, is already x64 only).
That article, also by cluberti, is the standout piece on the whole of the internet for inaccuracy in describing PAE. There are others that are arguably as blighted by errors of fact, but that one is distinguished by its being presented as the last word in its forum: all future questions on the matter will just be pointed to that!
Did you mean that to (virtually) sound the way I'm reading it? Sarcasm is hard to determine on the internet with one whom you do not know, so either that's funny sarcasm or fighting words. If it's funny sarcasm, let me know.
Link to comment
Share on other sites

Guest geoffchappell

No sarcasm. When I am sarcastic, I usually want that there be no mistaking it and I'm usually successful at the point. I don't see that I wrote "fighting words" either. You have some stuff in that "sticky" which seriously needs proper attention. There's no way of getting around that, or of pointing it out gently.

You have PAE acting as some sort of window with all the overhead borne by the application, when in fact PAE is transparent to applications (and even to almost all system code). You talk of a requirement for contiguity, when the fact is that neighbouring 4KB pages of linear address space can be mapped to physical pages at opposite ends of however big a physical address space is supported. You somehow have it that PAE is good only for accessing data rather than code (a point which you believe enough to make twice).

These are all errors of fact. PAE is just a variant algorithm for looking up the page tables. It's no more of a hack than is paging itself. Executable code is no more aware of PAE's paging algorithm than of the original algorithm. The overhead is only very slightly greater and rests entirely in the extra level of lookup, so that the CPU takes slightly longer to translate linear to physical and the operating system's memory manager has slightly more work to do in preparing the page tables.

Your descriptions are less of Intel's PAE than of Microsoft's AWE, though even for the latter you wouldn't be quite right. So, revise it, quickly, please. If you have trouble or want help, write to me by email. This forum makes such hard work of my browser (probably because even though I relaxed my high security settings in order to post here, they are still too high). Every other time I click on something, the browser just sits for minutes with "Waiting for" whatever in the status bar. This discussion is not important enough to me to lose time on that, but correcting your "sticky" is important enough for the community at large that I will help you in email if you want.

Edited by geoffchappell
Link to comment
Share on other sites

Your descriptions are less of Intel's PAE than of Microsoft's AWE, though even for the latter you wouldn't be quite right. So, revise it, quickly, please. If you have trouble or want help, write to me by email. This forum makes such hard work of my browser (probably because even though I relaxed my high security settings in order to post here, they are still too high). Every other time I click on something, the browser just sits for minutes with "Waiting for" whatever in the status bar. This discussion is not important enough to me to lose time on that, but correcting your "sticky" is important enough for the community at large that I will help you in email if you want.
No, because it's a discussion about how Microsoft Windows uses PAE (via AWE). Why don't you go ahead and take your own advice and read the Windows Internals book before you lecture me about my posts? And considering you have two posts here, and can't seem to follow the rules you agreed to (7b specifically) and make nice during discussions without being overly sarcastic (yes, you're being sarcastic), consider yourself banned.
Link to comment
Share on other sites

  • 2 weeks later...
Guest kasperz0

cluberti,

your own selfbeleif in what you know about the x86 architecture blinds you from knowing how it actually works. And you ban everyone trying to explain it to you (I have read other threads as well).

"geoffchappell" is so right: you really need to revise your sticky on this subject - it is very wrong.

You make a reference to "Windows Internals book" by Mark Russinovich. Have you actually read it yourself (and understood it)? ... No, you have not, because then you wouldn't write the things you do.

I've been a software engineer/driver developer for a long time and knows a bit about this, and you are wrong in your description of PAE (and AWE, and other stuff too).

Link to comment
Share on other sites

You just won't give up, will you?

If only he used Tor then we wouldn't know it's him yet again, right? Oh, wait...

It's amazing how persistent some people can be, especially when they are wrong.

geoffchappell must be popular, two posts and banned? :-O

And this time, he gets banned in one! :hello::yes:

Link to comment
Share on other sites

Well I hope he wasn't banned for just having different opinion :)

No, this particular user registers, posts in a busy post with misinformation (on purpose, it seems), and then tells the OP (it was me this time, but it has been others) that they're wrong and tries to convince others he (or she?) is right. While opinions really don't weigh on banning or not, stuff like this does. It seems on purpose to reduce the quality of info here at MSFN, and we won't allow it.

Link to comment
Share on other sites

If you click the link from the OP, the page clearly states in highlighted text:

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.

Sounds to me like he's advocating violations of the Vista EULA anyway...

But hey, I can understand the FUD about migrating to 64-bit architecture...my hometown used coal gas lighting until the 1920's rather than install an electric system because "they use electricity to kill people!" and "hey, my gas lights work just as well as the next town's fancy eee-lectric lights!" As for me, when I needed (wanted :) ) 4GB of RAM in my machines, I migrated to 64-bit operating systems because they are made to use it...if I'm driving 100 MPH in a car, I'd rather do it in a modern Ferrari than a Model T.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...