Guy wrote:
> No, my understanding of it was that the entire process (what is it
> called in TOPS-10?)


In TOPS-10, a process is called a "job". In the early days there was
a one-to-one correspondence between active terminals and jobs, but later
they allowed jobs to be detached (thus having no terminal), and for PTYs
which allow one job to control another.

> is swapped out and then the new pass was overlayed
> and then the entire process swapped in again (really not remembering how
> TOPS-10 works at the moment).


IIRC, the way most multipass compilers on TOPS-10 worked is that the first
pass program is loaded, it reads the source and writes a temp file. Then
it tells the OS to run the second pass, which reads that temp file and
writes another, etc. In that model, there's not any inherent swapping,
and the size of the program is irrelevant to the cost of loading the
passes. The downside is that there is more disk activity for the temp
files.

A more clever multipass compiler might be able to keep the intermediate
representation(s) of the use program in core in the low segment, and
have each pass at completion load the new pass code in the high (shareable)
segment, or (more difficult and less efficient) put the pass code in
overlays. There's no reason that this would require the low segment to
be swapped in our out, though.

Perhaps the BLISS compiler works in a different way that isn't readily
apparent. I never used BLISS-11 or BLISS-16, and only used BLISS-10
a few times.

Eric
----------
To unsubscribe (or subscribe) from (to) this list, send a message to
info-pdp11-request@village.org, with the first line of the message
body being "unsubscribe" or "subscribe", respectively (without the quotes).