Accueil🇫🇷Chercher

Incompatible Timesharing System

Dans les années 1960, Incompatible Timesharing System (en français, « Système en temps partagé Incompatible (avec les systèmes commerciaux disponibles) »), abrégé ITS et nommé par opposition à CTSS (« Compatible Time Sharing System »)[1], fut un des premiers systèmes d'exploitation à temps partagé.

Il a été développé pendant les années 1960, en grande partie dans le MIT Computer Science and Artificial Intelligence Laboratory avec l’aide du Project MAC (en), par une communauté hacker alors naissante[2], qui désapprouvait l’orientation trop restrictive prise par CTSS ; le nom est un détournement de celui de CTSS, comme plus tard celui d’Unix sera un détournement de Multics.

Écrit en assembleur pour des machines PDP-6, puis PDP-10, son développement s’arrêta à partir de 1982 quand les efforts de développement se portèrent vers d’autres machines.

La dernière machine utilisant ITS fut arrêtée en au laboratoire du MIT. (La légende veut que rms (Richard Stallman) modifia le système de fichiers d'ITS sur cette machine fin avril 90, afin de le rendre hiérarchique histoire de montrer que c'était possible et « pour l'art », les fichiers d'ITS étaient nommés par deux blocs de 6 caractères en majuscules).

Historique

Le développement de ITS débute à la fin des années 1960 quand la majorité des membres du MIT AI Lab (le laboratoire d’intelligence artificielle du MIT) se trouve en désaccord avec l’orientation prise par le Multics du projet MAC, initié depuis 1964, et notamment concernant l’inclusion d’un système de sécurité des données. Le nom, choisi par Tom Knight (en), est un clin d’œil par rapport à CTSS, développé au MIT au début des années 1960.

ITS est d’abord écrit en assembleur pour DEC PDP-6. Il sera plus tard porté sur PDP-10 où il sera très utilisé et amélioré. L’activité autour de ITS se réduit considérablement après 1982. Le MIT utilisera ITS jusqu’en 1990. Le Stacken Computer Club, en Suède, sera le dernier à l’utiliser en 1995. Il existe encore quelques ITS fonctionnels pour des raisons historiques mais fonctionnant sur des PDP-10 virtualisés.

Fonctionnalités

A l'époque, ITS introduisit de nouvelles fonctionnalités, qui furent reprises par d’autres systèmes d'exploitation plus tard, dont :

  • l’affichage sur le terminal est indĂ©pendant du matĂ©riel : les programmes gĂ©nèrent des commandes de contrĂ´le d’écran que le système traduit automatiquement en sĂ©quence de caractères que le terminal utilisĂ© sait afficher.
  • Un mĂ©canisme de pĂ©riphĂ©rique virtuel (en) pour les processus utilisateurs (appelĂ© « jobs » sur ITS).
    • Ces pĂ©riphĂ©riques virtuels fonctionnent aussi pour Ă©diter des fichiers en rĂ©seaux comme s’ils Ă©taient locaux (comme dans un système de fichiers distribuĂ©). Les machines sur lesquelles Ă©tait dĂ©veloppĂ© ITS Ă©taient connectĂ©es Ă  l’ARPANET.
  • Une gestion avancĂ©e de processus : les processus utilisateurs sont classĂ©s dans un arbre gĂ©rĂ© par un processus superviseur. Les processus infĂ©rieurs peuvent ĂŞtre gelĂ©s (« frozen ») Ă  n’importe quel moment, en prĂ©servant leur Ă©tat (y compris l’état des registres) ; les processus peuvent ainsi ĂŞtre relancĂ©s plus tard comme si de rien n’était.
  • Des mĂ©canismes d’interruptions permettant une gestion asynchrone des processus.
    • PCLSRing (en), un mĂ©canisme, qui sera repris dans Unix, d’atomicitĂ© rendant les appels systèmes interruptibles. Un processus peut ainsi observer n’importe quel autre processus (y compris lui-mĂŞme) mĂŞme en plein milieu d’un appel système.
  • Pour pouvoir ĂŞtre utilisable par le dĂ©partement de robotique du AI Lab, ITS supporte aussi bien le temps rĂ©el que le temps partagĂ©.

Environnement de l'utilisateur

L’interface utilisateur est très différente de celle proposée par les autres systèmes à la même époque :

  • Ă€ l’origine, il n’y avait pas de mot de passe, et l’on n’était pas obligĂ© de s'authentifier. L’identification est considĂ©rĂ©e comme un acte courtois qui permet de savoir qui est connectĂ© Ă  la machine.
  • Pour se prĂ©munir des manipulations cherchant Ă  faire crasher le système, une commande exĂ©cutable par tous permet de crasher la machine, rendant le dĂ©fi beaucoup moins drĂ´le. De plus, cette commande envoie Ă  toutes les personnes connectĂ©es le nom de la personne qui l’a exĂ©cutĂ©e.
  • Tous les fichiers sont modifiables par tous.
  • Les utilisateurs peuvent discuter, grâce Ă  un système de messagerie instantanĂ©e, avec les autres terminaux. La commande « SHOUT » permet de demander de l’aide aux utilisateurs connectĂ©s.
  • N’importe quel utilisateur peut voir l’affichage d’un autre terminal grâce Ă  la commande « OS » (pour « Output Spy »). La personne ainsi espionnĂ©e peut dĂ©tecter celle qui l’espionne grâce Ă  la commande « JEDGAR » (prononcĂ© « JED-GAR »), en rĂ©fĂ©rence au directeur du FBI J. Edgar Hoover. Il peut aussi tuer le processus sur la machine luser (contraction de « user » et « looser ») espion ; mais cette fonctionnalitĂ© fut « dĂ©sactivĂ©e » par la suite, car JEDGAR pouvait confirmer avoir tuĂ© le processus sans que ce ne soit le cas[3].
  • Les « touristes » (les personnes invitĂ©es dans le laboratoire d’IA du MIT ou sur le rĂ©seau ARPAnet) sont autorisĂ©s. Plus tard, une politique sur l’accès des touristes fut publiĂ©e[4]. L’appellation « TURIST » provient d’une limitation du système de fichier Ă  six caractères, lui-mĂŞme une consĂ©quence de l’encodage sixbit d’un mot de 36-bit, standard du PDP-10.

Par défaut, le langage de plus haut niveau de l'interface en ligne de commande est le langage de débogage du PDP-10, le Dynamic debugging technique (en) (DDT).

L'éditeur de texte le plus courant est TECO (« Text Editor and Corrector ») avant qu'il ne soit supplanté par Emacs, lui-même issu de TECO.

DDT et TECO utilise une table de distribution (en) fondée sur des commandes à une seule lettre ; ils n'avaient pas réellement de syntaxe (en) propre.

Le Jargon File est né d'un travail commun entre les utilisateurs de ITS du AI Lab au MIT et au Stanford Artificial Intelligence Laboratory.

Applications développées pour ITS

Emacs (« Editor MACroS ») était à l’origine une collection de programmes TECO, appelés « macros » ; il fut ensuite réécrit pour d’autres systèmes : en C pour Unix, en ZetaLisp pour un système d’exploitation pour machine Lisp développé au MIT (« Lisp Machine operating system »).

La commande d’aide système info fit d’abord partie de Emacs avant d’être réécrite sous la forme d’un programme à part entière pour les Unix-like.

Macsyma (précurseur de Mathematica et Maple) introduisit une modélisation des langages algébriques.

SHRDLU a été développé sur ITS.

Plusieurs langages de programmation ont été créés sur ITS : MacLisp (le précurseur de ZetaLisp et Common Lisp), Microplanner (en) (implémenté en MacLisp), MDL programming language (en) (qui sera la base de l’environnement de programmation de la société Infocom), Scheme.

DĂ©veloppeurs

Notes et références

  1. Avec le jeu de mots que ITS veut dire C'EST.
  2. Richard Stallman et la révolution du logiciel libre - Une biographie autorisée, 2010.
  3. (en) The Jargon File, « OS and JEDGAR », 4.4.7, (consulté le )
  4. (en) « MIT AI Lab Tourist Policy », (consulté le )
  5. « About the GNU Project - GNU Project - Free Software Foundation », sur www.gnu.org (consulté le )
(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Incompatible Timesharing System » (voir la liste des auteurs).

Bibliographie

  • (en) Donald E. Eastlake, ITS Reference Manual, Version 1.5, MIT AI Laboratory, (1re Ă©d. 1968), 180 p. (lire en ligne [[PDF]])
    la première documentation disponible
  • (en) Donald E. Eastlake, ITS Status Report, MIT AI Laboratory, , 68 p. (lire en ligne [[PDF]])
    une documentation sur une version un peu plus tardive
  • (en) Alan Bawden, « PCLSRing: Keeping Process State Modular », Technical report, MIT,‎ (lire en ligne)
  • (en) Yuwei Lin, « Epistemologically Multiple Actor-Centered Systems: or, EMACS At Work : History shows how communal sharing and problem-solving strengthen software functionality and innovation. », Ubiquity, Association for Computing Machinery, vol. 5, no 1,‎ (lire en ligne)
  • (en) Stefanie Chiou, Craig Music, Kara Sprague et Rebekah Wahba, « A Marriage of Convenience: The Founding of the MIT Artificial Intelligence Laboratory », AI Lab, MIT, vol. 5, no 1,‎ (lire en ligne [PDF])
  • (en) Sam Williams, Free as in Freedom: Richard Stallman's Crusade for Free Software, Petaluma, CA, O'Reilly, , 240 p. (ISBN 978-0596002879, OCLC 49044520, lire en ligne)

Voir aussi

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.