Happy Birthday, System/360

As an article at Wired reminds us, it was 47 years ago today, on April 7, 1964, that IBM first announced its System/360 family of what came to be called mainframe computers.  It was an announcement that heralded something that was, at that time, really new: a range of computers, with capacities ranging from modest to powerful,  that shared a common architecture, a (mostly) common machine instruction set, and the ability to share a set of common peripheral devices (such as tape and disk drives).  It was a huge gamble on IBM’s part: the company invested about $5 billion in developing a range of compatible hardware.

System/360 components included the CPU, control unit, display terminal, printer, data-cell storage, drum storage, disk storage and DASD control unit, tape storage, a tape control unit, card reader–card punch combination, console station and console typewriter.

Previously, computer systems had been, if not custom made for a particular installation, at least somewhat idiosyncratic affairs.  Manufacturer ABC’s Model Y might be a big improvement and have more capacity, compared to Model X, but it was unlikely to be easy to “upgrade”.

The really important idea behind the System/360, though, was much more important than compatible hardware: all the computers in the System/360 series had the same architecture, and could run the same programs.  The nascent idea of portable programming had already manifested itself in the development of high-level languages, like FORTRAN and COBOL.  But the System/360 promised more: portability at the machine code level; an Add Register (AR) instruction, or a Move Characters (MVC) instruction, meant the same thing across the range of System/360 models.  This was a degree of compatibility not seen previously; it meant that, if you had a program — an object code program — that ran on a System/360 Model 30, it would run, without changing or even re-compiling, on a System/360 Model 50.

IBM’s gamble was a huge commercial success.  The first System/360 machines were delivered in 1965; by a year later, IBM was selling ~1000 systems per month, at an average price of $2-3 million.

That success helped the System/360 establish some de facto standards, like the 8-bit byte and 4-byte words, which we still have.   (Previous computers had featured an odd array of word lengths, form 8 to 36 bits.)  The architecture also provided the first quasi-standard format for floating point data and computations, a standard that lasted until it was superseded by IEEE-754 floating point in 1985.  The project also produced some very fine documentation; that it could be useful across the product line probably helped convince everyone that it was worth doing the job well.  I still have my well-used copy of IBM System/360 Principles of Operation [GA22-6821], the architecture reference manual, which in my opinion is one of the finest examples of technical writing I have ever seen.  Fred Brooks, the project manager for the OS/360 operating system, wrote The Mythical Man-Month, which should be a must-read for any software project manager.

None of this is to say that the System/360 was perfect.  It had its share, at least, of ugly features, especially on the software side (The Mythical Man-Month has a few choice examples).   But there was enough fundamental sense in its design that it has lasted this long — as with UNIX, first released in 1969.   And, as I learned in a casual conversation recently, there is a small library of FORTRAN “helper” routines, for things like manipulation of special character strings and dates, that I wrote ~35 years ago,  in assembler for the System/360,  that is still going strong.

Comments are closed.

%d bloggers like this: