Blast From The Past

A note I wrote to Thierry Falissard’s OS site back in 2000, with some corrections by others.
Isn’t the Wayback Machine wonderful? 🙂

I have worked with IBM Unit Record gear, wiring all standard equipment and several obscure systems (Frieden Flexowriter Papertape to IBM Punch Card, etc). Then I worked with all the 2nd generation computers, including the 1401/1460/1410/7010, 7070/7074, 7044, 7090/7094, and 7044/7094 Directly Coupled System, then all operating systems for the S/360, except IMS (I did a little when IMS was just a baby, but not enough to claim much expertise there).

It’s interesting to watch the development of ideas in this business. IBM’s software for 2nd generation hardware was all started by customers, not any IBM planned projects. 1401 Autocoder was written by IBM SEs installing 7090s and fed up with coding the the 1401s in Machine Language. 1401 SPS was field-written by IBM CEs and SEs in the process of installing 1401’s as adjuncts to 7090s …corporate took it over, called it SPS and it developed into Autocoder. When I first joined IBM, I worked for a ex-CE, one of the original coders of that software.

7070 didn’t really have an OS, per se, just a group of utilities, some of which started out life as in a customer shop – think it was an insurance company that did the first 7070 sort code – then IBM took it over and made it pretty, added more utilities, and put it under one umbrella.

The 1401 was intended as a front-end to the 7090, doing card-tape and tape-print/punch so the 7090 wouldn’t be limited to unit-record speed. (When Honeywell released their Liberator package, it tried to translate 1401 code to Honeywell code and frequently failed…I heard Honeywell was complaining that IBM customers were using the 1401 like a true computer instead of just an Unit Record driver for the 7090. IBSYS was not originally developed at IBM, but by customers. IBM eventually took over 1401 Autocoder and 7090 IBSYS, standardized and documented, expanded it, etc…not sure who added IOCS to Autocoder or did 1401 code…probably some IBM SE…lot of good code written by SEs to support a customer….DEBE came out of Chicago Datacenter, DITTO from some SEs, many database systems…I helped code/implement Variable Length ISAM nearly a year before IBM’s official version became available, built databases for Grumman before the word Database ever existed, using multple ISAM and BDAM files…IBM SDD always played catch-up to what was being done in the field.

The S/360 was the first time IBM ever designed hardware and software together. MVT was the target system intended, with all pre-MVT being recognized as intermediate stages and all post-MVT systems being add-ons…limited by the basic design of MVT…and we still see that heritage. I built systems with Basic Programming Systems (BPS Cobol, BPS Assembler, BPS Fortran, BPS Sort). program.

Built 8K-BOS – Basic Operating System, disk-resident, designed to run in an 8k systems…nucleus took 4k but needed 6K to do anything useful so mostly run on 16K systems.

Built first TOS (same as DOS but Tape-resident OS…lasted about 3 months before DOS came out).

Built first 16K DOS disk-resident system outside SDD, designed for 16k memory, needed 12k nucleus for anything useful so mostly run on 32K systems….used to tell customers to use DOS on 32K-128K systems and not move to OS with less than 256K.

Before OS, there was Proteus, which emulated OS, used for testing OS routines. My favorite was a guy testing Fortran subroutines on a 7090 emulator…but the emulation only supported 6-byte labels and the programmer used 8-byte labels differing in the last 2 bytes…had to recode hundreds of labels to avoid duplicates…any emulation is only 90%, right? NY Telephone used to run Payroll on a 650 (drum memory), then emulated 650 on 1410, then emulated 1410 on S/360-50, the absurdity finally sunk in on them and they reprogrammed the application.

Finally got to Release 1 of OS – PCP – had the only version of DASD/DumpRestore that didn’t check the Password bit in the VTOC..used to keep a copy around just to crack password-protected datasets. Survived subsequent releases of OS, skipped the worst ones as known disasters. Smuggled SUPERZAP out of SDD and gave to FEs and selected SEs…much easier to zap some mistake than to redo a 13-hour Sysgen…also fix broken VTOCs, etc…nice piece of code…wish I had written it.

2nd Generation: 1401 frontend to 7090/94 – no name I ever heard.

2nd Generation:7044 frontend to 7094 – DCS (Directly Coupled System)

3rd Generation: S/360-40 frontend to S/360-65 – ASP (Attached Support Processor)

3rd Generation: IBM’s NASA SEs developed frontend on-same-CPU (generally S/360-75) and called it HASP (Houston Attached Support Processor) …legacy is all the messages still in JES2. They took early pre-release MVT code for Sysout Writer, added the Sysin Spooler and some RJE code. IBM added Job Scheduler code with JES2. DEC invents Virtual Memory… (Shmuel corrects: “Burroughs, which generally gets credit for virtual memory, on the B5000. Ferranti, was actually there first, with the Atlas. Several other companies had paging before either DEC or IBM did.”).

Other computer makers jump on board, including IBM, but only IBM takes it to the next step: Virtual Machine…the best damn piece of code ever built…

HASP: at the rollout of the software when IBM’s NASA office gave it to the world (I was there), they called it “Houston Attached Support Processer ” because it was their version of the ASP system. If it was later renamed, I never got the word, although I spent the next year or so doing a lot of HASP installs and kept in pretty close touch with IBM-NASA including coding RJE support for some odd-ball printers.

The point is that much 2nd generation software was written by customers or IBM field personnel – CEs or SE. Second, the /360 represented the first time IBM ever designed the hardware and software together, as a total package with hardware and software decisions influencing each other. That interdependency continues…look at the parts of OS software that have become ‘firmware’, imbedded DB2 code, etc. The /360-OS package was their first Total Solution for IT.

After 2 years out of the business, am now migrating a system from OS/390 1.3 to 2.10. With luck, I’ll be retired before I have to face zOS. What bothers me in the PC world is the tendency to throw memory, disk and CPU at a problem…nobody thinks twice about rebooting a PC when it hangs and it’s not worth debugging…even Server hangs/reboots are seldom treated seriously. It seems like everyone wants 24×7 without any idea what that really entails, and they shrug off downtime…the attitude seems to be ‘close enough for government work’…what ever happened to us anal-rententive perfectionists? At least we recognized, appreciated and worked toward a goal of perfection…and sometimes we came damn close to achieving it…

Footnote 2013: I did not avoid z/OS, but lived happily with it until early this year.

Leave a Reply