Post by Peter FlassWe did a lot of COBOL on a 32K 360/30. One big report program I had to code
overlays. It was my first experience with overlays and I didn’t do a very
good job of structuring it. I’d love to take what I know now and rewrite
it. PL/I was more problematic.
trivia: end of semester after taking 2 semester hr intro
fortran/computers, I was hired as student programmer to reimplement 1401
MPIO (tape<->unit record) on 360/30 (64k, run os/360 PCP) .. given 360
princ-ops, assembler, bunch of hardware manuals and got to design my own
monitor, device drivers, interrupt handlers, error recovery, storage
management, etc ... within a few weeks had a 2000 card assembler program
run "stand-alone", loaded with BPS loader. I then added assemble option
that would generate version used os/360 GET/PUT/DCB macros. Stand-alone
version assembled (360/30, os/360 PCP) in 30mins ... GET/PUT/DCB version
assembled in an hour ... most of the added time was the DCB macros
... could watch it in the console lights when it was doing the DCB
macros.
the univ. shutdown the datacenter over the weekend and I had the place
all to myself, although monday morning classes could be difficult after
48hrs w/o sleep. the univ. had been sold 360/67 (for tss/360) to replace
709/1401, the 360/30 temporarily replaced 1401 in transition to
360/67. TSS/360 never came to production fruition and so ran 360/67 as
360/65 with os/360. Within year of taking intro class, I was hired
fulltime responsible for os/360.
Three people from cambridge science center came out last week of Jan1968
to install CP67 (virtual machine precursor to VM370) ... it never really
was production at the univ. but I got to play with it in my 48hr window
when univ. shutdown datacenter on the weekend and I had it all to
myself. At that time, all the CP67 source were files on OS/360 (and
assembled on OS/360. The assembled text decks for the system were
arraigned in a card tray with BPS loader in the front. The BPS loader
would be IPLed and the CP67 initiliazing routine (CPINIT) would write
the memory image to disk for "system" IPL. A few months later, they
shipped a version where all the source files were on CMS and assembled
on CMS.
I started by rewriting a lot of CP67 pathlengths significantly cutting
time for running OS/360 in virtual machine. Old (1994 afc) post with
part of 1968 SHARE presentation on the reduction in CP67 pathlength.
http://www.garlic.com/~lynn/94.html#18
OS jobstream on bare machine 323secs, originally running in CP67 virtual
machine 856secs, CP67 overhead 533 CPU secs. After some of the
pathlength rewrite, runtime: 435 secs, CP67 overhead 112 CPU secs
... reducing CP67 CPU overhead from 533 to 112 CPU secs, reduction of
421 CPU secs.
I continued to do pathlength optimization along with a lot of other
stuff, dynamic adaptive resource management & scheduling algorithm, new
page replacement algorithms, optimized I/O for arm seek ordering and
disk&drum rotation, etc.
At some point, I also started reorganizing a lot of the fixed kernel to
make parts of it pageable (to reduce the fixed memory requirements) and
ran into a problem with the BPS loader. Part of making pieces of kernel
pageable was splitting some modules up into 4k segments, which increased
the number of TXT ESD entry symbols. The BPS loader had a table limit of
255 ESD entry symbols ... and I had all sorts of difficulty keeping the
pageable kernel reorganization under 256 ESD symbols. Later after
graduating and joining IBM Science Center, I was going through a card
cabinet in the attic storage area ... and ran across the source for the
BPS loader ... which I immediately collected and modified to support
more than 255 ESD symbols.
trivia: in morph of CP67->VM370 ... they greatly simplified and/or
dropped lots of CP67 features, including SMP multiprocessor support and
much of the stuff I had done as undergraduate in the 60s. When I joined
IBM, one of my hobbies was advanced production operating systems for
internal datacenters ... the datacenters were then moving off of 360/67
to increasing numbers of 370s w/vm370. I spent part of 1974 putting a
lot of the dropped CP67 stuff back into VM370 until I was ready to start
shipping my CSC/VM for internal datacenters in 1975.
--
virtualization experience starting Jan1968, online at home since Mar1970