IBM System/360
Pour une entreprise, cela change tout. Au lieu d’acheter une machine isolée puis de devoir réécrire ses programmes lorsqu’elle devient insuffisante, elle peut évoluer vers un modèle System/360 plus puissant tout en conservant une grande partie de son environnement logiciel.
L’ordinateur devient ainsi progressivement une plateforme. Le matériel peut évoluer sans remettre systématiquement en cause les programmes, les données, les périphériques et les compétences accumulées. Cette idée paraît aujourd’hui évidente. En 1964, elle constitue une rupture industrielle majeure.
Avant le System/360 : des machines souvent incompatibles
Dans les années 1950 et au début des années 1960, IBM fabrique déjà de nombreux ordinateurs. Certains sont destinés principalement au calcul scientifique, d’autres à la gestion des entreprises.
L’IBM 704, par exemple, appartient à une lignée orientée vers le calcul scientifique. L’IBM 305 RAMAC répond à d’autres besoins et participe notamment à l’apparition du stockage sur disque.
Ces différentes familles ne partagent pas nécessairement le même jeu d’instructions ni la même organisation interne. Un programme développé pour une machine ne peut donc pas être transféré automatiquement sur une autre.
Cette situation devient de plus en plus problématique. Les entreprises investissent désormais des sommes importantes dans leurs programmes, leurs données et la formation de leurs équipes. Changer d’ordinateur peut alors signifier devoir adapter ou réécrire une partie importante des logiciels.
IBM comprend que le logiciel est en train de devenir aussi stratégique que le matériel.
Une famille entière autour d’une même architecture
Avec le System/360, IBM cherche à rompre avec cette logique. Plusieurs ordinateurs très différents doivent désormais présenter au programmeur la même machine logique.
Un modèle relativement modeste et un modèle beaucoup plus puissant peuvent être construits avec des circuits internes différents. Pourtant, ils doivent comprendre les mêmes instructions, utiliser les mêmes formats de données et respecter les mêmes conventions fondamentales.
Lors de l’annonce de 1964, IBM présente six modèles de processeurs couvrant un écart d’environ cinquante à un en performances, accompagnés de 54 périphériques. La gamme s’étendra ensuite avec de nouveaux modèles.
L’objectif est clair : une entreprise doit pouvoir commencer avec une configuration adaptée à ses besoins puis augmenter sa puissance de calcul sans reconstruire entièrement son système informatique.
Le nom System/360 traduit d’ailleurs cette ambition : couvrir un cercle très large d’usages, du traitement commercial au calcul scientifique.
Le matériel change, l’architecture reste
Pour comprendre la nouveauté, il faut distinguer deux notions : l’architecture et sa réalisation matérielle.
L’architecture décrit ce que voit le programmeur : les instructions disponibles, les registres, la manière d’adresser la mémoire, les formats de données et les mécanismes d’entrées-sorties.
La réalisation matérielle décrit la façon dont un modèle précis exécute réellement ces opérations à l’intérieur de ses circuits.
IBM peut donc construire plusieurs machines différentes tout en leur faisant respecter la même architecture. Un programme demande par exemple une addition selon une instruction définie par le System/360. Le modèle 30 et un modèle beaucoup plus puissant peuvent effectuer cette opération de manière différente en interne, mais le programme obtient le même résultat.
Cette séparation est essentielle : le logiciel n’a plus besoin de connaître tous les détails physiques de la machine sur laquelle il s’exécute.
Le rôle du microcode
Pour obtenir cette compatibilité sur des machines de coûts et de performances très différents, plusieurs modèles du System/360 utilisent largement le microcode.
Lorsqu’un programme exécute une instruction System/360, celle-ci peut être décomposée à l’intérieur du processeur en une série d’opérations beaucoup plus élémentaires. Ces micro-instructions commandent directement les circuits internes de la machine.
Le microcode forme ainsi une couche intermédiaire entre l’architecture visible par le programmeur et le matériel réel.
Cette technique donne à IBM une grande souplesse. Un modèle économique peut réaliser certaines instructions avec davantage d’étapes, tandis qu’une machine plus puissante dispose de circuits capables de les exécuter plus rapidement. Dans les deux cas, le logiciel continue à voir la même instruction System/360.
C’est l’une des clés techniques qui permettent de construire une famille compatible à partir de matériels différents.
L’octet de 8 bits devient une unité fondamentale
Le System/360 contribue également à imposer durablement une organisation devenue familière : l’octet de 8 bits.
Un bit ne peut représenter que deux états, 0 ou 1. Avec huit bits, on obtient 28, soit 256 combinaisons différentes.
La mémoire du System/360 est organisée autour de ces octets. Ils peuvent ensuite être regroupés pour représenter des caractères, des nombres ou des instructions.
Cette décision contribue à généraliser le byte de 8 bits, qui deviendra l’une des unités les plus fondamentales de l’informatique moderne.
Une architecture pensée pour les données comme pour le calcul
L’une des ambitions du System/360 est de ne plus séparer aussi fortement les machines destinées à la gestion et celles destinées aux sciences.
Les applications commerciales manipulent beaucoup de caractères, de nombres décimaux, de fichiers et d’enregistrements. Le calcul scientifique demande davantage d’opérations numériques et notamment du calcul en virgule flottante.
Le System/360 est conçu pour répondre aux deux familles de besoins. Il peut donc faire fonctionner des applications écrites dans différents langages, parmi lesquels COBOL, PL/I et FORTRAN.
Cette polyvalence participe directement au succès de la gamme : IBM n’a plus besoin de maintenir autant de familles fondamentalement différentes pour les usages scientifiques et commerciaux.
Les canaux libèrent le processeur des entrées-sorties
Un ordinateur d’entreprise ne passe pas tout son temps à effectuer des additions. Il doit également lire des bandes magnétiques, transférer des blocs depuis des disques, commander des imprimantes ou recevoir des données depuis d’autres périphériques.
Le System/360 utilise pour cela des canaux d’entrées-sorties. Ces unités spécialisées peuvent prendre en charge une partie des transferts entre la mémoire et les périphériques.
Le processeur central n’a donc pas besoin de contrôler directement chaque caractère envoyé vers une imprimante ou chaque mot lu depuis un disque. Il peut lancer une opération puis poursuivre d’autres traitements pendant que le canal gère le transfert.
Cette organisation est particulièrement adaptée aux grandes installations où de nombreux périphériques fonctionnent simultanément.
Une mémoire encore fondée sur les tores de ferrite
Le System/360 apparaît avant la généralisation des mémoires à semi-conducteurs. Les premiers modèles utilisent donc largement la mémoire à tores de ferrite.
Chaque bit y est représenté par l’état magnétique d’un minuscule anneau de ferrite traversé par des fils. Cette technologie est robuste et conserve son contenu sans alimentation permanente.
Quelques années plus tard, les circuits intégrés permettront de remplacer progressivement ces réseaux de tores par des mémoires fabriquées sur silicium. Le successeur du System/360, le System/370, participera à cette transition.
OS/360 : le défi se déplace vers le logiciel
Construire une famille de processeurs compatibles représente déjà un projet immense. Mais IBM doit résoudre un autre problème : fournir les logiciels capables d’exploiter cette nouvelle architecture.
Le système d’exploitation le plus ambitieux de la famille est OS/360. Il doit gérer la mémoire, les travaux, les fichiers et les périphériques sur des configurations très différentes.
Le projet se révèle beaucoup plus difficile que prévu. La complexité ne vient plus seulement des circuits électroniques : elle vient désormais des millions d’instructions nécessaires pour organiser le fonctionnement du système.
Fred Brooks joue un rôle majeur dans le développement du System/360 et de son système d’exploitation. Il tirera ensuite de cette expérience plusieurs réflexions devenues importantes dans l’histoire du génie logiciel.
Le System/360 illustre ainsi une transformation fondamentale : à mesure que les ordinateurs deviennent plus puissants, le logiciel devient lui-même un immense projet d’ingénierie.
Traitement par lots, multiprogrammation et partage du temps
Les System/360 sont notamment utilisés pour le traitement par lots. Une organisation prépare une série de travaux, puis l’ordinateur les exécute successivement.
Les systèmes les plus évolués permettent cependant d’aller plus loin. La multiprogrammation maintient plusieurs travaux en mémoire et cherche à utiliser le processeur pendant qu’un autre programme attend une opération d’entrée-sortie.
Certains modèles de la famille jouent également un rôle important dans le développement du temps partagé. Le System/360 Model 67 sera notamment associé aux travaux qui conduisent à CP/CMS et aux premières formes avancées de machines virtuelles.
Une même architecture commence donc à couvrir des usages très différents : traitement par lots, calcul scientifique, gestion commerciale, multiprogrammation et informatique interactive.
Un pari industriel gigantesque
Le System/360 n’est pas seulement un projet technique. Il oblige IBM à repenser presque toute son offre informatique.
L’entreprise doit développer de nouveaux processeurs, mémoires, périphériques, logiciels, chaînes de fabrication et procédures de maintenance. Elle doit également convaincre ses clients d’abandonner progressivement plusieurs familles de machines existantes pour adopter la nouvelle architecture.
IBM décrira plus tard le projet comme un pari de plusieurs milliards de dollars. L’enjeu est immense : en cas d’échec, l’entreprise aurait investi massivement dans une architecture qui devait justement remplacer une grande partie de ses propres produits.
Le pari réussit. Le System/360 devient un succès commercial majeur et renforce fortement la position d’IBM dans l’informatique d’entreprise.
La compatibilité devient une valeur économique
Le succès du System/360 montre surtout qu’une entreprise n’achète plus seulement une puissance de calcul.
Elle investit dans des programmes, des fichiers, des procédures, des périphériques et des compétences humaines. Plus cet environnement grandit, plus il devient coûteux de le remplacer.
La compatibilité devient donc un avantage économique majeur. Un client peut acheter une machine plus puissante tout en préservant une partie de ce qu’il a déjà construit.
Cette logique est aujourd’hui omniprésente. Lorsque nous choisissons un système d’exploitation, une architecture de processeur ou une plateforme logicielle, nous choisissons également un écosystème dont la continuité influence les décisions futures.
Le System/360 est l’une des premières démonstrations industrielles à grande échelle de cette logique de plateforme.
Du System/360 au System/370
IBM annonce le System/370 en 1970. La nouvelle famille améliore les performances et adopte progressivement de nouvelles technologies, notamment les mémoires à semi-conducteurs.
Mais IBM ne veut plus reproduire la rupture provoquée par le passage de ses anciennes familles au System/360. La compatibilité avec les logiciels existants devient donc un objectif central.
Un client System/360 doit pouvoir migrer vers les nouvelles machines en conservant l’essentiel de son investissement logiciel.
Cette continuité se prolongera encore avec les générations suivantes de mainframes IBM, jusqu’aux architectures modernes.
Pourquoi le System/360 est-il une machine fondamentale ?
Le System/360 ne doit pas son importance à une seule invention. Son apport vient de la manière dont IBM rassemble plusieurs idées dans un système cohérent.
- Une architecture commune pour plusieurs niveaux de puissance.
- Une compatibilité logicielle permettant de faire évoluer le matériel sans repartir de zéro.
- Un octet de 8 bits qui devient une unité fondamentale de l’architecture.
- Des canaux d’entrées-sorties capables de prendre en charge une partie des échanges avec les périphériques.
- Une architecture polyvalente adaptée au calcul scientifique comme aux applications commerciales.
- Un environnement logiciel commun dont OS/360 constitue le projet le plus ambitieux.
Mais son héritage le plus important reste probablement conceptuel. Avec le System/360, la valeur d’un système informatique ne réside plus seulement dans la machine placée dans la salle informatique. Elle réside dans la continuité de toute une architecture.
Le matériel peut être remplacé. Les performances peuvent augmenter. Les technologies de mémoire peuvent évoluer. Pourtant, les programmes et les méthodes de travail peuvent continuer à vivre.
Cette idée — faire évoluer le matériel tout en protégeant l’investissement logiciel — reste l’un des principes fondamentaux de l’informatique moderne.
Repères chronologiques
- 7 avril 1964 : annonce officielle de l’IBM System/360.
- 1964 : présentation initiale de six modèles de processeurs et de 54 périphériques.
- Milieu des années 1960 : déploiement progressif des premiers System/360 chez les clients.
- 1960-1970 : développement et évolution des différents systèmes logiciels de la famille, dont OS/360.
- Fin des années 1960 : le System/360 est également utilisé pour des applications de temps partagé et de virtualisation expérimentale.
- 1970 : annonce du System/370, conçu pour prolonger l’architecture et préserver l’investissement logiciel des clients System/360.
Sources
- IBM, archives historiques consacrées à l’IBM System/360.
- IBM, documentation historique et technique de l’architecture System/360.
- IBM, documentation consacrée à OS/360 et à l’évolution des systèmes d’exploitation mainframe.
- IBM, archives consacrées à Fred Brooks et au développement du System/360.
- IBM, archives historiques consacrées au System/370.
Photo de couverture : console d’un IBM System/360.
