overlay loader

utzoo!decvax!ucbvax!ihnss!cbosg!harpo!chico!duke!phs!dennis utzoo!decvax!ucbvax!ihnss!cbosg!harpo!chico!duke!phs!dennis
Fri Jan 22 23:41:27 AEST 1982


You get the overlay stuff for free with 2.8bsd;
using it I've managed to get ex3.? running on a non
split I/D machine, and I'm on the verge of getting
rogue running on it, too, but that's MUCH harder.
It works, I've never been able to track any bugs to
the overlay stuff, but I still can't figure out
why vi tells me the file is incomplete whenever
a search fails...

As for loading of the overlays, they're always there;
the EMT instruction is used to cause the kernel
to fiddle with the paging registers.  The loader
sets up routines in low memory (the base segment)
which do the EMT and call the real routine after
it's been mapped in. The whole text space
(including overlays) is still swapped as a unit.

There are lots of ways to arrange the overlays;
the maximum text space (for a split I/D machine)
is 8192+7*57344 = 409600 text bytes.  Of course,
it's hard to get an 8K base segment (the C library
wants to go there...) and there's going to be lots
of overhead space for the indirection routines,
but that's the ideal, anyway.



More information about the Comp.unix.wizards mailing list