Skip to content

Histoire⚓︎


1940 : Traitement en Série⚓︎

Un programmeur à la fois, un programme à la fois.
Nécessite l'intervention humaine pour changer de programme.

Série


1950 : Traitement par Lots⚓︎

Introduction d'un programme moniteur, qui surveille les tâches en cours et permet d'enchainer automatiquement une liste de taches.

Chaque utilisateur soumet ses tâches à l’opérateur de l’ordinateur : cartes perforées, rubans magnétiques
Il y a un regroupement des tâches
Puis exécution séquentielle des regroupements

La fin d’une tâche est suivie par un branchement vers le moniteur.
Le moniteur charge en mémoire la tâche suivante et l’exécute dans le processeur

L’ordinateur est soit en exécution d’un programme utilisateur soit en exécution du programme moniteur

Lots


1950- 1960 : Traitement par Lots Multiprogrammés⚓︎

L'amélioration logique consiste à exécuter une autre tâche dans les portions de temps où le processeur est inactif.
Ceci exige la coopération du matériel.

Apparition des interruptions matérielles & Module de gestion des interruptions :
Transfert rapide des données sans intervention du processeur.

Création d’un module de Memory Management :
maintenir en mémoire les tâches pour l’exécution.

Création d’un module d’ordonnancement des tâches :
permet d’avoir plus d’une tâche en mémoire,
sélectionne l’une des tâches pour l’exécution.

Important !

Traitement par lots = pas d’interactivité !


Début 1960 : Traitement en Temps Partagé⚓︎

Une nouvelle technique doit être développée: le CTSS (Compatible Time-Sharing System) de MIT.

Blocage / Redémarrage périodique des tâches à l’aide d’une interruption cadencée par une source stable (CLK).
Chaque utilisateur du système est relié à l’ordinateur par le biais d’un terminal.

Utilisateur = terminal = tâche

Important !

Le processeur est contrôlé par chaque terminal durant une brève période de temps.
Ainsi, les tâches ont tour à tour l’attention du processeur (round-robin).

Lorsqu’une tâche est en attente d’une opération E/S :
elle est immédiatement bloquée
le contrôle du processeur est passé à une autre tâche

Multi Programming Temps Partagé
Objectif Maximiser l'utilisation du processeur Minimiser le Temps de Réponse
Source des Commandes Job Control Language (JCL) Commandes interactives via le Terminal

1965 ~ : Multi-tâches et multi-utilisateur⚓︎

Success

Association du Multi-tache (multi-programmation) + Multi-Utilisateur (temps partagé) : MULTICS.
En ajoutant un Système de Gestion de Fichiers (SGF), on a déjà la structure d'un SE Moderne 💪 !


Pour résumer en Vidéo⚓︎