Hacker News new | past | comments | ask | show | jobs | submit login
The IBM System/360: the first modular, general-purpose computer (sourcegraph.com)
105 points by lindax on Aug 25, 2016 | hide | past | favorite | 37 comments

This was roughly the same time the ANSI committee was trying to standardize ASCII. IBM was a proponent of ASCII, but they had shipping deadlines, and kept with their own character set rather than delay while they created ASCII peripherals. The 360 became popular and a lot of code was written for it which assumed the EBCDIC character set (or was it still BCDIC?) was being used, so future mainframes stayed EBCDIC to grandfather in all the code.

That shipping deadline and the insane fallout from it has done more to keep me employed in my career than anything else.

I gave a presentation earlier this month on the history of Unicode, where I traced its evolution from ASCII (and showed EBCDIC as well). The deck is up and the video should be around in the near future.


The BCD part is "binary coded decimal" - a way of representing numbers as decimal coded digits, so 0001 1000 meant "18".

The BCD Interchange code was a 6 but character set that allowed the standard encoding of uppercase letters and numbers. It was realised onto punched cards by utilising "digits" 11 and 12.

The extended binary decimal interchange code was a larger space (8-bit) that allowed the encoding of both uppercase and lower case letters.

Incidentally, the terms "upper case" and "lower case" come from printing presses where the individual letter punches (think the head of a typewriter) were stored in "cases" - actually a wooden storage drawer with lots of small rectangular components containing many of each letter; more for E and other vowels, less for Z and X - and since typesetting text involves more lower case than upper case (as per this post) the lower case letters were stored in the lower case so that they would be easier to reach, with the capitals being stored above and sightly further away.

You can run bare bones OS/360 using hercules-390 [1], which emulates old and new mainframe architectures.

You can play with OS/360 versions like MFT and MVT, read source code (or try!), do a system generation (recompile the "kernel") and run ita facilities.

Hercules-390 has a very active community [2].

PS: OS/360 and many other older IBM systems are now public domain and have almost all source code available.

[1] http://www.hercules-390.eu

[2] http://groups.yahoo.com/group/bercules-390

My uncle had one if these in his hanger, amongst helicopter parts. This was the early 80's and he probably picked it up for scrap value from a military surplus sale. As a kid, would always pester him about getting it running. It had large 5 MB disk packs you'd insert into a washing machine sized drive.

Not sure if it was the IBM drives or similar designs from other companies, but apparently if you abused the drive just right (it could be controlled completely by software) you could make it walk across the floor. Some university IT labs held late night HDD races...

Lots of tape drives from that era could do that. You've got big heavy motors and spindles, which means lots of inertia. Tell a drive to spin up to full speed, then abruptly stop, and you got lots of angular momentum that still needs to be dissipated. As the spindle assembly is anchored to the chassis, this ends up getting dissipated through the chassis as a quick movement. Spool up the spindles in the opposite directiion and then abruptly stop, and you've just made it step forward. Repeat many times and you've got a walking disk drive.

> and then abruptly stop

These were first computers I was exposed to. As students and later young engineers working with them, we were taught an important principle: "nothing you can do in software can break the hardware". Imagine then my bewilderment when, working with a tape and having some strange-looking "Attention required", I went down to the ceiling only to see the tape still on reels but cut in two pieces.

Its funny. In the early days of consumer PC's the feeling was very much the opposite. There were persistent rumors of "killer poke" commands (some of which were at least partially true) where an incorrect software command could destroy the hardware.

I am not sure whether that principle they taught us was holding 100% of the time, but it for sure helped -- we were fearless ;-). I must say I am glad that I started my developer career by doing systems programming in IBM OSes. It felt like officiating in a temple at the time and age. Compared to channel programming and starting I/O asynchronously, twiddling bits in some register on a PC in a loop on main (and only) CPU felt just wrong to me ;-). Who knew...

Commodore computers were particularly susceptible to these. There was a famous one for the PET which could blow out the CRT. I'm also pretty sure I accidentally killed at least one VIC-20 with another, more different poke...

For an explanation on why that would kill your CRT: http://www.6502.org/users/andre/petindex/poke/index.html

Mainframes and helicopter parts

Sounds like a cool uncle

"Modular" is a very confusing word to use in the title, since IBM's earlier computers were made from modules. IBM even called the cards in its 1950s-1960 computers "Standard Modular System" (SMS) cards.

I think what "modular" is alluding to in the title is that the 360 introduced a whole line of compatible computers, rather than making each computer a separate architecture as had been previous practice.

In other words, the 1959 IBM 1401 was modular in the sense of being made from modules, but it wasn't modular in the sense of being part of a product line. (The improved 1410 was only sort of compatible.)

SMS link: https://en.wikipedia.org/wiki/IBM_Standard_Modular_System

Did they perhaps mean "modular" in the sense of the computer being composed out of a set of standardized modules, with none of the modules having been constructed for that computer alone?

Not just component-wise upgradability or ease of assembly, but rather eliminating entirely the concept of doing one-off "integrations" to create new products in the line. In other words, doing with their computer parts what IKEA does with furniture parts: designing and manufacturing only at the component level, then feeding all the finished components into a shared pool of resources, where products are then simple assemblies of resources from the pool.

I'm a bit late to reply, but the idea of IBM's modular SMS cards (1950s-1960s) was that they would create a relatively small number of these cards and would build computers out of them. (A card might have a few AND gates for instance.) In practice, new machines required custom cards and IBM ended up producing thousands of different SMS cards. So the idea was only semi-successful.

It was preceded by the more advanced Burroughs B5000, which had a stack-based architecture, was directly programmable in Algol60, and had virtual memory.

You beat me to it. I counter that "first" part every time I see it because it was both second and an inferior machine. To think they spent $5 billion on it. I still don't have a number on what B5000 cost to develop. That would be interesting comparison.

EDIT: $500mil-$1bil on development part per another comment.

The difference is that the B5000 was a single machine while S/360 was a platform of compatible machines with a wide range of prices. IBM also maintained backwards compatibility while it appears that the B6500 did not.

Not to nit-pick but it was Burrough's Algol systems programming dialect rather than straight Algol60. Damned impressive, yep. (See Alan Kay's various talks about computer history.)

I'd love to see the original authoritative source that the IBM 360 project cost 5 billion in 1960 dollars. Something about that seems way overstated. I am wondering if it's just one of those facts that has been repeated so long that it's just taken for granted as being correct. 5 Billion appears to well exceed the cost to develop the Boeing 747 which was a massive bet the company undertaking.

https://books.google.com/books?id=oaBOuo4mId8C&pg=PA189&dq=I... says:

> Estimates of the total cost of System/360 range from $4 to $5 billion. Of this amount, $500 million to $1 billion was development cost, while the rest was used to expand manufacturing capacity and to produce rental machines.

The references are Wise (1966b), Evans (1983 p.44), and IBM Annual Reports for 1965 and 1966.

Wise (1966b) is a Fortune article titled "IBM's $5,000,000,000 gamble".

I can't find the annual reports readily online.

It looks like you want Appendix C of "IBM's 360 and Early 370 Systems" at https://books.google.com/books?id=MFGj_PT_clIC&pg=PA619&dq=I... , with financial an employee data for IBM from 1950 to 1977.

In the early 1960s IBM had revenue of over $1.5 billion/year. Even then, 360 was a big gamble.

Worth mentioning that this investment figure would have included lots of stuff beyond what our current minds consider the "computer". It would have also included I/O systems, disk & tape storage, communications, terminals, printers, and etc. A lot of this was close to bleeding edge. S/360 was a "system", and that meant a lot of optional peripherals you could buy.

> Fortune article titled "IBM's $5,000,000 gamble".

I think you're missing some 0's there.

Oops! Yes. I'll edit my original. Thanks! (No copy&paste from Google Books views.)

Author of the post here, thanks for reading! Here's a source citing the $5B figure: http://www-03.ibm.com/ibm/history/ibm100/us/en/icons/system3...

That $5B appears to be the cost of the entire project, including production.

In your essay, you wrote "development cost". Is that meant to include production? Because it appears the development cost as its own line item was no more than $1B.

Have you read Wise's Fortune article to confirm that it says what you think it does? I haven't been able to find it online.

Also, I think it's interesting that nearly all of the sources I found cite that Fortune article, and not an IBM publication. Even an IBM site prefers to quote Fortune instead of their own sources.

> That $5B appears to be the cost of the entire project, including production.

I agree. Not that any of this really matters but I hate when inaccurate figures are just repeated and taken as fact which is why I raised the point in my original question. Actually just because the number seemed to high to be true.

We've had two other cases of this that I can remember recently. One was the ADA and flossing. [1]

The other was the "8 glasses a day of water" which is something that has been repeated as gospel. [2]

As a general rule people will always throw in the kitchen sink when stating numbers and make them seem as large as possible. [3] Additionally anyone who was ever interviewed for a news story will know that whatever you repeat to a reporter is rarely questioned. It's taken as a fact and if it ends up in a major newspaper (say NYT or WSJ) it is taken as vetted and authentic. (I have been quoted so that is why I say this..)

[1] And now I am seeing this: http://www.ada.org/en/press-room/news-releases/2016-archive/...

[2] http://www.nytimes.com/2015/08/25/upshot/no-you-do-not-have-...

[3] Unless of course it serves them to make them as small as possible.

In fairness, the figure is mostly accurate. Development cost $1 billion, the entire project including production cost $5 billion. It was a bet-the-company move.

I agree that it's an accurate number. I meant to highlight that "development" can mean "to develop a working system" (R&D) as well as "to develop a commercial product" (R&D plus production, support, sales, marketing, ...).

You might want to edit the part about it being the first, business mainframe. The Burroughs B5000 was published in 1961 then released I think same year as System/360. Quite forward-thinking stuff vs the giant calculator IBM made:


Burroughs changed their name to Unisys. They still sell those machines although not with the custom CPU's with hardware-enforced safety/security. (sighs)

That's probably inflation-adjusted. It was about $1 billion at the time. [1]

[1] http://ds-wordpress.haverford.edu/bitbybit/wp-content/upload...

That was the original development cost, in early 1960 dollars. The remaining $4 billion was manufacturing costs.

I'd like to know what a hardware program costing ~US$38 billion in 2016 dollars would look like.

But I think it's safe to say that the gamble paid off!

Fun fact: Fred Brooks (http://www.theymadethat.com/people/pdwzew/fred-brooks) wrote Mythical Man Month based on his experience managing the IBM System/360 project

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact