ubuntu-mips team mailing list archive
-
ubuntu-mips team
-
Mailing list archive
-
Message #00023
Re: n32 vs n64 - should we forego n32 and wait until the Debian n64 base system is made?
On Fri, Aug 07, 2009 at 09:52 +1200, Kai-Cheung Leung wrote:
> > >
> > > +-----+----------------------+--------------------+
> > > | | Kernel address space | Userland |
> > > +-----+----------------------+--------------------+
> > > | o32 | 32 bit (< 4GB) | 32 bit (< 3GB) |
> > > +-----+----------------------+--------------------+
> > > | n32 | 64 bit (unlimited) | 32 bit (< 3GB) |
> > > +-----+----------------------+--------------------+
> > > | n64 | 64 bit (unlimited) | 64 bit (unlimited) |
> > > +-----+----------------------+--------------------+
> > >
> > > Figures in parentheses mean amount of usable memory, virtual for
> > > userland, physical for kernel space. unlimited means in pratice,
> > > mathematically correct: 2^64 B.
> > >
> > > Please correct me if I got anything wrong.
> > Yes, the main differences between different ABIs lay on the registers
> > usages, length of data type, address space and so on. More details could
> > be gotten by Google. And also you could refer to the book "see mips
> > run" and some specifications. Thanks.
I don't google, everything I found out about loongson I found via
Wikipedia search. I might ask one of my alter-egos, say John "Surfer"
Doe, to do it for me though :)
> You said that in n32, the "userland" only has 3GB. Does the "Userland
> refer to the max logiccal address range available to a process, or
> *all processes* together?
When talking about 'userland' I mean virtual memory per process.
> i.e. if hardware allows, will I be able to
> run 100 n32 applications, each takes 2GB of memory?
Yes, each process having it's own 4GB virtual memory in theory it's
limited only by the maximum number of available pids. Don't cite me
on the <3GB though, I wrote that from the top of my head.
While a process is executing in supervisor mode (name depends on arch)
kernel memory is mapped into the process's virtual memory easing
kernel's access to user memory, thus reducing the process's 4GB VM.
At least that's what I remember from an OS course I took in the early
80s, Tanenbaum's book on Modern OSs &c. In Unix.6 for PDP-11 source
code kernel routines accessing user memory where hardest to understand
because the hardware had no easy way to address both kernel and user
memory simultaneously. (1 year later we implemented these routines
among others in PDP-11/60 microcode).
You have to take my word for it, since I lost all references from
these old days to a fire in '97.
> Also if the kernel supports 64-bit addressing, then would it be
> possible to run a mixture of applications compiled with -n32 and -n64
> flags simutaneously on an OS that has 64-bit address kernel?
I can't answer this one because I still don't known exactly how
n32 and n64 are defined.
Thanks
Siggy
--
Please don't Cc: me when replying, I might not see either copy.
bsb-at-psycho-dot-informationsanarchistik-dot-de
or: bsb-at-psycho-dot-i21k-dot-de
O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
Attachment:
signature.asc
Description: Digital signature
Follow ups
References