tech-embed archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBSD without MMU ?



Lennart Augustsson wrote:
> 
> > : You don't _need_ an MMU to implement fork()....  (eg. as in MINIX)
> > However, you do have to do some really major evil and hack the compiler to
> > make all code PIC-and-then-some (ensuring base register relative addressing
> > for all data accesses).
> Not at all.  Original Unix implemented fork() without PIC.  What you do
> is that you copy all of the current process to swap space and then you
> make that process the parent (well, I guess you could make it the child
> if you want).  Context switch will be somewhat slow since it will
> require a swapping out and in.

One of the big improvements in many UNIX implementations in the early 80s
was to implement "shared text" - i.e. copy the data+bss segments but share
the text segment between processes.  This saved memory and fork time both.

> Now, this particular solution may not apply if you don't have swap space. :)

Some of those old systems ran fine with no swap, right up until you tried
to load a large file into the editor.  You get what you pay for.

-- 
            "Where am I, and what am I doing in this handbasket?"

Wes Peters                                                         Softweyr LLC
wes%softweyr.com@localhost                                           
http://softweyr.com/



Home | Main Index | Thread Index | Old Index