Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!lll-lcc!rutgers!husc6!panda!genrad!decvax!decwrl!sun!gorodish!guy
From: guy%gorodish@Sun.COM (Guy Harris)
Newsgroups: comp.unix.wizards
Subject: Re: Squeezing more memory into a process on a pdp 11/73 - HELP !
Message-ID: <11058@sun.uucp>
Date: Wed, 7-Jan-87 14:47:36 EST
Article-I.D.: sun.11058
Posted: Wed Jan  7 14:47:36 1987
Date-Received: Thu, 8-Jan-87 00:00:31 EST
References: <1116@natmlab.dms.oz> <1416@blia.BLI.COM>
Sender: news@sun.uucp
Lines: 18
Keywords: memory pdp 11/73 help fruit orange
Summary: Done for Commercial Union Leasing Corp's version of DEC's FORTRAN IV-PLUS for UNIX?

> V7 (PDP11) Unix had some support for process text overlays.  Of course
> none of it was documented and we were unable to determine the intentions
> of ld and had to rewrite it for our needs.  As I recall we had to modify
> adb and put a hook or two in the kernel to debug the stuff nicely.

If I remember correctly, some Bell Labs memorandum said this was originally
stuck in to support the overlay mechanism used by the port of DEC's FORTRAN
IV-PLUS compiler to UNIX.  (It certainly worked the same way that the
overlaying stuff in the Harvard Science Center PDP-11 UNIX did.)  However,
that port also included a linker that understood DEC's object file format;
the support for this format from the standard UNIX linker looked pretty
primitive.

The idea was that each path through the overlay tree got an executable image
of its own.  The root segment was the main 410/411 image, and the others
were 405 images.  When it came time to move to another path through the
tree, the overlay manager would "exec" the appropriate 405 image.  A 405
image would replace the text but leave the data and stack unchanged.