Peripherieaustauschprogramm - Peripheral Interchange Program

Peripheral Interchange Program (PIP)
Originalautor(en) Digital Equipment Corporation / Harrison "Dit" Morse
Entwickler Digital Research / Gary Kildall , Heath Company
Erstveröffentlichung 1960er Jahre ; Vor 60 Jahren ( 1960er )
Betriebssystem BATCH-11/DOS-11 , RT-11 , RSTS/E , RSX-11 , OS/8 , TOPS-10 , TOPS-20 , CP/M , MP/M , DOS Plus , HDOS
Typ Befehl

Peripheral Interchange Program (PIP) war ein Dienstprogramm zum Übertragen von Dateien auf und zwischen Geräten auf Computern der Digital Equipment Corporation . Es wurde erstmals Anfang der 1960er Jahre von Harrison "Dit" Morse auf der PDP-6- Architektur implementiert . Es wurde anschließend für die Betriebssysteme von DEC für die Architekturen PDP-10 , PDP-11 und PDP-8 implementiert . In den 1970er und 1980er Jahren implementierte Digital Research PIP auf CP/M und MP/M .

Geschichte

Es wird gesagt, dass es während der Entwicklung ATLATL genannt wurde, was ein Akronym für "Anything, Lord to Anything, Lord" ist. Dieser humoristisch beschrieben sowohl sein Zweck als geräteunabhängige Dateikopierwerkzeug und die Schwierigkeiten , zum Zeitpunkt der sicheren Dateien zwischen den Geräten zu kopieren.

Die ursprüngliche PIP-Syntax war

PIP destination←source /switches

mit dem Pfeil nach links aus dem ASCII- 1963-Zeichensatz, den die Flexowriter- Tastaturen der Zeit verwendeten. Als andere Terminals eingeführt wurden, die spätere ASCII-Versionen (ohne den Pfeil nach links) verwendeten, erlaubte PIP die Syntax

PIP destination=source

Der Unterstrich ( _ ), der sich an derselben ASCII-Zeichenposition befand, die der Pfeil nach links eingenommen hatte, wurde weiterhin unterstützt, um die Ziel- und Quellspezifikationen zu trennen.

Quelle und Ziel waren Dateispezifikationszeichenfolgen . Diese bestanden aus einem Gerätenamen, typischerweise 2 Zeichen für den Gerätetyp wie DK (Diskette), LP (Zeilendrucker), MT (Magnetband) usw. und einer Gerätenummer von 0 bis 7, einem Doppelpunkt (:), Dateiname und Verlängerung.

Das Kopieren war im Allgemeinen zwischen jeder Dateispezifikation in eine andere zulässig, wo es sinnvoll war.

Frühe Versionen von VAX/VMS implementierten bestimmte DCL- Befehle wie DIRECTORY und RENAME , indem RSX-11M PIP im Kompatibilitätsmodus ausgeführt wurde. Diese Verwendung von PIP wurde in VAX/VMS 2.0 durch VAX-spezifischen Code ersetzt, aber PIP blieb als Teil des VAX-11 RSX-Schichtprodukts für VMS.

Noch Mitte der 1980er Jahre war PIP auf TOPS-10- , TOPS-20- und PDP-11- Systemen üblich.

PIP in CP/M und MP/M

Image
PIP.CMDin CP/M-86
Image
Beispiel für die Verwendung des PIPBefehls in DOS Plus zum Erstellen einer Textdatei aus CON: Konsoleneingabe

Gary Kildall , der CP/M und MP/M entwickelt hat , basierte einen Großteil des Designs seiner Dateistruktur und seines Befehlsprozessors auf Betriebssystemen von Digital Equipment, wie RSTS/E für den PDP-11. Neben dem Zugriff auf Dateien auf einer Diskette könnte der PIP-Befehl in CP/M auch Daten zu und von den folgenden "Spezialdateien" übertragen:

  • CON:Konsole (Eingabe und Ausgabe)
  • AUX: — ein Zusatzgerät. In CP/M 1 und 2 verwendete PIP PUN: (Papierstreifenstanze) und RDR: (Papierstreifenleser) anstelle von AUX:
  • LST: — Listenausgabegerät, normalerweise der Drucker
  • PRN: — wie LST: , aber Zeilen wurden nummeriert, Tabs erweitert und alle 60 Zeilen Seitenvorschübe hinzugefügt
  • NUL: — Null-Gerät, ähnlich wie \Device\Null und /dev/null
  • EOF: — Eingabegerät, das Dateiendezeichen erzeugt , ASCII 0x1A
  • INP: — benutzerdefiniertes Eingabegerät, standardmäßig dasselbe wie EOF:
  • PUN: — Lochkarteneinheit:
  • OUT: — benutzerdefiniertes Ausgabegerät, standardmäßig das gleiche wie NUL:

Dies waren jedoch keine echten Gerätedateien , da ihre Handhabung auf PIP beschränkt war. Die beiden benutzerdefinierten Geräte INP: und OUT: wurden zu Beginn des PIP-Programms als Rufe an feste Standorte implementiert; Die Absicht war, dass der Benutzer oder der OEM diese Speicherorte patchen konnte , um seine eigenen Eingabe- oder Ausgabegeräte hinzuzufügen. Dafür wurden im Programm 246 Byte freier Speicherplatz belassen.

Neben der üblichen PIP destination=sourceSyntax erlaubte PIP unter CP/M noch die alte PIP destination_sourceForm. Dieses Verhalten wurde nicht dokumentiert, und CP/M hatte im Allgemeinen keinen Standard, für den Zeichen in Dateinamen erscheinen könnten; daher konnten und taten andere Programme Dateinamen mit Unterstrichen, die PIP nicht verarbeiten konnte.

Siehe auch

Verweise