Le time-sharing, ou partage de temps, est un mode d’exploitation qui permet à plusieurs utilisateurs de travailler sur un même ordinateur depuis des terminaux. Le système répartit très rapidement le temps du processeur entre les programmes actifs. Pour chaque utilisateur, la machine paraît ainsi disponible presque immédiatement, même si ses ressources sont partagées.
Pourquoi partager le temps d’un ordinateur ?
À la fin des années 1950, les ordinateurs sont extrêmement coûteux. Il serait peu efficace de réserver une machine entière à une seule personne alors qu’un programme passe une partie de son temps à attendre une saisie au clavier, une lecture sur disque ou une autre opération d’entrée-sortie.
Dans le travail par lots, l’utilisateur prépare son programme, le confie au centre de calcul puis attend son exécution. Une simple erreur peut imposer un nouveau cycle d’attente.
Le time-sharing change cette relation. Plusieurs personnes se connectent à la même machine et peuvent écrire une commande, lancer un programme, corriger une erreur puis recommencer immédiatement.
L’ordinateur devient une machine avec laquelle on dialogue.
Comment fonctionne le time-sharing ?
Sur une machine dotée d’un seul processeur, les programmes des utilisateurs ne s’exécutent pas réellement tous au même instant. Le système d’exploitation passe très rapidement de l’un à l’autre.
- Ordonnancement : le système choisit le programme qui obtient le processeur.
- Tranche de temps : ce programme s’exécute pendant un court intervalle.
- Interruption : une horloge matérielle permet au système de reprendre le contrôle.
- Changement de contexte : les registres et les informations nécessaires à la reprise du programme sont sauvegardés.
- Gestion de la mémoire : les systèmes utilisent selon les époques le swapping, la pagination ou la mémoire virtuelle pour faire cohabiter plusieurs travaux.
Le processeur recommence ensuite avec un autre utilisateur. Comme l’être humain tape et lit beaucoup plus lentement que l’ordinateur ne calcule, cette alternance peut donner une impression de simultanéité.
Un exemple simple
Imaginons trois utilisateurs, Alice, Bob et Claire, connectés au même ordinateur.
Le système exécute brièvement le programme d’Alice, puis celui de Bob, puis celui de Claire. Quand Alice réfléchit avant de taper sa prochaine commande, le processeur peut travailler pour les autres.
Le principe consiste donc à éviter qu’une ressource informatique coûteuse reste inutilisée.
1961 : CTSS montre la voie au MIT
L’un des jalons majeurs est le Compatible Time-Sharing System (CTSS), développé au MIT sous la direction de Fernando Corbató.
Une première démonstration fonctionne en 1961 sur un IBM 709. Le système est ensuite développé sur les IBM 7090 et 7094 et devient un véritable service utilisé par la communauté du MIT à partir de 1963.
CTSS montre qu’un ordinateur central peut devenir un environnement de travail partagé : les utilisateurs disposent de fichiers personnels, lancent des programmes depuis leur terminal et travaillent de manière interactive.
Pour approfondir cette période, le Computer History Museum présente plusieurs des systèmes qui ont contribué à l’essor du partage de temps.
Dartmouth : le partage de temps rencontre BASIC
À Dartmouth College, John Kemeny et Thomas Kurtz veulent rendre l’informatique accessible aux étudiants, y compris à ceux qui ne sont pas spécialistes.
Leur système de temps partagé est étroitement associé à la création d’un nouveau langage : BASIC.
Le 1er mai 1964, les premiers programmes BASIC sont exécutés sur le système de Dartmouth. L’utilisateur peut s’installer devant un télétype, saisir quelques lignes de programme et obtenir rapidement un résultat sans passer par la chaîne traditionnelle des cartes perforées.
Cette combinaison entre terminal, langage simple et réponse rapide contribue à faire de l’ordinateur un outil pédagogique, et non plus seulement une machine réservée aux spécialistes des centres de calcul.
De CTSS à Multics : l’ordinateur comme service
Le MIT pousse ensuite le concept beaucoup plus loin avec Multics, développé à partir du milieu des années 1960 avec General Electric et Bell Laboratories.
L’ambition est considérable : permettre à de nombreux utilisateurs d’accéder à une puissance informatique partagée, de manière comparable à l’utilisation d’un service public comme le téléphone ou l’électricité.
Pour y parvenir, il faut résoudre des problèmes qui restent fondamentaux dans les systèmes d’exploitation :
- isoler les programmes des différents utilisateurs ;
- gérer leurs fichiers et leurs droits d’accès ;
- partager efficacement la mémoire ;
- ordonner plusieurs processus ;
- répartir équitablement les ressources de la machine.
Le partage de temps ne concerne donc plus seulement le processeur : il conduit progressivement à repenser l’ensemble du système d’exploitation.
Le PDP-10, machine emblématique de l’informatique interactive
Chez Digital Equipment Corporation (DEC), le PDP-10 devient l’une des machines emblématiques de cette nouvelle culture informatique.
Son architecture et ses systèmes d’exploitation sont conçus pour faire coexister plusieurs utilisateurs, des traitements par lots et des tâches interactives.
Dans les universités et les laboratoires, ce type de machine favorise la programmation en ligne, l’échange de fichiers et l’apparition de communautés d’utilisateurs travaillant sur le même système.
L’ordinateur n’est plus seulement une machine que l’on utilise : il devient progressivement un espace informatique partagé.
Les terminaux : la nouvelle porte d’entrée vers l’ordinateur
Le partage de temps transforme également les périphériques.
Les cartes perforées ne disparaissent pas immédiatement, mais les utilisateurs travaillent de plus en plus depuis des terminaux reliés à l’ordinateur central.
Les premiers sont souvent des télétypes électromécaniques. À partir de la fin des années 1960 et durant les années 1970, les terminaux vidéo à écran deviennent progressivement plus courants.
LOGIN EDIT PROGRAM.FOR COMPILE RUN
Cette suite de commandes représente une rupture importante.
L’utilisateur ne remet plus simplement un travail à une machine avant d’attendre son résultat.
Il dialogue avec elle.
Batch et informatique interactive : deux modèles complémentaires
Le time-sharing est parfois présenté comme le remplacement du traitement par lots. En réalité, les deux méthodes vont longtemps coexister.
| Travail par lots | Partage de temps |
|---|---|
| Travaux préparés à l’avance | Commandes saisies depuis un terminal |
| Résultat obtenu plus tard | Réponse rapide recherchée |
| Adapté aux traitements longs et répétitifs | Adapté au développement et à l’enseignement |
| Peu d’interaction pendant l’exécution | Dialogue continu avec le système |
Les tâches de calcul longues, répétitives ou planifiables continuent à être exécutées par lots, tandis que le mode interactif est particulièrement adapté à la programmation, à l’enseignement et à l’utilisation quotidienne d’un système.
Cette distinction existe encore aujourd’hui entre traitements automatisés et sessions interactives.
Pourquoi le partage de temps est-il si important ?
- Il généralise l’interaction directe avec l’ordinateur.
- Il permet à de nombreux utilisateurs de partager une machine coûteuse.
- Il accélère le cycle écrire, tester, corriger, relancer.
- Il favorise le développement des terminaux et des interfaces en ligne de commande.
- Il impose la gestion des comptes utilisateurs, des fichiers personnels et des mécanismes de protection.
- Il contribue à l’apparition de communautés connectées autour d’un même ordinateur.
Le time-sharing constitue ainsi une étape décisive entre l’ordinateur utilisé comme calculateur central et l’ordinateur conçu comme environnement de travail interactif.
Du partage de temps au cloud : une idée toujours présente
Les technologies ont profondément changé, mais le principe économique et technique reste familier : partager une infrastructure puissante entre plusieurs utilisateurs plutôt que réserver une machine complète à chacun.
Un serveur Unix ou Linux accessible à plusieurs comptes, une machine distante utilisée en SSH ou une infrastructure cloud ne sont pas du time-sharing au sens historique strict.
Ils reposent cependant sur des problématiques comparables : mutualisation des ressources, isolation des utilisateurs, partage du processeur et de la mémoire, accès à distance et allocation des ressources.
L’idée apparue au début des années 1960 a donc largement dépassé les grands ordinateurs sur lesquels elle est née : faire travailler plusieurs utilisateurs efficacement sur une infrastructure commune reste l’un des principes fondamentaux de l’informatique moderne.
