ANNÉES 1960

Multics

En 1962, Joseph Carl Robnett Licklider, qui dirige alors la DARPA, lance l’idée du système d’exploitation Multics. Le contrat tombe en août 1964. Multics prolonge les travaux du Compatible Time-Sharing System, développé au MIT sous Fernando Corbató. Les ordinateurs fonctionnent encore comme des machines à traitement par lots, les programmes s’exécutant les uns après les autres, et les utilisateurs attendant parfois des jours entiers leurs résultats. Les premiers systèmes à temps partagé peinent à gérer plus de quelques programmes simultanément, contraints de décharger sur bande magnétique ceux qui ne s’exécutent pas.

Le projet réunit une alliance inhabituelle constituée du MIT pour la recherche, de General Electric pour le matériel, et des Bell Labs pour le développement logiciel. GE décroche le contrat après qu’IBM ait boudé les concepts de pagination et de segmentation proposés. Cette convergence de talents universitaires et industriels rassemble quelques-uns des plus grands esprits de l’informatique de cette période.

L’ambition technique dépasse tout ce qui a été tenté jusque-là. Multics intègre mémoire virtuelle, protection par segmentation, système de fichiers hiérarchique, multitraitement à mémoire partagée, sécurité et reconfiguration en ligne. Le système compte parmi les premiers à être développé principalement dans un langage de haut niveau et à supporter plusieurs langages de programmation. MacLisp et troff trouvent leurs origines dans Multics, ainsi qu’une large part de la ligne de commande UNIX moderne.

La concrétisation se révèle ardue. Le matériel GE 645 arrive en retard, et Multics n’atteint l’auto-hébergement qu’en 1968. En 1969, la DARPA menace d’arrêter les frais, poussant les Bell Labs vers la sortie. Ce retrait donnera naissance à UNIX, créé par d’anciens de Multics : Kenneth Lane Thompson, Dennis MacAlistair Ritchie, Douglas McIlroy et Joseph Francis Ossana.

Honeywell, qui a racheté l’activité informatique de General Electric en 1970, commercialise Multics de 1973 jusqu’en 1985 au prix initial de 7 millions de dollars. La clientèle se compose de l’US Air Force, d’universités comme celle du Sud-Ouest de la Louisiane et le système universitaire français, de grandes entreprises comme General Motors et Ford. Au total, environ 80 licences trouvent preneur. Le dernier système Multics, exploité par le ministère canadien de la Défense nationale, s’est éteint en 2000.

L’architecture système repose sur deux piliers : les processus et les segments. Les processus fournissent les contextes d’exécution, tandis que les segments stockent code, données et périphériques d’entrée-sortie. Ces segments s’organisent dans une hiérarchie de répertoires, ancêtres des systèmes de fichiers actuels. Le domaine de protection d’un processus délimite les segments accessibles et les opérations autorisées.

Concernant la sécurité, Multics introduit les anneaux de protection, structure hiérarchique allant de l’anneau 0, le plus privilégié, aux anneaux supérieurs moins puissants. Le GE 645 prévoit 64 anneaux, mais seuls 8 sont réellement mis en œuvre. Le superviseur Multics, confiné aux anneaux 0 et 1, ne peut être modifié que par du code s’exécutant dans ces anneaux privilégiés. Cette approche influence encore les processeurs modernes, qui utilisent généralement deux niveaux : superviseur (kernel) et utilisateur.

En 1974, Paul Karger et Roger Schell de l’US Air Force mènent une analyse de vulnérabilité qui révèle plusieurs failles. Une vulnérabilité matérielle contourne les vérifications d’accès dans certains cas d’adressage indirect. Des failles logicielles apparaissent, notamment liées au mode maître d’exécution dans les anneaux utilisateur, modification introduite pour améliorer les performances. Ces découvertes illustrent la difficulté de maintenir la sécurité d’un système complexe face aux pressions d’optimisation.

Plusieurs facteurs expliquent l’échec commercial relatif de Multics. Les circuits intégrés évoluent à un rythme exponentiel, transformant le paysage informatique. Quand Multics arrive sur le marché en 1973, il répond parfaitement aux problèmes de 1964, mais le monde a changé. Le système coûte trop cher, dépend trop d’une architecture propriétaire, et est trop centré sur l’informatique partagée centralisée alors que l’informatique départementale décentralisée prend son envol. En parallèle, Digital Equipment Corporation commercialise des versions d’entrée de gamme du PDP-11, et le microprocesseur 8080 fait tourner les premières versions de CP/M dès 1974.