On Sep 11, 2015, at 11:41 AM, Johnny Billquist <bqt
at Update.UU.SE> wrote:
...
Overlays were a way to try getting around the address space limitations. I still would
not consider overlays as any part of the PDP-11 architecture. But maybe that is just me.
I agree. You can use overlays on any hardware platform that has random access secondary
storage. You need it if your programs are larger than your primary memory. It's
found on many machines prior to the arrival of really large memories and address spaces.
And you could use it even there -- there's nothing that prevents the use of overlays
on a VAX, for example, though in practice I doubt it has been done.
The main alternative is paging, which is easier to use at the expense of lower
performance. That follows from the fact that paging is done by an automatic mechanism
that isn't aware of what the application is doing, while overlays are designed by a
programmer who is (usually) smarter than the paging automaton. There are in-between
approaches, where code and data are broken into fixed size pages that are paged in and out
automatically, but the assignment of bits of code or data to pages is optimized by the
programmer to improve performance. The THE operating system is a nice early (mid 1960s)
example of this.
paul