> On Mar 10, 2023, at 1:38 PM, Chuck Guzis via cctalk <cctalk@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


Reply via email to