Programme d'échange de périphériques - Peripheral Interchange Program

Programme d'échange de périphériques (PIP)
Auteur(s) original(aux) Digital Equipment Corporation / Harrison "Dit" Morse
Développeur(s) Recherche numérique / Gary Kildall , Heath Company
Première version années 1960 ; il y a 60 ans ( années 1960 )
Système opérateur BATCH-11/DOS-11 , RT-11 , RSTS/E , RSX-11 , OS/8 , TOPS-10 , TOPS-20 , CP/M , MP/M , DOS Plus , HDOS
Taper Commander

Le programme d'échange de périphériques (PIP) était un utilitaire permettant de transférer des fichiers sur et entre des appareils sur les ordinateurs de Digital Equipment Corporation . Il a été implémenté pour la première fois sur l' architecture PDP-6 par Harrison "Dit" Morse au début des années 1960. Il a ensuite été implémenté pour les systèmes d'exploitation de DEC pour les architectures PDP-10 , PDP-11 et PDP-8 . Dans les années 1970 et 1980, Digital Research a mis en œuvre le PIP sur CP/M et MP/M .

Histoire

On dit qu'au cours du développement, il a été nommé ATLATL, qui est un acronyme pour "Anything, Lord to Anything, Lord". Cela décrivait avec humour à la fois son objectif en tant qu'outil de copie de fichiers indépendant de l'appareil et les difficultés rencontrées pour copier en toute sécurité des fichiers entre appareils.

La syntaxe PIP d'origine était

PIP destination←source /switches

en utilisant le caractère flèche gauche du jeu de caractères ASCII -1963 que les claviers Flexowriter de l'époque utilisaient. Comme d'autres terminaux ont été introduits qui utilisaient des versions ultérieures d'ASCII (sans le caractère flèche gauche), PIP a permis la syntaxe

PIP destination=source

Le caractère de soulignement ( _ ), qui se trouvait à la même position de caractère ASCII que la flèche gauche, était toujours pris en charge pour séparer les spécifications de destination et de source.

La source et la destination étaient des chaînes de spécification de fichier . Ceux-ci consistaient en un nom de périphérique, généralement 2 caractères pour le type de périphérique tel que DK (disque), LP (imprimante ligne), MT (bande magnétique), etc. et un numéro d'unité de 0 à 7, deux points (:), nom de fichier et rallonge.

La copie était généralement autorisée entre n'importe quelle spécification de fichier et n'importe quelle autre lorsque cela avait du sens.

Les premières versions de VAX/VMS implémentaient certaines commandes DCL , telles que DIRECTORY et RENAME , en exécutant RSX-11M PIP en mode de compatibilité. Cette utilisation de PIP a été remplacée par un code spécifique à VAX dans VAX/VMS 2.0, mais PIP est resté dans le cadre du produit en couches VAX-11 RSX pour VMS.

Jusqu'au milieu des années 1980, le PIP était encore couramment utilisé sur les systèmes TOPS-10 , TOPS-20 et PDP-11 .

PIP en CP/M et MP/M

PIP.CMDdans CP/M-86
Exemple d'utilisation de la PIPcommande dans DOS Plus pour créer un fichier texte à partir de CON : entrée de la console

Gary Kildall , qui a développé CP/M et MP/M , a basé une grande partie de la conception de sa structure de fichiers et de son processeur de commandes sur les systèmes d'exploitation de Digital Equipment, tels que RSTS/E pour le PDP-11. Outre l'accès aux fichiers sur une disquette , la commande PIP dans CP/M peut également transférer des données vers et depuis les "fichiers spéciaux" suivants :

  • CON:console (entrée et sortie)
  • AUX : — un appareil auxiliaire. Dans CP/M 1 et 2, PIP a utilisé PUN : (perforateur de bande de papier) et RDR : (lecteur de bande de papier) au lieu de AUX :
  • LST : — liste le périphérique de sortie, généralement l' imprimante
  • PRN : — comme LST : , mais les lignes ont été numérotées, les onglets étendus et les sauts de page ajoutés toutes les 60 lignes
  • NUL : — périphérique null, semblable à \Device\Null et /dev/null
  • EOF : — périphérique d'entrée qui a produit des caractères de fin de fichier , ASCII 0x1A
  • INP : — périphérique d'entrée personnalisé, par défaut identique à EOF :
  • NIP : — unité de carte perforée :
  • OUT : — périphérique de sortie personnalisé, par défaut identique à NUL :

Cependant, il ne s'agissait pas de vrais fichiers de périphérique , car leur traitement était limité à PIP. Les deux dispositifs personnalisés INP : et OUT : ont été implémentés en tant qu'appels vers des emplacements fixes au début du programme PIP ; l'intention était que l'utilisateur, ou l' OEM , puisse patcher ces emplacements pour ajouter leurs propres périphériques d'entrée ou de sortie. 246 octets d'espace libre ont été laissés dans le programme à cet effet.

En plus de la PIP destination=sourcesyntaxe habituelle , PIP sous CP/M autorisait toujours l'ancienne PIP destination_sourceforme. Ce comportement n'était pas documenté et CP/M n'avait généralement pas de norme pour laquelle les caractères pouvaient apparaître dans les noms de fichiers ; par conséquent, d'autres programmes pouvaient et ont créé des noms de fichiers contenant des caractères de soulignement, que PIP ne pouvait pas gérer.

Voir également

Les références