Incompatible Timesharing System

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir ITS.

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

Il a été développé pendant les années 1960, en grande partie dans le laboratoire d'intelligence artificielle du MIT (en) avec l’aide du Project MAC (en), par une communauté hacker alors naissante[1], 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’estompa largement à 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 mai 1990 au laboratoire du MIT. (La légende veut que RMS (Richard Stallman) modifia le système de fichier 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[modifier | modifier le code]

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 hack de 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.[réf. nécessaire]

Fonctionnalités[modifier | modifier le code]

ITS introduisit de nouvelles fonctionnalités, qui seront reprises par d’autres OS 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’il é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 et en préservant son état (y compris l’état des registres) ; le processus peut ainsi être relancé 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 et le temps partagé.

Environnement de l'utilisateur[modifier | modifier le code]

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

  • À l’origine, il n’y avait pas de mot de passe, et l’on n’est 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 : JEDGAR confirmait avoir tué le processus bien que ce n’était pas le cas[2].
  • 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[3]. 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 était TECO (« Text Editor and Corrector ») avant d'être supplanté par Emacs, lui-même issu de TECO.

DDT et TECO utilisaient une table de distribution (en) fondée sur des commandes d'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 au MIT et au Stanford Artificial Intelligence Laboratory.

Applications développées pour ITS[modifier | modifier le code]

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é dans MacLisp), MDL programming language (en) (qui sera la base de l’environnement de programmation de la société Infocom), Scheme.

Développeurs[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. «Richard Stallman et la révolution du logiciel libre - Une biographie autorisée, 2010».
  2. (en) The Jargon File, « OS and JEDGAR », 4.4.7,‎ 29 décembre 2003 (consulté le 22 février 2010)
  3. (en) « MIT AI Lab Tourist Policy »,‎ 15 janvier 1997 (consulté le 22 février 2010)

(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[modifier | modifier le code]

  • (en) Donald E. Eastlake, ITS Reference Manual, Version 1.5, MIT AI Laboratory,‎ juillet 1969 (1re éd. 1968), [PDF], 180 p. (lire en ligne)
    la première documentation disponible
  • (en) Donald E. Eastlake, ITS Status Report, MIT AI Laboratory,‎ avril 1972, [PDF], 68 p. (lire en ligne)
    une documentation sur une version un peu plus tardive
  • (en) Alan Bawden, « PCLSRing: Keeping Process State Modular », Technical report, MIT,‎ 1989 (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,‎ 24 février 2004 (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,‎ 16 décembre 2001 (lire en ligne [PDF])
  • (en) Sam Williams, Free as in Freedom: Richard Stallman's Crusade for Free Software, Petaluma, CA, O'Reilly,‎ mars 2002, 240 p. (ISBN 978-0596002879, lien OCLC?, lire en ligne)

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]