Few pieces of software have left as deep a mark on computing as IBM OS/360. It was the operating system of the most ambitious machine of its era, and its development, plagued by delays and chaos, gave rise to one of the most quoted laws in software engineering. This is the story of a project that nearly ruined Big Blue and, almost by accident, helped found a whole discipline.
The System/360: A Five-Billion-Dollar Bet
On April 7, 1964, IBM announced the System/360, a family of computers designed to cover the full range of needs. Hence the “360,” like the degrees of a circle. The breakthrough was compatibility: the same software could run on both large and small machines in the family, something nobody had pulled off before. The launch happened simultaneously in 165 U.S. cities, in front of more than 100,000 people.
IBM poured roughly $5 billion into the project, a staggering sum that, according to IEEE Spectrum, nearly brought the company down. The hardware progressed reasonably well, yet the software turned into a nightmare.
OS/360: The Software Heart
OS/360 (Operating System/360) was the flagship operating system of the new family, and it turned out to be the most complex thing IBM had ever built. The first release ran to about one million lines of code, and over time it grew past ten million. To wrestle with that monster, IBM kept throwing people at it: it added some 1,000 staff to the project and spent more on software in a single year than had been budgeted for the entire effort.
Unlike later systems such as MS-DOS or the modern Linux kernel, OS/360 was built for a corporate batch-processing world of punched cards, tape reels and large disk drives.
PCP, MFT and MVT: Three Flavours of One System
A common misconception is worth clearing up: PCP, MFT and MVT were not separate operating systems. They were configuration options of the same OS/360, variants of the nucleus and scheduler you picked at install time.
- PCP (Primary Control Program): the simplest, meant for machines with little memory. It ran only one program at a time.
- MFT (Multiprogramming with a Fixed number of Tasks): allowed several programs but partitioned memory in a fixed way. If a program sat idle, its memory went to waste.
- MVT (Multiprogramming with a Variable number of Tasks): the most sophisticated, able to reallocate memory dynamically based on queued jobs.
MFT was conceived as a stop-gap until MVT arrived in 1967, but the early MVT releases were so buggy that MFT lived on for years. When virtual memory hardware appeared, MFT was renamed OS/VS1 and MVT became OS/VS2, which later evolved into MVS, the direct ancestor of today’s z/OS mainframes.
The Mythical Man-Month: The Eternal Lesson
Here comes the most famous curiosity. Fred Brooks managed the System/360 project and, during its design phase, the OS/360 software as well. That chaos inspired his book The Mythical Man-Month (1975), one of the most influential works in software engineering.
From it comes Brooks’s Law: “adding manpower to a late software project makes it later.” Brooks learned this the hard way, watching how throwing a thousand engineers at OS/360 sped up nothing and instead multiplied communication, coordination and confusion. He received the Turing Award in 1999 for his contributions.
A Legacy Still Breathing
OS/360 was retired decades ago, yet its lineage never died: z/OS, its great-great-grandchild, still powers banks, airlines and governments worldwide. That philosophy of compatibility and continuity contrasts with the diversity of today’s free software, where FreeBSD, Debian and teaching systems like MINIX coexist. Still, they all share something: the conviction, born partly from the pain of OS/360, that building software is far harder than it looks.