[geeks] Windows XP 64bit Licensing?

Charles Shannon Hendrix shannon at widomaker.com
Wed Jun 27 15:18:56 CDT 2007


nate at portents.com wrote:
>> What difference does that make?  Ugly, sure... but on a virtual address
>> system like Linux does it matter?
> 
> http://www.codinghorror.com/blog/archives/000811.html
> 
> "To be perfectly clear, this isn't a Windows problem-- it's an x86
> hardware problem. The memory hole is quite literally invisible to the CPU,
> no matter what 32-bit operating system you choose."

Egads man, this is memory holes, which is not an addressing limit, the original 
subject of the thread.

You can access holes, they just won't be physical RAM.  In fact, this was one of 
the Linux bugs a few years ago, when the kernel accidentally allowed processes 
to access the AGP memory hole directly.  There was also a bug in the AMD CPUs 
regarding AGP memory.

Some systems remap physical RAM around the holes, some don't.

None of them can remap memory if you have all possible RAM installed, at least 
nothing currently popular that I can think of.

For example:

When I used to run 16MB ScramNet cards on my Sun systems, I lost 16MB of address 
space for each card I inserted.

If my Sun had been maxxed out with physical RAM (not possible in those days), I 
would have lost access to some of it for each card I used.

For that matter, my 8-bit Atari had memory holes.

>> All memory in Linux is virtual addresses and any given physical address
>> can be marked off limits for paging VM.
> 
> Really.  Then explain this:
> 
> http://ubuntuforums.org/showthread.php?t=484222

As I already explained, Linux gives you a choice of memory models.  Ubuntu Edgy 
was built with a fast but limited model that doesn't give you all 4GB.

This is not a Linux limit, it's a choice.

If you don't like it, don't make the choice.  It's quite simple to build a 
kernel that accessess *ALL* of your memory.

Ubuntu 7.04 is built with the large memory model by default.

>> What specific problem have you seen?
> 
> The one I've been describing that is specific to the x86 32-bit architecture.

Memory holes are not specific to X86 32-bit architecture.

> And yes, there are ways around it with memory extentions such as 36-bit
> PAE, which has it's own unique set of limitations and restrictions, here's
> how you'd set up PAE in 32-bit Linux for Oracle:

PAE is for accessing *MORE* than 4GB, not for accessing 4GB.

> http://www.oracle-base.com/articles/linux/LargeSGAOnLinux.php

This is an outdated page about running a large Oracle setup on a version of 
RedHat Linux from several years ago.  I think AS 2.1 came out in 2003.

It was built with a limited memory model 2.4 kernel, which is also several years 
old.  People running AS 2.1 didn't want to change their kernel because it
violates the RH service support agreement.

The methods described are not necessary on a modern Linux system and have not 
been for some time.

>> It doesn't mean you don't have access to all 4GB, it just means no single
>> process can access more than 3GB.
>>
>> That's probably the model that Windows defaults to.
> 
> No, Windows defaults to a maximum address space of 2GB per application. 

That's just a different split point: it's the same model.  Linux used to default 
to the same split.

Now most distributions don't split at all, and compile the kernel to address all 
4GB in 32-bit mode.




-- 
shannon           | An Irishman is never drunk as long as he can hold onto
                   | one blade of grass and not fall off the face of the earth.



More information about the geeks mailing list