Multiple Virtual Storage
MVS est le système
d'exploitation des gros ordinateurs (« mainframes ») IBM.
MVS a été lancé en 1974 par IBM. Le but était de fournir un système très fiable pour
supporter de gros environnements de production. Il est destiné aux grosses machines IBM (machines CMOS et zSeries).
MVS est certainement le plus élaboré des systèmes d'exploitation IBM, sinon de tous les systèmes passés et présents. Comme son
nom veut le faire comprendre (« Multiple Virtual Storage »), il applique le principe de la mémoire virtuelle pour
traiter différents travaux simultanément sur une machine comprenant un ou plusieurs processeurs (jusqu'à 16 en théorie, sans doute davantage dans les années qui viennent).
MVS se veut universel, et gère des sous-systèmes aptes à répondre à des requêtes en mode interactif (appelé aussi
« dialogué »), qu'il s'agisse aussi bien de « temps partagé » (TSO : l'ordinateur sert plusieurs
utilisateurs - informaticiens le plus souvent - en même temps) que de « transactionnel », où l'utilisateur final, non forcément informaticien, dialogue avec des
applications en rapport avec sa fonction dans l'entreprise (moniteurs transactionnels CICS, IMS). MVS reste
cependant remarquablement adapté au traitement par lots (batch), supporté par le langage JCL.
Les caractéristiques du système MVS sont les suivantes:
- Multiprogrammation : plusieurs utilisateurs ou travaux peuvent être servis simultanément par la machine.
« Simultanément » signifie que, bien qu'à un instant donné un seul travail puisse être traité par un processeur, dans
les conditions habituelles tous les utilisateurs sont servis à tour de rôle si rapidement qu'à l'échelle humaine ils paraissent
utiliser tous en même temps la machine.
- MVS réalise aussi une fonction de multi-tâche, plus fine que celle de multiprogrammation : un travail peut être
constitué de différentes tâches fonctionnant les unes après les autres ou simultanément : dans ce dernier cas elles entrent
ainsi en compétition pour l'usage du processeur.
- La multiprogrammation et le multi-tâche offrent une « simultanéité » et une multiplicité d'accès au processeur
satisfaisantes pour tous les utilisateurs. Ils optimisent aussi l'emploi du processeur en réduisant au maximum ses « temps
morts » : quand le travail en cours attend un événement quelconque (notamment la fin d'une entrée-sortie, opération
« longue »), le processeur peut l'abandonner pour un autre processus prêt à être activé.
- Multitraitement : plusieurs processeurs peuvent être gérés par le système (jusqu'à 2 en MVS-SP, 16 à partir de MVS-XA).
Ainsi, à un instant donné, sont traités par la machine autant de processus que de processeurs. Ceci améliore évidemment le
rendement global du système.
- La mémoire virtuelle : chaque travail se voit offrir une taille de mémoire possible pouvant être bien supérieure à la
mémoire réellement disponible. Ceci est rendu possible par le fait qu'à un instant donné un travail n'a pas besoin de toutes les
données enregistrées en mémoire depuis le départ. Le système lui laissera les portions de mémoire qui lui sont nécessaires à cet
instant, le reste pourra être transféré sur disque (on parle alors de mémoire auxiliaire), récupérable à tout moment à la demande
du travail. Le reste de la mémoire est utilement occupé par les routines et données du système ou par d'autres travaux prêts à
être traités par le ou les processeurs.
Historique rapide (voir aussi http://www.os390-mvs.freesurf.fr/mvshist.htm ) :
- années 60 : OS/360 est le grand ancêtre de MVS ; apparition de CICS et
IMS
- années 70 : architecture S/370 et mémoire virtuelle
- années 80 : MVS/XA et l'adressage 31 bits ; 256 canaux d'E/S ; apparition de DB2 (SGBD relationnel)
- années 90 : canaux en fibre optique ; Sysplex (clustering de machines) ; abandon de la technologie ECL et
passage au CMOS
- années 2000 : mode 64 bits ; ouverture à Internet (Websphere), TCP/IP.

