So the question is not whether disk paging should be done, but rather
who should do it. I think RMS will agree that if ITS TECO provided a
virtual buffer space that was larger than the 20's address space and
whose paging was invisible at the level of TECO code, there would be no
serious impact on user-written extensions.
-------
If you think that hand-simulated paging is as good as having it done
invisibly by the system, you're welcome to write all your programs for
11-90's which support 32 megabytes (but can only access 64k at a time)
and switch your page maps by hand. Remember that each switch will
require a system call.
If you already know that an editor can use a large address space,
that's good. Most people are not aware of this. Many think that a
PDP-11 address space would be perfectly sufficient for the editor
PROGRAM. Perhaps people on EDITOR-PEOPLE are more aware of this than
the programming public.
This was one of the principal problems with programming Hydra; it's isomorphic
to the 11-90 problem RMS mentions. It's unfortunate for the programmer to have
to worry about interpretation of wide addresses at each step of the program.
Interpreters that provide a wide-addressed virtual machine are cute but slow.
In the case of a global operation on the file, the editor usually
knows it will need the file pages in sequential order. In this case,
it can start to fetch the required file buffer pages in advance of
when they are referenced its the search code. If limited virtual
address space and physical memory were not a problem, there would be
no need to do so, but in the real world they usually are a problem.
As for paging the program code itself, again it is easiest and nicest
if the operating system can take care of this for you but not totally
impossible to achieve through overlays in certain special cases.
Before this discussion goes any further on this mailing list, let me
state that I am not interested in a "religious" discussion of which
systems, editors, are best, easiest to program on, etc. Nor am I
claiming that one can achieve the same performance from a micro with a
16 bit address space as one gets from a DEC20, or any other such
nonsense.
My original message was in response to a statement that a
PDP11-class processor is insufficient to support a reasonable text
editor. I take "reasonable" to mean a video editor that operates on
files of arbitrary size with a well designed set of local editing
commands plus global search, replacement, and copying, and which can
search a file about as fast as the fastest disk read operation on a
hard disk.
My claim was simply that a PDP11-class processor can support such an
editor if it is well implemented, not that such an editor can be
implemented on a small machine as easily as it can on larger machines.
-------