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