Grande Encyclopédie Larousse 1971-1976Éd. 1971-1976
O

ordinateur (suite)

Le traitement par lot

L’accroissement de vitesse du calcul a vite rendu inacceptable la quasi-inoccupation de l’unité centrale pendant la lecture des nouveaux programmes à partir de cartes et l’impression des résultats sur imprimante. Aussi a-t-on vu pendant la deuxième génération toutes les entrées-sorties traitées à partir de la bande magnétique, beaucoup plus rapide, le système enchaînant la prise en charge des travaux successifs à partir de la bande d’entrée et rangeant les résultats sur la bande de sortie. Les conversions de supports, cartes à bande d’entrée et à bande de sortie à imprimante, étaient réalisées de façon groupée pour un lot de travaux sur un petit ordinateur auxiliaire. Le gain en performance entraînait ainsi une perte sur le temps de réponse pour un travail donné à cause de son intégration dans un lot.


Le système d’avant-plan-arrière-plan et le chargement continu

L’introduction des systèmes d’interruption et de la simultanéité entre unité centrale et unité d’échange, l’apparition de mémoires à disques ont permis la réalisation de systèmes dits d’avant-plan-arrière-plan. Le calculateur auxiliaire est maintenant remplacé par les programmes d’avant-plan, c’est-à-dire les programmes prioritaires, chargés notamment de lire les travaux dès leur présentation sur le lecteur de cartes et de les ranger dans une file d’attente d’entrée sur disque. En arrière-plan se déroule le traitement proprement dit des travaux, ce qu’on appelle quelquefois le batch : le système prend en charge les travaux dans la file d’attente selon leur priorité, les fait exécuter et range les résultats dans une file d’attente de sortie sur disque. Enfin, ces résultats sont repris et sortis sur imprimante par des programmes d’avant-plan. Ainsi, ce système allie un très bon temps de réponse pour un travail donné, surtout si ce dernier est affecté d’une forte priorité, sans pour autant pénaliser le rendement global de la machine du fait de la simultanéité.


La multiprogrammation

Le système d’avant-plan-arrière-plan constitue un mode élémentaire de multiprogrammation. Cette technique consiste, en effet, à faire résider plusieurs programmes simultanément en mémoire et à imbriquer leur exécution dans le temps selon le jeu des demandes d’entrée-sortie et des interruptions. Une forme élaborée de multiprogrammation consiste à implanter simultanément plusieurs travaux utilisateurs dans la zone d’arrière plan : l’arrêt d’un travail pour attente d’une entrée d’information n’entraîne plus l’inoccupation de l’unité centrale, car le système peut alors donner la main à un autre travail.


La soumission des travaux à distance

L’utilisateur peut soumettre son travail à partir de son terminal, connecté à l’ordinateur par l’intermédiaire d’une ligne de transmission, et recevoir les résultats sur son terminal. L’ensemble des terminaux est géré par des programmes d’avant-plan qui font exécuter les travaux demandés dans le cadre du batch en arrière-plan.


Les techniques conversationnelles et le partage de temps

Lorsque plusieurs utilisateurs dialoguent simultanément avec l’ordinateur à partir de terminaux interactifs, que chaque utilisateur ne désire pas attendre les réponses de l’ordinateur, c’est-à-dire que, dans sa propre échelle de temps, l’ordinateur paraît ne travailler que pour lui, il faut faire appel à une nouvelle technique, dite de partage de temps, dans laquelle une tranche de temps de traitement (quelques millisecondes) est cycliquement accordée à chaque utilisateur.


Les machines virtuelles

Toute machine réelle présente des limitations, par exemple en capacité de mémoire centrale, dont le programmeur doit normalement tenir compte. On parle de machine virtuelle lorsque le système est suffisamment élaboré pour décharger l’utilisateur de ce type de contingences : la machine virtuelle apparaît identique à la machine réelle, sans, toutefois, en avoir certaines limitations ou certaines contraintes. Actuellement, une approche du concept de machine virtuelle consiste à faire résider simultanément plusieurs systèmes d’exploitation différents sous la commande d’un supersystème.


Les fonctions du système d’exploitation

Le système d’exploitation enchaîne les travaux des utilisateurs et les différentes étapes à l’intérieur d’un travail, gère toutes les entrées-sorties aussi bien au niveau des périphériques physiques qu’à celui de l’organisation logique des fichiers, prend en charge les interruptions, diagnostique les erreurs détectées dans les travaux, se protège des utilisateurs et protège les utilisateurs les uns par rapport aux autres, alloue les ressources (mémoire centrale, mémoire auxiliaire, temps d’unité centrale et d’unité d’échange) aux différents travaux, tient à jour la comptabilité permettant la facturation des travaux exécutés, dialogue avec le personnel d’exploitation. Seuls certains modules du système d’exploitation résident en mémoire centrale ; les autres sont appelés, selon les besoins, à partir des disques.


La gestion des travaux

Le travail fourni par un utilisateur se déroule dans le batch en plusieurs étapes. Il peut être composé de plusieurs modules codés dans des langages différents. La première étape consiste à appeler successivement les compilateurs traduisant les modules en langage-machine. Au cours de ces traductions, toutes les références entre modules sont notées. La deuxième étape consiste à lier les modules entre eux grâce à ces références, en cherchant dans la bibliothèque générale de sous-programmes les modules référencés non fournis par l’utilisateur. La troisième étape consiste à rechercher et à allouer des différentes ressources demandées par le programme ainsi qu’à faire monter par le personnel d’exploitation les fichiers sur leurs supports ; la quatrième étape est celle du chargement du programme en mémoire et de son exécution.

L’ensemble des modules du système assurant l’exécution des différentes étapes est placé sous le contrôle d’un moniteur de gestion des travaux, qui enchaîne les étapes d’un travail grâce aux indications fournies par le programme dans un langage de commande des travaux définissant les langages utilisés, les ressources nécessaires, les fichiers à monter, etc. Dans les systèmes les plus évolués, le moniteur gère également la file d’attente des travaux à exécuter, le choix du nouveau travail à lancer, tenant compte de la priorité demandée par l’utilisateur, du temps passé en file d’attente, des ressources (temps machine, temps d’impression, place mémoire) demandées, les poids respectifs de ces différents éléments résultant de la politique définie par le responsable de l’exploitation.