[comp.os.minix] Re^2: Blitter with fork

mboen@nixpbe.UUCP (Martin Boening) (04/28/89)

HELMER%SDNET.BITNET@vm1.nodak.edu (Guy Helmer) writes:

>Why all the bother of swapping forked processes around in memory on an
>unprotected 68000 machine?  Why aren't memory references done relative
>to an arbitrarily assigned base register that Minix could change when a
>process forked?  A quick look at a table of 68000 instruction execution times
>revealed no obvious severe increase in execution times for address register
>relative addressing, and any performance penalties might quickly be recouped
>from the time saved if a large forked process was swapped even once.

As a matter of fact I think the only way to have base register relative code
and data is to use PC-relative code. Then you'd have ye gude olde 64K boundary
for process size again. However, I think the reason for not using it also
has to do with the actual semantics of fork, but I'd have to check on that
one in the Minix manual (which I have at home). I don't know if it would be
such a good idea to use several 'base registers' (as in IBM-Mainframe-
Assembler) because it would complicate the compilers. I like the idea better
to just speed up the swapping in memory by using the blitter. It might be
possible since the blitter can shift memory contents without changing it.
Let's read the info on blitter programming.

Martin

Email:
(Europe)                -> ...!unido!nixpbe!mboening.pad
(The Rest of The World) -> ...!uunet!philabs!linus!nixbur!mboening.pad
(for adventurous souls) -> mboening.pad@nixdorf.com
-- 
Email: in the   USA ->  ...!uunet!philabs!linus!nixbur!mboening.pad
       outside  USA ->  {...!mcvax}!unido!nixpbe!mboening.pad