On 3/15/23 17:23, Jon Elson via cctalk wrote:
Yes, the IBM 709x ran in single-job fashion. I
don't think it had
interrupts, so breaking off one program to schedule another was not
possible. Also, it had no memory protection. We had a 7094 at
Washington University in the late 1960s, and it was the main computer
resource on campus. When the moved up to a 360/50, they were able to
benefit from multiprogramming, and got a boost in throughput, although
the 7094 was QUITE a bit faster than the 360/50.
Interrupts with IBM were a "if you need them, we have them". For
example, the 1800 (industrial version of the 1130) and the 1710
(industrial version of the 1620) both had realtime clocks and interrupts.
I find it interesting, tracing the evolution of Seymour Cray's thinking
from the CDC 160A through the Cray 2. One cannot really understand,
for example the thinking behind the 7600 without knowing the 6600 and
its predecessors.
The CDC 1604 (1959 (certainly had interrupts, both internal and
external, but I do not believe it had memory protection. It did have a
console loudspeaker driven by a 3-bit DAC, however.
The CDC 3000 series (1962) had an interrupt capability as well as memory
protection and realtime clock.
When you get to the CDC 6000 era, the question of interrupts is
interesting. Certainly the PPUs didn't have interrupt capability, but
the CPU could be exchange-jumped by a PPU (usually PP0) to provide
task-switching on demand. In general, however, CPU programs did not
implement interrupt-handling as such. It is clear that Seymour
initially intended most OS functions to be distributed among the PPs.
I do believe that he abandoned that line of thought when it came to the
7600 and beyond. The dominant 7600 OS, SCOPE 2, was an interesting
combination of privilege levels and overlapping storage protection.
7600 PPUs could not host an OS because they were confined to fixed
buffer addresses in SCM. The 7600 PPs are pretty much confined to I/O.
For whatever it's worth,
--Chuck