Messages in this thread | | | From | (Linus Torvalds) | Subject | Re: x86 question: Can a process have > 3GB memory? | Date | Fri, 10 May 2002 19:41:44 +0000 (UTC) |
| |
In article <E176GHv-0006ee-00@the-village.bc.nu>, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: >> kernel. It would be possible to allow program access to this RAM, although >> both Kernel and gcc support would be needed. M$ had "huge" memory models >> to go over 64k in the old 8086 days, doing loads of segment registers. > >Alas that is not quite the case. You still have a 4Gb virtual address >space. If you want > 32bits, get a > 32bit processor. This one isnt as >simple as add segmentation and 'large model'
Well, you _could_ use the P bit on the segments and "page" them in on demand with mmap. That would get you a model very similar to the old 16-big large model: no single object can be bigger than 2GB, but you can have a total object size of something like 40 bits.
No kernel support needed, actually. It's all there with the LDT stuff.
But yes, compiler support and a recompiled glibc. And it would break all programs that assume a flat address space.
And it would really _suck_ performance-wise if your working set is big enough to cause you to have to switch mmap's a lot.
Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |