Lovely. "The Mythical Man Month" was a recommended supplementary text when I was in undergrad computer science, and it was well worth the read, especially for me -- I have a tendency to get hung up on the cool tools and fun methods in programming, which is OK in hobby environments, but if the purpose of the software is to solve a problem, you need to keep an eye on the problem. The book extends this insight to managerial methods, famously, and to me feels akin to Goodhart's law, about how once a metric becomes a target, it ceases to be a useful metric.
There's a great interview with Frederick Brooks on Youtube, not specifically about the System/360, but the guy was amazingly self-aware: https://www.youtube.com/watch?v=ul0dbgs8Mdk
For those of you interested in these ancient machines, the CHM has an IBM 1401 and a PDP/1 that they actually will run as demos from time to time. The 1401 runs twice a week, and the PDP/1 runs twice a month.
Do note though that they are both very different from s/360.
Complexity-wise, 1401 and PDP/1 are a bit closer to home computers of the 80s, in that they usually just execute code in a single thread and context and without any protection. They represent an earlier and simpler era of computing.
The s/360 lineage, on the other hand, is an ancestor of our modern computing environment with virtual memory, privilege separation, virtual machines, dynamic linking, and so on.
It’s really quite striking how much of our “modern” computing concepts IBM already did at the time with the s/360 and successors, up to the still alive IBM z.
That does not diminish from the awesomeness of the 1401 and PDP-1 exhibits at all, I highly recommend them!
I'm mainly saying that there were many 'experiments' tried in the olden days, and those plus "the market" give us what we have today. Recall, in the days of the IBM 1401 and DEC pdp-1, the notion of 'byte' as an 8-bit quantity did not exist. ASCII did not exist. The IBM 1401 was a Decimal / Character machine, and could add/sub/mul/div numbers of arbitrary length, in hardware (!). The pdp-1 used one's complement arithmetic. On and On...
Some of that did not really materialize during the System/360 era. A custom version of the model 65 was the only one with virtual memory, for example. And while OS/360 was an architectural marvel on paper see the comments elsewhere in this thread about "The Mythical Man-Month" and how implementing it actually went.
The most common System/360 machine as you would see in the 1960s, was the model 30 with 16 to 64 KB of RAM, a couple disks, and a card reader and printer. It would have been mostly programmed in assembly under DOS (the full OS didn't fit), and mostly batch processing.
The virtual machine behemoths came with System/370 a bit later, the compatible successor series.
With that said, System/360 did innovate quite a lot. Right down to setting the 8/16/32/64 bit pattern for byte and word size, or just the idea of a compatible series of machines running the same software, over the range of 10,000 to 1,000,000+ instructions per second, and from like 8 KB to 8 MB of RAM.
You’re right, so I was careful to say “s/360 lineage”! However, I thought a lot of the advanced concepts already were in some s/360s. Maybe not virtual machines, but that’s more the cherry on top (and pretty wild to me that s/370, which is the next step in the s/360 lineage, already had it).
The Hercules emulator allows you to run various OS/360 and later systems in emulation under Windows, Mac, Linux and most other Unixes also, in case you wanted to try it out yourself.
You can try your hand with one of my Docker images.
docker run -it -p 3270:3270 rbanffy/vm370
Then connect your 3270 client(s) to port 3270 on localhost and play like it’s the 1970’s.
Disclaimer: that image has a 370, the successor of the 360.
For this image, user CMSUSER has password CMSUSER, user MAINT (has more privileges) has password CPCMS. I now forgot the password for OPERATOR. I’ll post it here when I remember what it was. This image is built on the Sixpack distribution of VM/370. Google for it and you’ll find lots of information.
Get my 3270, show VM/370. As an MVS/DB2 guy, not sure what to do next. Any CMS tutorial for this Hercules based VM/370 I wonder. (The MVS side is easier for me and even can do some old time compliation of ISPF ...)
Whilst still not able to get a permanent copy, but VM/370 got not as good but ok "ee" full screen editor plus an interactive file list manager. I develop program faster than MVS 3.8 actually.
Oh... I have used EDIT. It's actually fun to see the patterns of editors evolving from line-based editors to modal full screen ones, to non-modal full-screen.
You can check in the vm370.org website. They publish the VM/370 Community Edition (which is a lot like the one I packed - the CE version is rbanffy/vm370ce on the command line).
running last 2 days and get my fortran compiled etc. Just whenever I logoff and quit the emulator, all are lost!!! Just double check, logoff will keep the files. But as there is no way to shutdown the terminal system it seems, I just quit and all are lost.
I did download my files one by one to my pc using Tom.
I will look at the vm 370 but wonder whether it will be too hard, as there is no setup like tk5 and like your docker. Yours seems just one command away (and change the port to non-3270 to avoid conflict with my mvs.) And tk5 just run.
I do not know how even to start the vm 370 community edition after download!
You’d need to restart the container rather than running it again from scratch for the state changes to stick.
I'm thinking about modifying the shadow disk setup (the base disk is immutable and only the shadow file is changed) to make the shadow folder persistent, but that'd be better done at the cluster management level.
VM/370 is something like a hypervisor, CMS is a single user operating system mostly for development tasks. In production other operating systems were used, maybe MVS?
Not sure whether it worked already like this in the 360 area.
CMS was used not so much for development as for setups that really focused on interactive time sharing approaches, vs "extra special batch job" of TSO under MVS
I was a trainee in an IBM lab nearly 40 years ago. All developers including myself worked using VM/CMS. That I remember for sure.
With production workloads I had nothing to do, so I am not sure what was the most commonly used OS. Pretty sure no bank clerk, airline counter or similar ran CMS.
Talking with some elder developers, it always seemed to me that VM/CMS combination was mainly popular at universities and labs, so arguably a related environment.
Probably was helped once people figured how to also run DOS and MVS under VM.
Airline Counters of course ran (and some still do) TPF, and serving massive amounts of users with standardised forms was much easier with CICS (I seem to recall a story about some retail chain actually running their POS on single mainframe in 1970s with each retail clerk using a 3270-compatible terminal to access CICS forms).
Yes, CICS came to my mind. But CICS is not an operating system, it needs one to be run AFAIK. The Wikipedia article says it runs under VM/MVS or VM/VSE.
OS/360 was discontinued. MVS is listed as one of its successors.
So I believe, while interesting, the VM/CMS emulator/simulator mentioned above is only representing System/370 period, not System/360.
I am certainly not an expert on the matter.
Edit: Following a couple of Wikipedia links tells that in the 360 period something called CM/CMS existed. It seems only loosely related to the VM/CMS used in the 370 period.
VM/CMS from my understanding started in System/360 period, but it was not really something advertised - initial versions ran on specific models only, and even later on it wasn't necessarily available to officially purchase.
I don't think virtual memory existed on the 360. The unofficial OS provided to some important customers dissatisfied with the nightmare delays in OS/360 was CM/CMS. Maybe the CM/CMS command line experience was already rather similar, I don't know.
Virtual memory did not even exist in the first S/370 models, that was a slightly later feature.
The origin point was, according to my searches, specially modified S/360-40, where CP-40 (VM's "grandpa") was developed as well as CMS.
This was followed by S/360-67 which introduced address translation to S/360 and was specially built for timesharing - there, CP-67 was developed, and since model 67 was sold normally, it was apparently provided to some customers as alternative OS. CP-67 evolved into VM/370
Yeah, when reading VM I thought too much about virtual memory. But IBM famously never used the term memory, but called it storage. So VM probably only referred to Virtual Machine. So their first virtual machines including all during 360 era, probably still showed physical adresses, even if more than one virtual machine could using the same addresses exist. None of them had page tables, they all had the same addresses. First MVS (multiple virtual storages) changed that.
Mainframes notably call memory “storage”, so virtual memory becomes “virtual storage”. The idea of virtual machines in mainframes is closely tied to user logins as you get “your own” machine on logon. IBM mainframes diverged from the OS tree very early on and evolved similar services, but with very different conceptual frameworks.
I worked for a few banks starting in the 1980’s. It was all MVS. End user applications were created using CICS and IMS. What we used to call OLTP (online transaction processing).
I did a lot of stuff on that machine. One was an interactive processor so users could write their own simple programs to do whatever they wanted. It had numeric and string accumulators and numeric and string operators.
One program I wrote for it could take text and convert it to pig latin.
IIRC, the processor was about 12,000 lines of 360 assembly language.
‘moshix’ has many excellent videos on Youtube about the IBM mainframes and their operating systems - including how to run them on an emulator, for example, https://www.youtube.com/watch?v=Wl8qG9KilJg.
Just like usual there are no mention of woman but at least and sadly that is sort of expected for this kind of history. But I wonder Amdahl role in all these. We heard all about Brooks when we were young. And Amdahl was …
TLDR; System/360 was the first true family of architectures that spanned 1000x performance speedup, the smallest models were modest and heavily microcoded.
The Amdahl System/470 was dependent on IBM-compatible disk drives and IBM lost an anti-trust lawsuit in the late 1960s when they tried to deny cpu support contracts to customers using 3rd party disk drives.
Apple today is doing something quite similar by trying to deny repairs by 3rd party companies. IBM broke the law explicitly (tying) through verbal contracts whereas Apple is breaking the law implicitly using needless hardware crypto contracts ...
Thats why Steve Cook should lose the anti trust battle. Just watch.
There's a great interview with Frederick Brooks on Youtube, not specifically about the System/360, but the guy was amazingly self-aware: https://www.youtube.com/watch?v=ul0dbgs8Mdk