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