DOS/360 et successeurs - DOS/360 and successors

Disk Operating System/360 , également DOS/360 , ou simplement DOS , est le premier membre abandonné d'une séquence de systèmes d'exploitation pour IBM System/360 , System/370 et les mainframes ultérieurs . Il a été annoncé par IBM le dernier jour de 1964, et il a été livré pour la première fois en juin 1966. À son époque, DOS/360 était le système d'exploitation le plus utilisé au monde.

Versions DOS

CGU/360

TOS/360 (Tape Operating System/360, pas un DOS en tant que tel et pas ainsi appelé) était un système d' exploitation IBM pour le System/360 , utilisé au début vers 1965 pour prendre en charge le System/360 Model 30 et des plates-formes similaires.

TOS, selon la "bande" dans le nom, nécessitait un lecteur de bande. Il partageait la plupart de la base de code et quelques manuels avec le DOS/360 d'IBM.

Le TOS a connu 14 versions et a été interrompu lorsque des disques tels que l' IBM 2311 et l' IBM 2314 sont devenus plus abordables à l'époque de System/360, alors qu'ils étaient un luxe coûteux sur l' IBM 7090 .

DOS/360

DOS/360 était le système d'exploitation principal pour la plupart des petites et moyennes installations S/360.

DOS/VS

DOS/VS a été publié en 1972. La première version de DOS/VS a été numérotée "Release 28" pour signifier une mise à niveau incrémentielle de DOS/360. Il a ajouté de la mémoire virtuelle pour prendre en charge le nouveau matériel de la série System/370 . Il utilisait une table de pages fixes qui mappait un seul espace d'adressage pouvant atteindre 16 mégaoctets pour toutes les partitions combinées.

DOS/VS a augmenté le nombre de partitions (programmes simultanés séparés) de trois (appelées Arrière-plan, Premier plan 1 et Premier plan 2) à cinq (BG et F1 à F4) et a permis un total de quinze sous-tâches à l'échelle du système.

DOS/VS a été remplacé par DOS/VSE via z/VSE .

DOS/VSE

DOS/VSE a été introduit en 1979 en tant que version « étendue » de DOS/VS pour prendre en charge les nouveaux processeurs 4300 . Les systèmes 4300 comprenaient une fonctionnalité appelée ECPS:VSE qui fournissait un stockage à un seul niveau pour le processeur et les canaux d'E/S. DOS/VSE prenait en charge ECPS:VSE, mais pouvait également fonctionner sur un System/370 sans cette fonctionnalité. VSE était la dernière version gratuite de DOS.

SSX/VSE

Un membre du personnel d'IBM installant une application tierce s'exécutant sur SSX/VSE, dans les locaux d'IBM Böblingen où le travail SSX a été effectué

SSX/VSE ("Small System Executive") était une tentative d'IBM pour simplifier l'achat et l'installation de VSE en fournissant un système pré-généré contenant le système d'exploitation et les produits les plus populaires. SSX est sorti en 1982 et remplacé plus tard par VSE/SP. SSX a été vendu par IBM comme un ensemble de 14 produits composants (Advanced Functions/VSE, VSE/POWER, ACF/VTAME, VSE/VSAM, CICS/DOS/VS, DOS/VS, Sort/Merge, VSE/ICCF, VSE/ OCCF, VSE/IPCS, DOS/COBOL, sauvegarde/restauration, gestion de l'espace, VSE/DITTO), et n'accepterait à l'origine que d'offrir les produits individuels séparément via RPQ , bien qu'IBM ait par la suite accepté d'ajouter ces produits individuellement à sa liste de prix. sous la pression des ISV qui ont affirmé que le regroupement violait les lois antitrust.

TPE/SP

En 1986, IBM a publié VSE/SP ("System Product") en conjonction avec l'annonce des processeurs 9370 . VSE/SP a remplacé SSX/VSE et groupé VSE avec les produits de programme VSE les plus populaires tels que VSE/AF, ACF/VTAM , CICS et POWER/VS . VSE/SP ne prenait en charge que les adresses 24 bits, malgré les demandes des clients de fournir une version XA (31 bits).

TPE/ESA

VSE/ESA était une version DOS/VSE 31 bits, sortie en 1990 et prenant en charge jusqu'à 384 Mo de stockage réel. Il fournissait jusqu'à douze partitions statiques et permettait l'exécution de VSE/POWER et ACF/VTAM dans des espaces d'adressage privés . Il a introduit une nouvelle fonctionnalité appelée partitions dynamiques qui pourrait autoriser jusqu'à 150 tâches simultanées, chacune dans son propre espace d'adressage. La version 1 peut fonctionner en mode ESA ou 370, le mode ESA prenant également en charge le matériel XA avec des limitations. La version 2 ne prenait en charge que le mode ESA avec le matériel ESA.

z/VSE

IBM a publié z/VSE 3.1 en 2005. Ce changement de nom reflétait la nouvelle marque « System z » pour la gamme de produits mainframe d'IBM, mais ne représentait pas un changement fondamental d'architecture par rapport à VSE/ESA 2.7 qui l'a précédé. En particulier, il ne prenait pas en charge le nouveau z/Architecture 64 bits, ne s'exécutant qu'en mode 31 bits, même sur des machines compatibles 64 bits. z/VSE 4.1 publié en 2007 a introduit la prise en charge de l'adressage réel 64 bits, avec jusqu'à 8 Go de mémoire. Cependant, alors que certaines parties du superviseur fonctionnent en mode 64 bits, il ne fournit que des espaces d'adressage virtuels de 31 bits aux applications en état de problème. En 2011, une estimation plaçait le nombre de sites utilisant z/VSE à environ 4 000.

Histoire

Lors du développement d'une nouvelle génération matérielle d' ordinateurs System/360 (ou S/360) unifiés , IBM s'était initialement engagé à fournir un système d'exploitation unique, OS/360 , également compatible avec les machines bas de gamme ; mais le matériel était déjà disponible et le projet OS/360 a pris de plus en plus de retard, comme le décrit longuement Fred Brooks dans The Mythical Man-Month . IBM a été contraint de développer rapidement quatre systèmes supplémentaires :

Lorsque OS/360 a finalement été publié, un an plus tard, il nécessitait au moins 64 Ko de mémoire. DOS a été conçu pour utiliser peu de mémoire et pouvait fonctionner sur des machines de 16 Ko, une configuration disponible sur le modèle bas de gamme S/360 30 . Contrairement à OS/360, DOS/360 était initialement un système à tâche unique qui ne prenait pas en charge le multitâche . Une version multitâche, prenant en charge jusqu'à trois partitions de mémoire , nécessitant 32 Ko de mémoire a ensuite été publiée. Malgré ses limites, DOS/360 est devenu le système d'exploitation le plus utilisé pour les processeurs avec moins de 256 Ko de mémoire car : Le matériel System/360 s'est très bien vendu ; DOS/360 fonctionnait bien sur les processeurs System/360 que les entreprises de taille moyenne pouvaient se permettre ; et c'était mieux que les "systèmes d'exploitation" que ces clients avaient auparavant.

DOS/360 était le système d'exploitation qui comblait l'intervalle de temps entre l'annonce du System/360 et la disponibilité du système d'exploitation prévu, OS/360. En raison de ce retard, un certain nombre de clients ont mis en place des systèmes DOS et ont engagé des investissements importants pour les faire fonctionner. IBM s'attendait à ce que les utilisateurs de DOS/360 passent bientôt à OS/360, mais en raison de ces investissements, ils étaient réticents à s'engager dans une telle conversion. IBM devait alors continuer à proposer DOS/360 comme système d'exploitation supplémentaire. Le fichier Hacker's Jargon indique à tort que GECOS (également connu sous le nom de GCOS) a été copié à partir de DOS/360, ce qui n'était pas le cas, cependant le système d'exploitation Xerox de Xerox Data Systems (XOS) était intentionnellement similaire à DOS pour simplifier le portage du programme.

Exigences matérielles

Lecteur de disque IBM 2311

DOS/360 nécessitait un processeur System/360 (modèle 25 et supérieur) avec le jeu d'instructions standard (jeu d'instructions décimal et à virgule flottante en option). La mémoire minimale requise était de 16 Ko ; la protection du stockage n'était requise que si la multiprogrammation était utilisée. Un clavier d'imprimante 1052 modèle 7 , soit un sélecteur, soit un canal multiplexeur , et au moins un lecteur de disque étaient nécessaires - initialement un 2311 contenant 7,25 Mo. Un lecteur de carte , un perforateur de carte et une imprimante ligne étaient généralement inclus, mais des lecteurs de bande magnétique pouvaient être remplacés.

Une configuration typique peut consister en un S/360 modèle 30 avec 32 Ko de mémoire et le jeu d'instructions décimales, un lecteur/perforateur de cartes IBM 2540 , une imprimante IBM 1403 , deux ou trois disques IBM 2311, deux lecteurs de bande magnétique IBM 2415 et la console 1052-7.

Détails techniques

La description suivante s'applique à DOS/360, sauf indication contraire. Les versions ultérieures offrent des fonctionnalités supplémentaires.

Parce que DOS/360 a été conçu pour fonctionner sur des modèles bas de gamme d'utilisation de la mémoire System/360 était une préoccupation. Il était possible de générer un superviseur DOS , la partie résidente du système d'exploitation, aussi petit que 5902 octets. Des graphiques détaillés répertorient les besoins en mémoire pour chaque option sysgen , souvent aussi petits que 100 octets. Un système minimum laisserait un peu plus de 10 Ko de stockage disponible pour une seule partition batch, ce qui était suffisant pour exécuter les utilitaires et tous les compilateurs à l'exception de COBOL , PL/I et FORTRAN IV complet . Pour garder l'utilisation de la mémoire aussi petite que possible, DOS a été entièrement codé en langage assembleur .

Transitoires

Le concept de zone transitoire fait partie de la discussion de Mythical Man-Month sur la conception et l'utilisation de la mémoire principale. Pour réduire davantage l'utilisation de la mémoire, le superviseur a utilisé des superpositions appelées transitoires qui ont été lues dans l'une des deux zones transitoires réservées selon les besoins.

  • Les transitoires physiques ont été chargés dans la zone A-Transient de 556 octets pour gérer les erreurs matérielles (ERP), enregistrer les données spécifiques aux erreurs (OBR/MDR) sur IJSYSRC et émettre des messages d'erreur. Tous les noms de module A-Transient commençaient par $$A.
  • Les transitoires logiques ont été chargés dans la zone B-Transient de 1200 octets pour fournir des services de programme communs comme OPEN et CLOSE pour LIOCS. Tous les noms de modules B-Transient commençaient par $$B.

L'utilisation des préfixes $$A et $$B assurait un chargement rapide des transitoires car leurs noms étaient stockés en premier dans le répertoire.

DOS/VS a ajouté des gestionnaires de vérification de machine et de vérification de canal, qui étaient un autre ensemble de transitoires commençant tous par $$RAST et s'exécutant dans la zone de récupération transitoire. Cela a été fait dans le cadre des améliorations de la fiabilité, de la disponibilité et de la facilité d'entretien (RAS) pour le System/370. Avant cet ajout, les vérifications de la machine provoquaient l'arrêt du programme en cours d'exécution et les vérifications des canaux provoquaient l'arrêt du programme accédant au périphérique, au moment de l'erreur.

Multiprogrammation

Comme OS/360 , les versions initiales de DOS ne pouvaient exécuter qu'un seul programme à la fois. Les versions ultérieures du "vrai" DOS étaient capables d'exécuter jusqu'à trois programmes simultanément, dans des partitions de mémoire distinctes, pris en charge par les mêmes fonctionnalités de protection de la mémoire matérielle du système d'exploitation OS/360 plus évolutif. Ceux-ci ont été identifiés comme BG ( arrière-plan ), F1 ( premier plan 1 ) et F2 ( premier plan 2 ). La multiprogrammation était une fonctionnalité optionnelle de DOS/360, sélectionnable lors de la génération du système . Une option SYSGEN ultérieure a permis l' exécution d'opérations par lots dans l'une ou l'autre des partitions FG. Sinon, les programmes de premier plan devaient être lancés manuellement par l' opérateur de l' ordinateur .

DOS/VS autorisait jusqu'à sept programmes simultanés, bien que cinq ou six soient un nombre plus courant en raison de la plus petite échelle du matériel hébergeant généralement les systèmes DOS. DOS et DOS/VS permettent de définir le nombre de partitions à l' IPL (Initial Program Load), le terme IBM pour Boot load.

Bibliothèques de programmes

Les programmes exécutables étaient stockés dans une bibliothèque d'images de base . Pendant l'exécution, DOS n'a pas pu récupérer de l'espace car les programmes ont été supprimés ou remplacés par des versions plus récentes. Lorsque la bibliothèque d'images principale était pleine, elle devait être compressée par un programme utilitaire, ce qui pouvait interrompre le travail de développement jusqu'à ce qu'il soit terminé. De nombreux magasins ont simplement gelé les modifications pendant une journée, compressé le CIL « hors ligne » et procédé à l'IPL avec la nouvelle bibliothèque d'images de base au début d'une journée ouvrable. Une bibliothèque déplaçable pour les programmes d'objets pouvant être liés et une bibliothèque d'instructions source pour les macros d'assembleur et le texte d'inclusion ont également été prises en charge. Les installations peuvent définir des bibliothèques d'instructions privées et délocalisables supplémentaires sur d'autres volumes de disque.

Utilitaires

DOS/360 avait un ensemble de programmes utilitaires , un assembleur et des compilateurs pour FORTRAN , COBOL et éventuellement PL/I , et il prenait en charge une gamme d'organisations de fichiers avec des méthodes d'accès pour aider à les utiliser :

  • Les ensembles de données séquentiels étaient uniquement lus ou écrits, un bloc d'enregistrement à la fois du début à la fin.
  • Dans les fichiers indexés ( ISAM ), une section spécifiée de chaque enregistrement était définie comme une clé pouvant être utilisée pour rechercher des enregistrements spécifiques.
  • Dans les fichiers à accès direct ( BDAM ), le programme d'application devait spécifier l'emplacement physique sur le disque des données auxquelles il voulait accéder. La programmation BDAM n'était pas facile et la plupart des clients ne l'ont jamais utilisé eux-mêmes ; mais c'était le moyen le plus rapide d'accéder aux données sur les disques et de nombreuses sociétés de logiciels l'utilisaient dans leurs produits, en particulier les systèmes de gestion de bases de données tels que ADABAS , IDMS et IBM DBOMP et DL/I .

Les fichiers séquentiels et ISAM peuvent stocker des enregistrements de longueur fixe ou variable, et tous les types peuvent occuper plusieurs volumes de disque.

Télécommunications

DOS/360 offrait la méthode d'accès aux télécommunications de base ( BTAM ) et la méthode d'accès aux télécommunications en file d'attente ( QTAM ). BTAM était primitif et difficile à utiliser selon les normes ultérieures, mais il permettait la communication avec presque tous les types de terminaux, ce qui était un gros avantage à une époque où les protocoles de communication étaient peu standardisés. La simplicité de son API a également permis l'interface relativement simple des processeurs de communication externes, ce qui a permis aux machines DOS/360 de devenir des nœuds dans les réseaux à plusieurs niveaux des grandes organisations. À l'inverse, les utilisateurs de QTAM n'avaient pas besoin d'autant de connaissances sur les appareils individuels car QTAM fonctionnait au niveau logique à l'aide des macros OPEN/CLOSE/GET/PUT.

Contrôle des tâches

Toutes les instructions de contrôle de travail DOS commençaient par " // " dans les colonnes de carte un et deux, sauf end-of-job qui était " /&␢ ", end-of-data , " /*␢ " et les commentaires , " *␢ " . ( Dans la description qui suit le caractère « » représente un seul blanc .)

  • L' JOB instruction indique "le début des informations de contrôle pour un travail". Le format est . <jobname> doit comporter de un à huit caractères alphanumériques pour identifier le travail. Les <commentaires> sont ignorés.// JOB <jobname> <comments>
  • L' EXEC instruction identifie un programme à exécuter en tant qu'étape de travail . "Toutes les instructions de contrôle nécessaires à l'exécution doivent être traitées" avant la EXEClecture de l' instruction. Le format est// EXEC <program>
  • L' PAUSE instruction "peut être utilisée pour permettre l'action de l'opérateur entre les étapes du travail." Le format est . Le commentaire est utilisé pour fournir un message à l'opérateur.// PAUSE <comment>
  • L' comments instruction peut être utilisée pour afficher un message à l'attention de l'opérateur. Le format est * <comment>.
  • L' instruction end of data marque la fin des données dans le flux d'entrée. Le format est . Toutes les données de l'instruction suivant le blanc sont ignorées./*
  • L' instruction de fin de travail marque la fin d'un travail et peut indiquer la fin des données à vider si le travail se termine de manière anormale. Le format est /&. Toutes les données de l'instruction suivant le blanc sont ignorées.
  • L' OPTION instruction spécifie les valeurs des options système qui s'appliquent à ce travail. Le format est .// OPTION <option1>[,<option2>...]
  • L' ASSGN instruction "est utilisée pour affecter une unité d'E/S logique à un périphérique physique." Le format est . SYSxxx indique une unité logique telle que SYS001 ou SYSIPT. <device> est soit "X'cuu'" pour indiquer un périphérique physique (canal et unité), "IGN" pour ignorer, ou "UA" pour unassigned. <option de bande> spécifie les paramètres de mode de bande tels que la densité, la parité, etc., ou "ALT" pour indiquer un périphérique alternatif.// ASSGN SYSxxx,<device>[,<tape option>]
  • L' RESET instruction réinitialise les affectations d'unités d'E/S spécifiées à leurs valeurs permanentes. Le format est . <option> peut être "SYS" pour réinitialiser toutes les affectations d'unités logiques du système, "PROG" pour réinitialiser toutes les affectations de programmeur, "ALL" pour réinitialiser toutes les affectations, ou "SYSxxx" pour réinitialiser l'affectation de l'unité logique "SYSxxx", pour exemple SYS002.// RESET <option>
  • L' LISTIO instruction demande au système d'imprimer une liste de toutes les affectations d'E/S spécifiées actuellement en vigueur. Le format est . <option> est "SYS" pour lister toutes les affectations du système, "PROG", "F1", ou "F2" pour lister toutes les affectations pour l'arrière-plan ou la partition de premier plan spécifiée, "ALL", "SYSxxx", "X'cuu' ", "UNITS" pour lister toutes les unités affectées, "UA" pour lister toutes les unités non affectées, ou "DOWN" pour lister toutes les unités marquées comme inopérantes.// LISTIO <option>
  • L' MTC instruction donne un ordre à une unité de bande magnétique. Le format est . <opcode> est une fonction telle que "FSF" pour faire avancer l'espace d'un fichier ou "REW" pour rembobiner la bande. <nn> est un nombre qui peut spécifier le nombre de fois que l'opération doit être exécutée, comme l'espace en avant de deux fichiers.// MTC <opcode>,SYSxxx[,<nn>]
  • L' VOL instruction fournit des informations sur l'étiquette de volume de disque ou de bande pour la vérification d'étiquette standard. Le format est .// VOL SYSxxx,<volume>
  • DOS a initialement fourni l' TPLAB instruction pour les informations sur l'étiquette de la bande et les instructions DLAB et XTENTpour les informations sur l'étiquette et l'étendue du disque. Au moins dès 1968, la TPLAB déclaration avait été remplacée par TLBL et la DLAB déclaration par DLBL. Ces déclarations utilisaient de nombreux paramètres positionnels et présentaient des densités d'informations assez élevées.

Différences avec OS/360

Langage de contrôle des tâches

DOS JCL a été conçu pour la vitesse et la simplicité d'analyse ; la syntaxe positionnelle résultante était nettement plus cryptique que le contrôle des tâches OS/360 basé sur des mots-clés.

Bobinage

Les premiers DOS n'incluaient aucun sous-système de spoulage pour améliorer l'efficacité des E/S des cartes perforées et des imprimantes ligne . À la fin des années 1960, IBM et les fournisseurs de pièces de rechange ont commencé à combler ce vide. Le spouleur d'IBM était une option appelée POWER , et Software Design, Inc., une société de logiciels indépendante, a vendu un spouleur appelé GRASP .

Chargement du programme

DOS/360 n'avait pas de chargeur de déplacement , les programmeurs devaient donc éditer une version exécutable distincte de chaque programme pour chaque partition, ou espace d'adressage, dans lequel le programme était susceptible d'être exécuté. Alternativement, les programmes en langage assembleur pourraient être écrits en tant qu'auto-déplacement , mais cela imposait une complexité supplémentaire et une pénalité de taille, bien que petite. Les grands magasins DOS avec plusieurs machines et plusieurs dispositions de partition ont souvent écrit leur propre chargeur de relocalisation pour contourner ce problème.

Interface de programmation d'applications

L' interface de programmation d'application DOS/360 était incompatible avec OS/360. Les programmes en langage de haut niveau écrits pour DOS devaient être compilés et liés avant de pouvoir être utilisés avec OS/360. Des différences mineures entre les compilateurs DOS et OS nécessitaient parfois des modifications des programmes. Le port dans l'autre sens était cependant plus difficile. Étant donné que OS/360 avait beaucoup plus de fonctionnalités prises en charge dans son API, toute utilisation de ces fonctionnalités devrait être supprimée des programmes portés vers DOS. C'était moins un problème pour les programmeurs travaillant dans des langages de haut niveau tels que COBOL . Les programmes assembleur , d'un autre côté, avaient tendance à utiliser ces mêmes fonctionnalités plus souvent et nécessitaient généralement des modifications plus importantes pour fonctionner sous DOS.

Voir également

Remarques

Les références

Liens externes

Cet article est basé sur du matériel extrait du Dictionnaire gratuit en ligne de l'informatique avant le 1er novembre 2008 et incorporé sous les termes de "relicensing" de la GFDL , version 1.3 ou ultérieure.