[TUHS] Swapping (Was: !mail tuhs at minnie.tuhs.org)

Noel Chiappa jnc at mercury.lcs.mit.edu
Tue Jan 23 23:04:52 AEST 2018

    > From: Doug McIlroy

    >> From: Paul Ruizendaal 

    >> LSX has a maximum of three processes that are swapped in and out in a
    >> stack-like fashion. Only one process is ever in core.

I'm having a hard time working out how this works. If process A is swapped
out, and then B, B has to be swapped in before A can be? But only one process
is ever in core at a time? To get A in, B has to be moved out? But then B
would be the last one out, and would have to come in before A?

Anyway, I don't understand why the OS could/would care which order processes
we swapped in - unless it's something like the 'onion skin' memory allocation
algorithm of CTSS (which also had only a single process resident at a time,
IIRC), where, when a small process had to be swapped in, and a large one was
already in, it only swapped out enough of the large one to make room for the
small one. The process could recurse, hence the name.

    > V1 was a time-sharing system; for which LIFO swapping is
    > inappropriate.

And I don't follow that either...

V1 ran on the 11/20 without memory management hardware, though, right?
(Although there's that cryptic reference to the KS11 in "Odd Comments and
Strange Doings in Unix", although I've never been able to find out anything
else about the KS11.) So presumably one would not have wanted more than one
process resident at a time, as that decreases the odds of a buggy program
trashing another process?


More information about the TUHS mailing list