Multiple Virtual Storage
Multiple Virtual Storage (MVS) est le systÚme d'exploitation des gros ordinateurs (« mainframes ») d'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 du constructeur IBM (machines à technologie CMOS de la série 360 / 370 de nos jours appelée zSeries).
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'à 54, 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 bien adaptĂ© au traitement par lots (batch), pris en charge par le langage JCL.
Caractéristiques
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 ou des processeurs.
- 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 » - c'est le cas d'une attente de page), 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 le rendement global du systĂšme Ă condition que l'algorithme d'ordonnancement soit efficace.
- 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 ni de toutes les sections de code qui le composent. Le systĂšme lui laisse les portions de mĂ©moire qui lui sont nĂ©cessaires Ă cet instant (Working Set), le reste pourra ĂȘtre appelĂ© du disque Ă tout moment, ou transfĂ©rĂ© sur disque s'il s'agit de donnĂ©es modifiĂ©es entre-temps, 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.
- Forte dépendance vis-à -vis de l'architecture matérielle : certaines fonctionnalités de base du systÚme sont partiellement implémentées au niveau du micro-code, (par exemple les techniques de sérialisation qui dépendent de l'instruction Compare-and-swap), ou reposent sur des particularités de l'architecture (comme les mécanismes de protection mémoire, qui reposent sur la présence de bits supplémentaires non adressables associés à chaque bloc de RAM).
Chronologie
- annĂ©es 1960 : OS/360 version OS/VS2 (MVT) est le grand ancĂȘtre de MVS ; apparition de CICS et IMS
- années 1970 : architecture S/370 et mémoire virtuelle ; 16 canaux d'E/S ; adressage 24 bits ("ligne" des 16 MB)
- années 1980 : MVS/XA et l'adressage 31 bits ; 256 canaux d'E/S ; apparition de DB2 (SGBD relationnel)
- années 1990 : canaux en fibre optique ; Sysplex (clustering de machines) ; abandon de la technologie ECL et passage au CMOS ; MVS devient OS/390, avec un UNIX intégré ("USS", UNIX System Services : il s'agit en fait des services POSIX normalisés)
- années 2000 : la dénomination OS/390 disparaßt au profit de z/OS. Mode 64 bits ; ouverture à Internet (Websphere), TCP/IP.
Bibliographie
- Thierry Falissard, Le systĂšme MVS, Eyrolles, 1992
- David Shelby Kirk, The MVS Primer, QED, 1992
- Robert H. Johnson, MVS, Concepts and Facilities, Intertext, 1989
- Ronald Paans, A close look at MVS systems, North-Holland, 1986
Liens externes
- Généralités (fichier pdf)
- Historique
- Cours OS/390