Subject: Re: MMU requirements
To: None <tech-kern@NetBSD.org>
From: Jared Momose <jpmomose@hotmail.com>
List: tech-kern
Date: 02/18/2005 16:08:54
Kamal,
> > >Without translation, you are doomed some nasty page
> > swapping madness. You
> > >might be able to minimize it by attempting to
> > locate your binaries to
> > >different addresses such that concurrently running
> > binaries occupy different
> > >sections of your address space, but you still have
> > severe limitations
>
>Not a problem if you consider that:-
>(1) there is no swap device
On this processor, since a "virtual" address can only be backed by a single
physical address (realize that in this hypothetical system, VA would have to
be the same as PA), you will need to find a way to juggle the contents of
the page being addressed.
> > >(multiple instances of the same programe, i.e.
> > getty, anything multiuser,
> > >fork needs to be reworked?!). Personally, I have
>
>do we need getty() on a dsp?
The issue I presented was that of executing multiple instances of the same
binary. The problem is that both contend for the same address space for
data/bss, and will require some funky page swapping code to mitigate the two
instances.
> > concluded that although it
> > >may be possible, the result would be terribly
> > inefficient and not very
> > >useful for anything academic or commercial.
> > >
> >
>uclinux is the modified version of linux that is
>commercially used.
The paradigm used by ucLinux to handle processes is very different than
Linux. If someone was clever and did port the Linux kernel to the Blackfin,
including fork() and the ablilty to execute N instances of an arbitrary elf,
I believe my statement would stand.
Of course, as Steven M. Bellovin pointed out, you could always play some
games with the linker and the program loader. But from what I recall, this
path was abandoned years ago due to its tedious nature and the advent of
more sophisticated hardware, i.e. address translation.
Best regards,
Jared Momose