Re: Linux and physical memory

Alexander Vlasenko (ukrgym@ilyichevsk.odessa.ua)
Mon, 18 Jan 1999 06:31:38 +0200


> From: "christophe leroy" <christophe.leroy5@capway.com>
> Date: Sun, 17 Jan 1999 18:36:07 MET
> Subject: Re: Linux and physical memory
>
> > ...
> Adress space is (on 386) 64TeraBytes pro task. Its enough to have
> 4Gbytes phys mem mapped into virutal memory, and 4Gbytes for one
> process

NO. That phrase in Intel docs means that you can invent some
virtual memory manager which will use both segment selector
and offset (16 bit & 32 bit wide) to identify a virtual memory
location.
Thus max *virtual memory addr space* for 386 is 2^48 bytes.

Linux don't use all this stuff, AFAIK in Linux we have
"flat" memory model with only 2^32 address space for each task.
And it's wise decision - this makes everything much simpler.

> When a task jumps into kernel code, CS is 0x10
> When a task is in user mode, CS is 0x23.
> It means that it is already two separate 4Gbytes capable spaces.

Selectors point to segments of linear address space, which is
4Gb on 386. If you have two segments with total size > 4Gb,
they ought to overlap.
It seems you think that linear address space is bigger than 4Gb.
You may need to consult processor docs if you don't believe me.

--
Denis Vlasenko

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/