Author's Note: First of all, I know this is going to be a case of tl;dr for most people, but a hell of a lot of work went into this. Apart from a whole load of research, I spent a week trying to install and use OS/360 MVT in order to get a feel for what computing was like in the 1960s, so I do know some of what I'm talking about when it comes to OS/360. Trust me when I say: That shit is hard, and the sort of work that went into it was far beyond the scope of most computer users.
Secondly, it's not a perfect piece. There are probably a few too many tangents off towards other computers and operating systems, but I was making a chronicle of a series of forty-five year-old operating systems which defied the odds several times to still be used today. It may not be the most riveting read in the world, but please at least give it a go. Comments will be very much appreciated, because I really did put a huge amount of work into this, and as I said, this goes far beyond the scope of most of the members of these forums in terms of difficulty.
Finally, if you're actually interested in emulating an IBM mainframe, you can try the Hercules emulator, which is capable of emulating System/370, ESA/390 and zArchitecture mainframes. Keeping this maintained is what Tron Guy does in his spare time. Doesn't say much good about me, I suppose - this is most likely why I haven't got a girlfriend. I need to get out more.
Esoteric Operating Systems - OS/360 and its successors
In 1964, IBM was the largest computer manufacturer in the world. Thomas Watson Jr. had brought the company forwards from mechanical tabulators to the electronic era, despite his father's initial objections, and the company had gained much success with its 700/7000 series of scientific computers, the 605 model, which opened up computer access all around the United States, and the 1401, their highly-successful business model. But despite this success, IBM found itself at a risky position. The computer models that IBM sold at that time were incompatible with each other, and customers were reluctant to upgrade because of the cost of moving over their programs and data.
The market needed standardisation, and IBM decided to risk its place at the top of a volatile computer industry, where many other companies had already failed, to design a standard system architecture which would serve businesses and scientists alike.
The venture was a success. IBM introduced the System/360 into the market in 1964, cementing its place at the top of the market with hundreds of new customers, who were ensured of the ability to expand as they needed. With a system architecture which would become the standard in mainframes up to the present day, IBM managed to sweep many of its competitors from the market, establishing itself as the industry leader for years to come.
This picture might look a bit odd to some people. I mean, when is the last time you saw a programmer wearing a suit?
System/360 machines were highly sophisticated for their time, with some of the earliest hard disc drives providing megabytes of storage and near-instant access to data where competing machines only had the sequential data storage of magnetic tape. For such an elaborate system to be used correctly, it required an equally elaborate operating system. Operating systems were a relatively new innovation, allowing for easier input/output routines without the necessity of programming them in for every program, and IBM had used them itself for some of its previous computers.
So, IBM planned two operating systems for its System/360 machines: OS/360 for punch-card batch processing, and the more advanced TSS/360 for time-sharing on more powerful System/360 computers. Both operating systems ran into development trouble, with TSS/360 never being released at all, but it was the development of OS/360 which became the most infamous.
Fred Brooks, one of the developers of the System/360 and project leader of the OS/360 project, released a book in the 1970s detailing some of the problems which had developed during the protracted development of the operating system. Named The Mythical Man-Month, the book noted some very important concepts in operating system design. This included an argument against the eponymous Mythical Man-Month, where more man-power was thought to be beneficial to a software project, with Brooks proving that "adding more man-power to a late software project makes it later".
The most relevant of these concepts, however, happened to be Brooks' description of the so-called "second-system effect", where IBM went from a series of small, efficient operating systems on their 700/7000 series to a large, late operating system on the System/360 in an attempt to include features that they had forgotten in previous projects. As a result of this, OS/360 ended up as an extremely bloated OS for its time, requiring a lot of memory and expensive system resources at a time when programmers had to be highly efficient. Unfortunately, this principle has struck again in several later projects, including those by Microsoft (who are probably up to fourth-system effect by this stage!).
Because of the high system specifications to run OS/360, IBM were forced to produce a second batch-processing system, named DOS/360 (for Disc Operating System, and not to be confused with the personal computer DOSes). This operating system lacked the co-operative multitasking of OS/360, but was compatible with the lower-end business System/360 computers. Other interim measures existed with the BOS/360 (Basic Operating System) and TOS/360 (Tape Operating System) lines, but DOS/360 was the only one of these operating systems which became popular.
When OS/360 was finally released in 1966, it finally gave the System/360 the multiprogramming support that it required. However, the operating system was designed for computer specialists, with a language known as JCL (Job Control Language) inherent to the structure of the computer, designed for the computer to process quickly. OS/360 was not an easy operating system to use, made for punch-card input and programming languages like COBOL and FORTRAN, with teams of perhaps a dozen programmers, keypunch operators and other technical staff.
As part of my research for this article, I installed an OS/360 MVT system on the Hercules emulator. OS/360, along with its successors, and the DOS/360 line as well, uses JCL, a language used for simple system tasks. The only problem is that it isn't too simple to use.
Whereas a copy file interaction under Unix would be performed like this:
cp <1stFile> <2ndFile>
the corresponding JCL for OS/360 looks something like this:
//IS198CPY JOB (IS198T30500),'COPY JOB',CLASS=L,MSGCLASS=X
//COPY01 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=OLDFILE,DISP=SHR
//SYSUT2 DD DSN=NEWFILE,
//SYSIN DD DUMMY
Er, right. I don't think I'll bother learning JCL, then.
Few computers at the time were any easier to use, with the first successful minicomputer only designed in 1961, but these computers, usually present in universities or small computing companies, were able to be programmed and operated by a single person. While the microcomputer revolution of the late 1970s and 1980s was still a long way away, the atmosphere around these more simplistic machines, including the TX-0 and TX-2 in MIT's Lincoln Labs, and the recently produced DEC PDP-1, was far more lax than that around the huge, complicated and expensive System/360s, to the point where the famous Sketchpad digital drawing program and even the seminal and groundbreaking computer game, Spacewar!, could be developed on it.
In contrast, the stuffy atmosphere around IBM's machines contributed to a slightly oppressive opinion of them, and the languages that were used with them were derided by many of the early hackers for their inelegant syntax. There was no room to experiment with a System/360, because their programs demanded accuracy. What is more, the social changes of the 1960s were creating a new generation of computer scientists, ones with more relaxed clothing styles and social mores than their predecessors, who programmed with full suits and ties.
Meanwhile, as TSS/360 was cancelled due to even more protracted development than OS/360, replacement time-sharing systems were being programmed elsewhere. TSO (Time Sharing Option) gave users of the MVT variant of OS/360 a limited amount of time-sharing ability, and while this option would not become widely adopted by IBM's business customers, who usually only required batch processing, it was more appreciated by scientists and military customers.
At the same time, IBM's Cambridge Scientific Centre were developing a native time-sharing operating system. Running on the System/360-67 variant of the architecture, CP/CMS was a lightweight operating system specifically designed with scientific time-sharing in mind, and was built with an easier interface than the difficult OS/360. It wasn't officially supported by IBM, being distributed under an open-source model to those places that desired it, mainly scientists rather than business customers.
By 1970, the success of the System/360 had easily paid for the risks undertaken and the protracted development of OS/360, and had helped IBM squeeze some of its rivals out of business. From the 1960s, where the mainframe producers had been colloquially named "Snow White and the Seven Dwarfs", IBM had produced a situation where rivals sold out their mainframe businesses at the hands of System/360's market dominance. Now, the mainframe manufacturers were called "IBM and the BUNCH", the "BUNCH" taking its name from the first letters of the smaller manufacturers.
But things were not perfect for IBM. Incensed at the loss of the MULTICS project to General Electric, IBM needed to develop a new architecture in order to stay competitive. (However, in ironic circumstances, General Electric would be forced to sell out their mainframe business to Honeywell in the late 1960s, and MULTICS would become a laughing stock as it was succeeded by a private project produced by Dennis Ritchie in Bell Laboratories.) So, with the developments made on System/360 in mind, IBM developed its successor, System/370. With the new innovations of integrated circuit design and support for virtual memory included, among other improvements, System/370 became more sophisticated than its predecessor, yet retained complete backwards compatibility with all of its code and even its operating systems.
This architectural improvement helped IBM to maintain its position at the top, and yet, unknown to them, the seeds of the demise of their core business had just been sown. One of these factors would be caused by a company co-founded by Robert Noyce. Noyce, who had been one of the "Traitorous Eight" who had split off from Shockley Semiconductors, home of the transistor, had decided to make his own way once more, founding a company called Intel. In 1969, an Intel team led by Ted Hoff had invented the microprocessor, the first fully-integrated "computer on a chip", and this invention would have far-reaching consequences as discussed later, ones which would change the face of computing forever.
Intel's 4004 microprocessor led to a complete change in computing.
The other two factors in 1970 that would begin to erode IBM's huge lead went hand-in-hand. The first was the rising prominence of the minicomputer, particularly in universities. DEC, developers of the PDP-1, had found much success with other PDP models, and while IBM had a few products present in this market, they failed to pay them much attention. The second factor was an operating system which just happened to be programmed on one of these PDP computers.
Developed in Bell Laboratories, Unix was an operating system first programmed in 1969 by Ken Thompson on a PDP-7 computer, and it had already swept aside the MULTICS project. Unix was just a pet project of Thompson, but it had several factors which would strongly influence later and even modern operating systems. Most important of these was the revelation that a high-level (human-readable) programming language could be used for operating systems, which would allow for Unix's portability across system architectures. But there were more innovations which would help to cement its later success among computer scientists. Even from the very start, it had full pre-emptive multitasking, which made it perfect for time-sharing, and some of its design briefs would prove instrumental in helping it avoid much of the second-system effect and bloat of operating systems such as OS/360 and MULTICS.
Neither of these factors, however, would start to show their relevance until later on. System/370 came into being having to account for three major lines and a few minor lines of operating system from its predecessor, and so, each of these lines was brought forward with new variants. The low-end DOS/360, originally designed as a stop-gap, became DOS/VS. CP/CMS would eventually become VM/370 (Virtual Machine). IBM failed to account for the potential success of this operating system, which became very popular within the scientific market, partially for its abilities to virtualise itself perfectly, proving one of the very first uses of an emulator.
OS/360 had two specific variants to take account of. The less elaborate MFT variant was replaced by OS/VS1, while the more sophisticated MVT variant was replaced by OS/VS2, better known as MVS/370 (Multiple Virtual Storage). Unlike the development of OS/360, the development of the System/370 operating systems went quite smoothly, particularly as the code could be tested on System/360 machines using CP/CMS.
With these operating systems, IBM would manage to see off its competitors during the 1970s as well, even with increasing pressure from DEC's PDP and VAX series minicomputers, many now running Unix, and the efforts of Cray Inc., who would build the most powerful supercomputers in the world until the late 1980s. But the seeds of change were germinating, and the microprocessor was coming into its own. The Motorola 6800, MOS Technology 6502 and Zilog Z80 would give cheap processors to those interested in designing their own computers, and after the successes of the MITS Altair 8800 and Apple I, a large number of companies entered the microcomputer market.
With companies such as Apple and Commodore selling millions of computers in America, and Acorn Computers and Sinclair Research doing the same in Europe, IBM realised that their market was at stake. Many of the traditional customers of mainframes would have no use for one with readily-available personal computers, and so, IBM would have to build a personal computer of their own if they wanted to remain relevant in the computing market.
Dispensing with normal in-house IBM design, a team was assembled to build a personal computer rapidly. Taking the Intel 8088 processor and using a form of BASIC from Microsoft, the company which had created the BASIC variant for the MITS Altair 8800, IBM produced the IBM 5150, better known as the IBM PC.
The IBM PC 5150, predecessor of the PCs most people use today.
The IBM PC was a huge success. Appealing to business customers who had previously bought Apple and Commodore computers, the IBM PC lent huge legitimacy to the personal computer market and set the standard for personal computers to the present day. But while IBM had once again maintained its strong position as the largest computer manufacturer in the world, its mainframe business appeared to be increasingly obsolete, with little need for huge water-cooled, room-sized machines when personal computers could do many of the same things businesses had already been doing more easily and for less cost. What's more, because the IBM PC was based on a commercially-available processor rather than one designed by IBM in house, the IBM PC's BIOS was soon reverse-engineered, leading to a huge number of clone systems.
Nevertheless, IBM designed a new mainframe architecture, designated ESA/390, at a time when workstations were obtaining amounts of RAM only found in mainframes before then, and when IBM's position in the personal computer market looked increasingly weak from competing clone manufacturers. The problems with operating systems had long been solved, with time-sharing available across the whole range, and several releases of MVS and VM through the lifespan of the System/370. ESA/390 had an astounding level of backwards compatibility, able to run programs from the very beginning of the System/360's lifespan.
About halfway through the life of ESA/390, suddenly, there became a resurgence in the level of mainframe use. Spurred on by companies discovering new uses for their mainframes, and a general shift in IBM's tactics, which led to their adoption of open-source operating systems, the mainframe defied odds to survive right through the 1990s. New operating systems were devised to maintain the three lines developed during the late 1960s. MVS was updated to become OS/390, which adopted many modern operating system concepts, while VS/370 became VSE. The VM line, which had been largely ignored during the 1960s and 1970s by IBM, became more important as users increasingly supported thousands of users on their mainframes. But to supplement these three lines, IBM's new committal to open-source led to its adoption of Linux, usually used in conjunction with other operating systems on the same machine.
Today's mainframe is much different to the mainframe of 1964, on the introduction of the System/360. Apart from the far superior power of today's machines, they are used according to completely different paradigms. The mainframe of 1964 usually used batch processing using punch cards and magnetic tape, and some of them didn't even have the ability to perform more than one task at a time. Today's mainframe is usually used by hundreds or thousands of people at a time, through Web interfaces, and its power is in high potential input/output rates and extremely high reliability.
A System z10 machine, large, hugely reliable and capable of serving hundreds of people at once.
IBM is still the world's largest manufacturer of mainframe computers, holding 90% of the market with their System z line of mainframes. Linux is gaining an increasing share of use on these mainframes, not often the main operating system on the mainframe, but becoming more popular. The three lines of operating systems from the 1960s still remain, with z/OS the successor of the OS/360 line, z/VSE the successor of DOS/360 and z/VM replacing the CP/CMS project. Each of these operating systems has adopted large amounts of modern computing concepts, yet maintain extreme backwards compatibility. The COBOL code of the 1960s, written for machines using punch cards and teletypes, will still work with little or no modification today.
However, IBM is no longer the largest computer manufacturer in the world. Removed from the desktop computer market by the pressure of clone manufacturers who left IBM unable to compete, and eventually selling out their line of high-quality but expensive Thinkpad laptops to the Chinese company, Lenovo, IBM now focuses on other markets, from its server and supercomputing lines, to the development of the POWER processor, most recently used in the consoles of today. Hewlett-Packard, only a humble calculator manufacturer in 1964, is now the largest computer company in the world, and one of the largest companies altogether.
The mainframe might not have the glamour of the supercomputer, or even the appeal of a desktop computer, but it performs tasks today that are essential to our society. The operating systems for the IBM mainframe, despite their difficult start, have matured into stable platforms, ready for huge loads every day, and ones able to run programs that are forty years old when today's desktop operating systems often have difficulty with ten-year-old programs. There are lessons to be learned even today from the OS/360 project, particularly with the idea of the second-system effect (something Microsoft is guilty of several times), but despite the difficulties experienced during its development, it has maintained its line during a time period where dozens of operating systems and computer platforms have died out, and that is something to be impressed with, regardless of your ultimate position on the future of the mainframe.