On Mar 10, 2023, at 1:38 PM, Chuck Guzis via cctalk
<cctalk(a)classiccmp.org> wrote:
On 3/10/23 10:20, Bill Gunshannon via cctalk wrote:
The first mainframe I worked on was single user,
single tasking.
S/360 DOS provided for one "background" memory partition and two
"foreground" ones. Batch submissions would be background, with some
installations using the smaller foreground ones for interactive use.
You mean DOS/360 as opposed to OS/360? I don't know that one. But OS/360 came in
three flavors: PCP, MFS, and MVS. PCP was strictly single user with unit record I/O
direct from/to the devices (no spooling). If you had enough memory you could run the
multi-tasking OS variants, MFS or MVS. On the 360 model 44 we used in college we
didn't have enough memory so we were stuck with PCP.
It was interesting to realize IBM stuck people with the rough analog of RT-11 on a 128 kB
machine -- twice the memory size that on a PDP-11 would support a 16 user timesharing
system.
Apart from the lack of concurrency and no spooling, PCP also didn't have timers. We
ran a lot of WATFIV (successor of WATFOR, a fast Fortran compiler for educational use),
but that would run a whole stack of programs as a single OS job, using the timer to limit
individual program. PCP wouldn't support that so a stuck student program would force
the canceling of the whole job, then finding where in the stack of cards to resume and
reload. Ugh.
I figured out how to hook to the interrupt vector of the "interrupt" button on
the operator console panel (using a simple security defect in ECXP appendages), then tied
that to the timer expiration in WATFIV. With that, the operator could kill a stuck
student program with a single button push and WATFIV would go on to the next.
paul