
The IBM System/360: the first modular, general-purpose computer - lindax
https://text.sourcegraph.com/the-ibm-system-360-the-first-modular-general-purpose-computer-98caeb0c9d1b#.4h3q3sq1b
======
ceautery
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.

~~~
alblue
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.

[http://docklandsljc.uk/2016/06/unicode-cuddly-application-
se...](http://docklandsljc.uk/2016/06/unicode-cuddly-application-server.html)

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.

------
emersonrsantos
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](http://www.hercules-390.eu)

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

~~~
jim02672
Typo fixed:

[2]
[http://groups.yahoo.com/group/hercules-390](http://groups.yahoo.com/group/hercules-390)

------
madengr
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.

~~~
digi_owl
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...

~~~
Sanddancer
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.

~~~
minipci1321
> 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.

~~~
dzdt
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.

~~~
bitwize
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...

~~~
colejohnson66
For an explanation on why that would kill your CRT:
[http://www.6502.org/users/andre/petindex/poke/index.html](http://www.6502.org/users/andre/petindex/poke/index.html)

------
kens
"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](https://en.wikipedia.org/wiki/IBM_Standard_Modular_System)

~~~
derefr
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.

~~~
kens
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.

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

~~~
nickpsecurity
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.

------
gist
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.

~~~
dalke
[https://books.google.com/books?id=oaBOuo4mId8C&pg=PA189&dq=I...](https://books.google.com/books?id=oaBOuo4mId8C&pg=PA189&dq=IBM+360++cost+billion&hl=sv&sa=X&ved=0ahUKEwiN2Ne5pt3OAhWsK5oKHZH_AMQQ6AEIWTAI#v=onepage&q=IBM%20360%20%20cost%20billion&f=false)
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...](https://books.google.com/books?id=MFGj_PT_clIC&pg=PA619&dq=IBM+360++cost+billion+revenue&hl=sv&sa=X&ved=0ahUKEwiiqsa4qt3OAhULBywKHSP9CYcQ6AEIITAB#v=onepage&q&f=false)
, 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.

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

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

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

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

