Multics

système d’exploitation

Multics (acronyme de MULTiplexed Information and Computing Service) est le nom d'un système d'exploitation en temps partagé.

Multics
Logo
Image illustrative de l’article Multics

Langues AnglaisVoir et modifier les données sur Wikidata
Dépôt web.mit.edu/multics-history/source/Multics_Internet_Server/Multics_sources.htmlVoir et modifier les données sur Wikidata
Plates-formes GE 645 (en) et Honeywell 6000 series (en)Voir et modifier les données sur Wikidata
Entreprise /
Développeur
Massachusetts Institute of Technology, General Electric et Laboratoires BellVoir et modifier les données sur Wikidata
Licence Licence MITVoir et modifier les données sur Wikidata
Écrit en PL/I et assembleurVoir et modifier les données sur Wikidata
Première version [1]Voir et modifier les données sur Wikidata
Dernière version stable MR12.7 ()[2]Voir et modifier les données sur Wikidata
Site web www.multicians.orgVoir et modifier les données sur Wikidata

Ce projet a été lancé en 1964, par Fernando Corbató et Jerry Saltzer. Le projet Multics a marqué la conception des systèmes d'exploitation notamment après la réutilisation et la diffusion dans le système Unix de nombreux éléments qui en faisait un système novateur : système de fichier hiérarchique, temps partagé, multitâche préemptif, multiutilisateur, sécurité.

Héritage modifier

Ken Thompson et Dennis Ritchie, issus des équipes de Multics, en développèrent une version simplifiée : Unix. Cet héritier direct implémenta la plupart des avancées de son aïeul, et a influencé la plupart des systèmes d'exploitation modernes, qui implémentent à leur tour nombre de concepts mis en place par Multics.

Histoire modifier

Création modifier

Multics fut conçu à partir de 1964, conjointement par le MIT, les Laboratoires Bell et General Electric. Les Laboratoires Bell se retirèrent du projet en 1969 puis General Electric vendit en 1970 son département informatique à Honeywell. Le MIT termina seul le projet [3],[4],[5]. En 1990, Fernando Corbató reçut le Prix Turing pour son rôle de leader dans le projet Multics.

La très grande majorité du système d'exploitation (> 90 %) était écrite en PL/I (langage développé initialement par IBM). Seules les parties du système d'exploitation pour lesquelles l'efficacité est cruciale (gestion de la mémoire) étaient codées en assembleur natif.

Quand les Laboratoires Bell se retirèrent du projet, deux ingénieurs qui travaillaient sur Multics (Ken Thompson et Dennis Ritchie) lancèrent leur propre projet baptisé initialement UNICS (UNiplexed Information and Computing Service) par opposition entre Uniplexed/Multiplexed du projet Multics qu'ils jugeaient beaucoup trop compliqué. Le nom fut ensuite modifié en UNIX.

À la suite du rachat de la branche informatique de General Electric par Honeywell, ce fut cette société qui commercialisa Multics à partir de 1970 et jusqu'à son propre rachat par Bull en 1975. La société française distribua Multics jusqu'en 2000, et ouvrit son code en 2006.

Déclin modifier

Au milieu des années 1980, Honeywell mit fin au développement du système d'exploitation. Ils vendirent la section informatique à Bull, qui mit fin à la production du matériel (Honeywell DPS8 M) pour MULTICS. En fait, il s'agissait de DPS8 dont le câblage mémoire avait été modifié pour prendre en compte la gestion de "la mémoire associative".

Ainsi, tous les sites utilisant Multics commencèrent à changer de système d'exploitation[précision nécessaire]. Le dernier système Multics connu a été arrêté le au Ministère de la Défense nationale du Canada, à Halifax.

En 2006, Bull décida de publier le code source de la dernière version de MULTICS[6].

Caractéristiques techniques modifier

Multics était écrit en langage PL/I.

Héritage de CTSS modifier

Multics a emprunté de nombreux concepts au système d'exploitation CTSS, dont il dérive. Il a lui-même exercé une influence majeure sur UNIX.

De CTSS, Multics a hérité :

  • le concept de temps partagé, qui permet à plusieurs utilisateurs d'utiliser en même temps la machine ;
  • le système d'invite de commande, à l'origine du shell d'aujourd'hui ;
  • le principe du traitement de texte, permettant une typographie de qualité par ordinateur.

Apports modifier

Un des objectifs de Multics était de permettre le contrôle par un terminal distant.

Pour assurer l'intégrité des données et la sécurité entre les utilisateurs simultanés, Multics a introduit la notion d'anneaux (Rings) destinés à sécuriser le système d'exploitation[7]. Le principe était d'avoir obligation de passer par des portes (gateways) pour accéder à l'anneau de niveau inférieur. Le nombre d'anneaux était de 7, le niveau 0 (zéro) étant le plus protégé (noyau), le niveau 6 étant l'espace réservé aux applications des utilisateurs. Pour accéder à des "services systèmes" E/S par exemple, il fallait obligatoirement passer à un niveau inférieur par une des portes de l'anneau concerné.

Multics supportait la segmentation de la mémoire, la mémoire virtuelle, l'implémentation de langages de haut niveau (not. Multics PL/I et Algol[8] ), la pluralité des langages de programmation (nouveauté par rapport à ses contemporains). Il fut en outre le premier système d'exploitation à intégrer la notion de sécurité informatique (liée au multiutilisateurs) dès sa conception. Cependant la première version de sa sécurité était défaillante et fut repensée à la fin des années 1960.

Multics a été le premier système d'exploitation à implémenter certaines caractéristiques qui ont été reprises par Unix avant de devenir des éléments standards aux systèmes d'exploitation. Parmi ses caractéristiques, il était doté d'un système de fichier hiérarchique[9],[10] dont les chemins pouvaient avoir une taille et des caractères arbitraire. Il permettait en outre les liens symboliques, les périphériques amovibles et leur branchement à chaud.

Une autre caractéristique reprise par Unix fut l'utilisation d'une pile d'exploitation par tâche, pour réaliser un multitâche préemptif[8].

Ambition modifier

Multics fut conçu pour distribuer du calcul à la façon dont se fait la distribution d'électricité et du téléphone, avec une ressource centrale sur laquelle les utilisateurs sont connectés. En conséquence, nombre de ses composants se centraient sur la haute disponibilité.

Il fut conçu comme un produit commercial de General Electric et en fut un pour Honeywell, mais eut peu de succès. Cependant, il fut très important par le grand nombre d'idées novatrices qu'il apportait dans le domaine des systèmes d'exploitation et des critiques qu'il généra[11].

De grandes entreprises comme la NSA, Ford et General Motors utilisèrent Multics.

Multics en France modifier

En France, au début des années 1980, Multics a été largement distribué[12] dans le monde universitaire qui devait acheter les équipements français de la société Bull. C'est ainsi que le Centre Interuniversitaire de Calcul de Grenoble (CICG) disposa, au début des années 1980, d'un ordinateur HB68 sur lequel le système Multics fut opérationnel et fut utilisé par de nombreux chercheurs dont ceux de l'IMAG.

Bull, partenaire de Honeywell, vendit des configurations sur 31 sites pour succéder aux Iris 80 de CII. Bull développa le système d'exploitation GCOS 6 dérivé de Multics. Ce fut un succès financier (et technique), avec des centaines de clients dans les années 1980 et 90[réf. nécessaire].

En France, en 1973, Multics était toujours enseigné à l'Université Paris VI - Jussieu au sein de "l'Institut de Programmation, DEA de Programmation et Recherche Opérationnelle".

Les premières conversations (Chat) entre deux terminaux télétypes l'un à Billerica près de Boston et l'autre au siège de Honewell-Bull (au 64, avenue Gambetta à Paris 20) ont été réalisées sous Multics en mai 1974 et avaient lieu quotidiennement pour dialoguer sur l'état d'avancement du développement du DPS7 (GCOS-64 ou GCOS7). Les mainframes utilisées des deux côtés étaient des GE-645, version évoluée du GE-635.

Notes et références modifier

  1. « https://www.multicians.org/ » (consulté le )
  2. « https://github.com/dancrossnyc/multics/releases/tag/MR12.7 » (consulté le )
  3. Corbató, F.J. and V.A. Vyssotsky., « Introduction and Overview of the Multics System », Fall Joint Computer Conference, Spartan Books, vol. 27 « AFIPS Conference Proceedings »,‎ , p. 185-196 (lire en ligne)
  4. Corbató, F.J., Saltzer, J.H. et Clingen, C.T., « Multics: the first seven years. », Proc. AFIPS,‎ (lire en ligne)
  5. Paul A. Karger et Roger R. Schell, « Thirty Years Later: Lessons from the Multics Security Evaluation. », ACSAC,‎ , p. 119-126 (lire en ligne)
  6. Multics
  7. Jerome H. Saltzer, « Protection and the control of information sharing in Multics », Comm. of the ACM, vol. 17, no 7,‎ , p. 388 (lire en ligne)
  8. a et b The Multics PL/1 Compiler R. A. Freiburghouse, General Electric Company, Cambridge, Massachusetts, 1969.
  9. Multicians Glossary: File system
  10. R. C. Daley and P. G. Neumann, A general-purpose file system for secondary storage, AFIPS '65 (Fall, part I) Proceedings of the November 30 – December 1, 1965
  11. Myths about Multics
  12. Les chercheurs rêvaient de la flexibilité du système d'exploitation Unix utilisé par leurs collègues américains.

Voir aussi modifier

Articles connexes modifier

Liens externes modifier