Subject: Re: Alternative to memory maps for large (> 10GB) files on ix86.
To: Mike Cheponis <mac@Wireless.Com>
From: Andreas Persson <pap@garen.net>
List: port-i386
Date: 10/16/2000 14:12:46
On Mon, Oct 16, 2000 at 01:00:30AM -0700, Mike Cheponis <mac@Wireless.Com> wrote:
>I wondered about this once, and was, ahhh, "discouraged" from this line of
>thinking, but perhaps you want to write some code.
>
>On the 486 (and I assume Pentii) each task on the 486 has a maximum of
>2^14-1 (16K) selectors, and offsets can be 2^32 bytes, giving a total of
>2^46 bytes (or 64 terabytes) of logical address space per task.  (A selector
>is the contents of a segment register).  That's 70,364,449,210,368 bytes
>per task.
Actually, you can only have 8191 segments in each descriptor table, of which
there are two (one global and one local). The tops bits of the selectors
are reserved for the RPL and one selecting the descriptor table. You still
cannot address more than 4 gigs though. The Pentium Pro and above have a
36 bit extension, but that's strictly for *physical* addresses. Thus you
still cannot address more than 4 gigs at a time.

>Presumably it's just a few quick hacks to throw this into the kernel...
>(People, I'm -joking- !;)
The 36 bit extension wouldn't be that hard actually, I think...

>-Mike
>

-- 
Andreas Persson
pap@garen.net

"I could be bounded in a nutshell and count myself a king of infinite space."
	--Shakespeare