RT-11 - RT-11

RT-11
Développeur Digital Equipment Corporation et Mentec Inc.
Écrit en MACRO-11
État de fonctionnement Abandonné
Modèle source Source fermée
Première version 1970 ; il y a 51 ans ( 1970 )
Dernière version 5.7 / octobre 1998 ; il y a 22 ans ( 1998-10 )
Cible marketing Laboratoire/Scientifique/Équipement industriel temps réel
Disponible en Anglais
Plateformes Famille PDP-11 et clones
Type de noyau Noyau monolithique
Interface utilisateur par défaut Interface de ligne de commande Keyboard Monitor (KMON)
Licence Propriétaire

RT-11 (« RT » pour temps réel ) est un petit système d'exploitation en temps réel bas de gamme à utilisateur unique abandonné pour la famille Digital Equipment Corporation PDP-11 d'ordinateurs 16 bits. RT-11, qui signifie Real-Time , a été mis en œuvre pour la première fois en 1970 et a été largement utilisé pour les systèmes en temps réel, le contrôle de processus et l'acquisition de données sur toute la gamme d'ordinateurs PDP-11. Il a également été utilisé pour l'informatique à faible coût à usage général.

Caractéristiques

Multitâche

Les systèmes RT-11 ne prenaient pas en charge le multitâche préemptif , mais la plupart des versions pouvaient exécuter plusieurs applications simultanées. Toutes les variantes des moniteurs ont fourni un travail d'arrière - plan . Les moniteurs FB, XM et ZM ont également fourni une tâche de premier plan , ainsi que six tâches système si elles sont sélectionnées via le programme de génération de système SYSGEN . Ces tâches avaient des priorités fixes, avec le travail d'arrière - plan le plus bas et le travail de premier plan le plus élevé. Il était possible de basculer entre les travaux à partir de l' interface utilisateur de la console système et SYSGEN pouvait générer un moniteur fournissant un seul travail en arrière-plan (les variantes SB, XB et ZB).

Code source

RT-11 a été écrit en langage assembleur . L'utilisation intensive des fonctionnalités d'assemblage conditionnel et de programmation macro de l' assembleur MACRO-11 a permis un degré important de configurabilité et a permis aux programmeurs de spécifier des instructions de haut niveau qui n'auraient pas été prévues dans le code machine. Les distributions RT-11 comprenaient le code source du système d'exploitation et ses pilotes de périphérique avec tous les commentaires supprimés et un programme nommé "SYSGEN" qui construirait le système d'exploitation et les pilotes selon une configuration spécifiée par l'utilisateur. La documentation du développeur comprenait une liste du noyau qui comprenait des commentaires.

Pilotes de périphérique

Dans RT-11, les pilotes de périphérique étaient chargeables, sauf qu'avant la V4.0, le pilote de périphérique pour le périphérique système (périphérique de démarrage) était intégré au noyau au moment de la configuration. Étant donné que RT-11 était couramment utilisé pour le contrôle des périphériques et l'acquisition de données, il était courant pour les développeurs d'écrire ou d'améliorer les pilotes de périphériques. DEC a encouragé ce développement de pilotes en ouvrant leurs sous-systèmes matériels (de la structure du bus au code), en documentant les éléments internes du système d'exploitation, en encourageant les fournisseurs de matériel et de logiciels tiers et en encourageant le développement de la Digital Equipment Computer Users Society .

Interface humaine

La fin de la sortie de commande HELP de RT-11SJ affichée sur un VT100 .

Les utilisateurs utilisaient généralement le RT-11 via un terminal d'impression ou un terminal vidéo , à l'origine via une boucle de courant sélectionnable par sangle (pour les télétypes conventionnels) ou via une interface RS-232 (plus tard RS-422 également) sur l'une des cartes CPU ; DEC prenait également en charge les périphériques d'affichage graphique VT11 et VS60 ( terminaux graphiques vectoriels avec un générateur de caractères graphiques pour l'affichage du texte et un crayon optique pour la saisie graphique). Un favori des tiers était la famille Tektronix 4010 .

Le moniteur de clavier (KMON) interprétait les commandes émises par l'utilisateur et invoquait divers utilitaires avec les formes CSI (Command String Interpreter) des commandes. Le langage de commande RT-11 avait de nombreuses fonctionnalités (telles que les commandes et les noms de périphériques) qui peuvent être trouvées plus tard dans la ligne DOS des systèmes d'exploitation qui ont fortement emprunté à RT-11. Le formulaire CSI attendait des noms de fichiers et des options d' entrée et de sortie (« commutateurs » sur RT-11) dans un ordre et une syntaxe précis. Les commutateurs de ligne de commande étaient séparés par une barre oblique (" /") plutôt que par le tiret (" -") utilisé dans les systèmes d'exploitation de type Unix. Toutes les commandes avaient une forme complète et une forme courte à laquelle elles pouvaient être contractées. Par exemple, la commande RENAME pourrait être contractée avec REN .

Les fichiers batch et le processeur batch peuvent être utilisés pour émettre une série de commandes avec un flux de contrôle rudimentaire . Les fichiers batch avaient l' extension .BAT.

Dans les versions ultérieures de RT-11, il était possible d'appeler une série de commandes à l'aide d'un fichier de commandes .COM, mais elles seraient exécutées en séquence sans contrôle de flux. Même plus tard, il était possible d'exécuter une série de commandes avec un grand contrôle grâce à l'utilisation du processeur de fichiers de commandes indirectes (IND), qui prenait les fichiers de contrôle .CMD en entrée.

Les fichiers avec l'extension .SAV étaient une sorte d'exécutable. Ils étaient connus sous le nom de "fichiers de sauvegarde" car la commande RT-11 SAVE pouvait être utilisée pour sauvegarder le contenu de la mémoire dans un fichier disque qui pouvait être chargé et exécuté ultérieurement, permettant ainsi de sauvegarder n'importe quelle session.

La commande SAVE, ainsi que GET, START , REENTER, EXAMINE et DEPOSIT étaient des commandes de base implémentées dans le KMON. Certaines commandes et utilitaires ont ensuite été empruntés dans la gamme de systèmes d'exploitation DOS . Ces commandes incluent DIR , COPY , RENAME , ASSIGN , CLS , DELETE , TYPE , HELP et autres. La commande FORMAT a été utilisée pour le formatage du disque physique, bien qu'elle ne soit pas capable de créer un système de fichiers, à cette fin la commande INIT a été utilisée (analogue de la commande DOS FORMAT /Q). La plupart des commandes sont prises en charge à l'aide de caractères génériques dans les noms de fichiers.

Les noms de périphériques physiques ont été spécifiés sous la forme « dd{n} : » où « dd » était un nom de périphérique alphabétique à deux caractères et le « n » optionnel était le numéro d’unité (0-7). Lorsque le numéro d'unité a été omis, l'unité 0 a été supposée. Par exemple, TT : fait référence au terminal de console, LP : (ou LP0 :) fait référence à l'imprimante ligne parallèle, et DX0 :, DY1 :, DL4 : fait référence aux volumes de disque (RX01 unité 0, RX02 unité 1, RL01 ou RL02 unité 4, respectivement). Les noms de périphériques logiques se composaient de 1 à 3 caractères alphanumériques et étaient utilisés à la place d'un nom de périphérique physique. Cela a été accompli à l'aide de la ASSIGNcommande. Par exemple, un problème ASSIGN DL0 ABCpeut entraîner le mappage de toutes les futures références à « ABC : » vers « DL0 : ». Nom logique réservé DK : fait référence à l'appareil par défaut actuel. Si un périphérique n'était pas inclus dans une spécification de fichier, DK : était supposé. Nom logique réservé SY: fait référence au périphérique système (le périphérique à partir duquel le système a été démarré).

Les versions ultérieures de RT-11 permettaient de spécifier jusqu'à 64 unités (0-77 octal) pour certains appareils, mais le nom de l'appareil était toujours limité à trois caractères alphanumériques. Cette fonctionnalité a été activée via une sélection SYSGEN et appliquée uniquement aux gestionnaires de périphériques DU et LD. Dans ces deux cas, la forme du nom du périphérique est devenue « dnn : » où « d » était « D » pour le périphérique DU et « L » pour le périphérique LD, et « nn » était de 00 à 77 (octal).

Logiciel

RT-11 a été distribué avec des utilitaires pour effectuer de nombreuses actions. Les utilitaires DIR , DUP , PIP et FORMAT servaient à gérer les volumes de disque. TECO , EDIT , et les éditeurs visuels KED (pour le DEC VT100 ) et K52 (pour le DEC VT52 ) ont été utilisés pour créer et éditer les fichiers source et de données. MACRO , LINK et LIBR étaient destinés à la construction d'exécutables. ODT , VDT et le périphérique SD ont été utilisés pour déboguer les programmes. La version de DEC de Runoff servait à produire des documents. Enfin, VTCOM a été utilisé pour se connecter et utiliser (ou transférer des fichiers vers et depuis) ​​un autre système informatique par téléphone via un modem.

Le système était suffisamment complet pour gérer de nombreuses tâches informatiques personnelles modernes. Des logiciels de productivité tels que LEX-11, un logiciel de traitement de texte et une feuille de calcul de Saturn Software, utilisés sous d'autres systèmes d'exploitation PDP-11, fonctionnaient également sur RT-11. De grandes quantités de logiciels gratuits fournis par les utilisateurs pour RT-11 étaient disponibles auprès de la Digital Equipment Computer Users Society (DECUS), y compris une implémentation de C . Bien que les outils pour développer et déboguer des programmes en langage assembleur aient été fournis, d'autres langages, notamment C, Fortran , Pascal et plusieurs versions de BASIC, étaient disponibles auprès de DEC en tant que « produits en couches » à un coût supplémentaire. Des versions de ces langages de programmation et d'autres étaient également disponibles auprès d'autres sources tierces. Il est même possible de mettre en réseau des machines RT-11 en utilisant DECNET , Internet et des protocoles développés par d'autres sources tierces.

Distributions et configuration minimale du système

Le système d'exploitation RT-11 peut être démarré à partir d'une machine composée de deux disquettes de 8 pouces 250 Ko et 56 Ko de mémoire et peut prendre en charge 8 terminaux. Les autres options de démarrage incluent le plateau de disque dur amovible RK05 de 2,5 Mo ou la bande magnétique . Les distributions étaient disponibles pré-installées ou sur bande perforée, bande magnétique, cartouche ou disquette. Un système minimal mais complet prenant en charge un seul utilisateur en temps réel pourrait fonctionner sur une seule disquette et dans 8 Ko de mots de 16 bits (16 Ko) de RAM, y compris les programmes utilisateur. Cela a été facilité par la prise en charge de l'échange et de la superposition. Pour réaliser le fonctionnement sur un système de mémoire aussi petit, l'interface utilisateur de commande de clavier serait permutée pendant l'exécution du programme d'un utilisateur et ensuite permutée en mémoire à la fin du programme. Le système prenait en charge une horloge en temps réel , un terminal d'impression, une unité graphique vectorielle VT11, un convertisseur A/N 16 canaux 100 kHz avec 2 canaux D/A, un port série 9600 bauds, des cartes bidirectionnelles 16 bits, etc.

Système de fichiers

RT-11 a implémenté un système de fichiers simple et rapide utilisant des noms de fichiers à six caractères avec des extensions à trois caractères ("6.3") encodées dans RADIX-50 , qui condensaient ces neuf caractères dans seulement trois mots de 16 bits (six octets). Tous les fichiers étaient contigus, ce qui signifie que chaque fichier occupait des blocs consécutifs (l'unité de stockage sur disque adressable au minimum, 512 octets) sur le disque. Cela signifiait qu'un fichier entier pouvait être lu (ou écrit) très rapidement. Un effet secondaire de cette structure de système de fichiers était que, au fur et à mesure que les fichiers étaient créés et supprimés sur un volume au fil du temps, les blocs de disque inutilisés ne resteraient probablement pas contigus , ce qui pourrait devenir le facteur limitant dans la création de fichiers volumineux ; le remède consistait à « presser » (ou « écraser ») périodiquement un disque pour consolider les parties inutilisées.

Chaque volume n'a qu'un seul répertoire qui a été préalloué au début du volume. Le répertoire se compose d'un tableau d'entrées, une par fichier ou espace non alloué. Chaque entrée de répertoire contient 8 (ou plus) mots de 16 bits, bien qu'une option sysgen permette un stockage supplémentaire spécifique à l'application.

Compatibilité avec d'autres systèmes d'exploitation DEC

De nombreux programmes RT11 (ceux qui n'avaient pas besoin de périphériques spécialisés ou d'accès direct au matériel) pouvaient être exécutés directement en utilisant le RT11 RTS ( Run-time system ) du système de partage de temps RSTS/E ou sous RTEM (RT Emulator) sur différentes versions de à la fois RSX-11 et VMS .

L'implémentation de DCL pour RT-11 a augmenté sa compatibilité avec les autres systèmes d'exploitation DEC. Bien que chaque système d'exploitation ait des commandes et des options qui étaient uniques à ce système d'exploitation, il y avait un certain nombre de commandes et d'options de commande qui étaient communes.

Autres systèmes d'exploitation PDP-11

DEC a également vendu RSX-11 , un système d'exploitation multi-utilisateurs et multitâche avec des fonctionnalités en temps réel, et RSTS/E (initialement nommé RSTS-11) un système multi-utilisateurs en temps partagé, mais RT-11 est resté le système d'exploitation de choix pour les systèmes d' acquisition de données où une réponse en temps réel était requise. Le système d' exploitation Unix est également devenu populaire, mais il manquait les fonctionnalités en temps réel et la taille extrêmement petite du RT-11.

Matériel

RT-11 fonctionnait sur tous les membres de la famille DEC PDP-11, à la fois Q-Bus et Unibus , depuis le PDP-11/05 (sa première cible, en 1970), jusqu'aux implémentations finales du PDP-11 (PDP -11/93 et ​​/94). De plus, il fonctionnait sur les systèmes Professional Series et PDT-11 "Programmed Data Terminal", également de DEC. Étant donné que l'architecture PDP-11 a été mise en œuvre dans des produits de remplacement par d'autres sociétés (par exemple, le M100 et la famille de Mentec ), ou sous forme de clones d'ingénierie inverse dans d'autres pays (par exemple, le DVK de l'Union soviétique), RT-11 fonctionne sur ces machines aussi.

Périphériques

L'ajout de la prise en charge du pilote pour les périphériques tels qu'un traceur CalComp impliquait généralement la copie de fichiers et ne nécessitait pas de SYSGEN.

Systèmes d'exploitation compatibles

Boule de neige

Fuzzball , logiciel de routage pour les protocoles Internet , était capable d'exécuter des programmes RT-11.

PARTAGERplus

HAMMONDsoftware a distribué un certain nombre de systèmes d'exploitation compatibles RT-11, notamment STAReleven, un des premiers systèmes multi-ordinateurs et SHAREplus, une implémentation multi-processus / multi-utilisateurs de RT-11 qui a emprunté certains concepts architecturaux du système d' exploitation VAX / VMS . Les pilotes de périphérique RT-11 étaient nécessaires pour le fonctionnement. L'accès transparent des périphériques à d'autres PDP-11 et VAX/VMS était pris en charge avec une option réseau. Une compatibilité limitée des applications RSX-11 était également disponible. SHAREplus avait sa base d'utilisateurs la plus importante en Europe.

TSX-11

TSX-11 , développé par S&H Computing, était une implémentation multi-utilisateur et multi-traitement de RT-11. La seule chose qu'il n'a pas fait était de gérer le processus d'amorçage, donc toute machine TSX-Plus devait d'abord démarrer RT-11 avant d'exécuter TSX-Plus en tant que programme utilisateur. Une fois TSX-Plus en marche, il prendrait le contrôle complet de la machine à partir de RT-11. Il offrait une véritable protection de la mémoire aux utilisateurs par rapport aux autres utilisateurs, fournissait des comptes d'utilisateurs et maintenait la séparation des comptes sur les volumes de disque et implémentait un surensemble des demandes programmées RT-11 EMT.

S&H a écrit le TSX original parce que "Dépenser 25 000 $ sur un ordinateur qui ne pouvait prendre en charge qu'un seul utilisateur a buggé" (fondateur Harry Sanders); le résultat a été le TSX initial à quatre utilisateurs en 1976. TSX-Plus (publié en 1980) était le successeur de TSX, publié en 1976. Le système était populaire dans les années 1980. Les programmes RT-11 fonctionnaient généralement, sans modification, sous TSX-Plus et, en fait, la plupart des utilitaires RT-11 étaient utilisés tels quels sous TSX-Plus. Les pilotes de périphériques ne nécessitaient généralement que de légères modifications.

Selon le modèle de PDP-11 et la quantité de mémoire, le système peut prendre en charge un minimum de 12 utilisateurs (14-18 utilisateurs sur un 2Mb 11/73, selon la charge de travail). La dernière version de TSX-Plus supportait TCP/IP .

Versions

Variantes

Les utilisateurs pouvaient choisir parmi quatre variantes avec différents niveaux de prise en charge du multitâche :

  • RT-11SJ (Single Job) n'autorisait qu'une seule tâche. C'était la distribution initiale.
  • RT-11FB (Premier plan / Arrière-plan) a pris en charge deux tâches: un travail "Premier plan" hautement prioritaire et non interactif, et un travail "Arrière-plan" interactif à faible priorité.
  • RT-11XM (eXtended Memory), un sur-ensemble de FB, prenait en charge la mémoire au-delà de 64 Ko, mais nécessitait un mini-ordinateur avec du matériel de gestion de la mémoire ; distribué d'env. 1975-sur.
  • RT-11ZM a pris en charge les systèmes avec un espace d'instructions et de données séparé (comme sur le 11/44 , 45, 55, 70, 84 et 94 basé sur Unibus et le 11/53, 73 , 83, basé sur Q-Bus , et 93)

Versions spécialisées

Plusieurs systèmes spécialisés PDP-11 ont été vendus sur la base du RT-11 :

  • LAB-11 a fourni un périphérique analogique LPS-11 pour la collecte de données de laboratoire
  • PEAK-11 a fourni une personnalisation supplémentaire pour une utilisation avec des chromatographes en phase gazeuse (en analysant les pics produits par le GC) ; la collecte de données s'est déroulée au premier plan de RT11 tandis que les programmes d'analyse de données de l'utilisateur s'exécutaient en arrière-plan.
  • Les systèmes GT4x ont ajouté un périphérique graphique vectoriel VT11. Plusieurs programmes de démonstration très populaires ont été fournis avec ces systèmes, notamment Lunar Lander et une version de Spacewar! .
  • Les systèmes GT62 ont ajouté un périphérique graphique vectoriel VS60 (compatible VT11) dans une armoire à crédence.
  • GAMMA-11 était un système RT-11 et PDP 11/34 intégré qui était l'un des premiers systèmes de médecine nucléaire entièrement intégrés. Il comprenait des convertisseurs analogiques / numériques rapides, des affichages graphiques couleur 16 bits et une vaste bibliothèque de logiciels pour le développement d'applications à des fins de collecte, d'analyse et d'affichage de données à partir d'une gamma caméra de médecine nucléaire .

Clones en URSS

Plusieurs clones de RT-11 ont été fabriqués en URSS :

Voir également

Les références

Liens externes