Pocos programas han dejado una huella tan honda en la informática como el IBM OS/360. Fue el sistema operativo de la máquina más ambiciosa de su época, y su desarrollo, lleno de retrasos y caos, terminó dando origen a una de las leyes más citadas de la ingeniería del software. Esta es la historia de un proyecto que estuvo a punto de arruinar al gigante azul y que, casi sin querer, fundó una disciplina entera.
El System/360: la apuesta de los 5.000 millones
El 7 de abril de 1964, IBM anunció el System/360, una familia de ordenadores pensada para cubrir todo el rango de necesidades. De ahí el “360”, como los grados de una circunferencia. Lo realmente nuevo era la compatibilidad: un mismo software podía correr en máquinas grandes y pequeñas de la familia, algo que hasta entonces no se había visto. El anuncio se hizo a la vez en 165 ciudades estadounidenses ante más de 100.000 personas.
IBM puso alrededor de 5.000 millones de dólares sobre la mesa, una cifra colosal para la época que, según IEEE Spectrum, estuvo a punto de tumbar a la compañía. Y mientras el hardware avanzaba a un ritmo razonable, el software se convirtió en una pesadilla.
OS/360: el corazón de software
El OS/360 (Operating System/360) era el sistema operativo insignia de la nueva familia, y acabó siendo lo más complejo que IBM había construido jamás. La primera versión rondaba un millón de líneas de código; con el tiempo pasaría de diez millones. Para domar semejante mole, IBM metió gente sin descanso: llegó a sumar mil personas al proyecto y a gastar en software, en un solo año, más de lo presupuestado para el conjunto.
A diferencia de sistemas posteriores como MS-DOS o el moderno núcleo Linux, OS/360 se pensó para un entorno corporativo de procesamiento por lotes, con tarjetas perforadas, cintas y discos de gran tamaño.
PCP, MFT y MVT: tres sabores del mismo sistema
Vale la pena aclarar un malentendido habitual: PCP, MFT y MVT no eran sistemas operativos distintos, sino opciones de configuración del mismo OS/360, variantes del núcleo y el planificador que elegías al instalar.
- PCP (Primary Control Program): la más sencilla, pensada para máquinas con poca memoria. Solo ejecutaba un programa a la vez.
- MFT (Multiprogramming with a Fixed number of Tasks): permitía varios programas, pero particionando la memoria de forma fija. Si un programa estaba parado, su memoria quedaba desperdiciada.
- MVT (Multiprogramming with a Variable number of Tasks): la más sofisticada, capaz de reasignar la memoria dinámicamente según los trabajos en cola.
MFT nació como apaño temporal hasta que MVT estuviera listo en 1967, pero las primeras versiones de MVT dieron tantos problemas que MFT siguió en uso durante años. Con la llegada de la memoria virtual, MFT pasó a llamarse OS/VS1 y MVT se convirtió en OS/VS2, que más tarde derivaría en MVS, antecesor directo de los actuales mainframes z/OS.
The Mythical Man-Month: la lección eterna
Y aquí llega la curiosidad más célebre. Fred Brooks fue gestor del proyecto System/360 y, durante su fase de diseño, también del software OS/360. Aquel caos le inspiró el libro The Mythical Man-Month (1975), una de las obras más influyentes de la ingeniería del software.
De ahí sale la Ley de Brooks: “añadir personal a un proyecto de software que va con retraso lo retrasa aún más”. Brooks lo aprendió en carne propia al comprobar que sumar mil ingenieros a OS/360 no aceleraba nada; al contrario, multiplicaba la comunicación, la coordinación y la confusión. Por su trabajo recibió el Premio Turing en 1999.
Un legado que aún respira
OS/360 quedó atrás hace décadas, pero su linaje no se ha extinguido: z/OS, su tataranieto, sigue moviendo bancos, aerolíneas y administraciones de medio mundo. Esa filosofía de compatibilidad y continuidad contrasta con la diversidad del software libre actual, donde conviven FreeBSD, Debian o sistemas didácticos como MINIX. Y aun así todos comparten algo: la convicción, nacida en parte del dolor del OS/360, de que construir software es mucho más difícil de lo que parece.