Programma di interscambio di periferiche - Peripheral Interchange Program

Programma di scambio periferico (PIP)
Autori originali Digital Equipment Corporation / Harrison "Dit" Morse
Sviluppatore/i Ricerca digitale / Gary Kildall , Heath Company
Versione iniziale anni '60 ; 60 anni fa ( anni '60 )
Sistema operativo BATCH-11/DOS-11 , RT-11 , RSTS/E , RSX-11 , OS/8 , TOPS-10 , TOPS-20 , CP/M , MP/M , DOS Plus , HDOS
Tipo Comando

Peripheral Interchange Program (PIP) era un'utilità per trasferire file su e tra dispositivi sui computer della Digital Equipment Corporation . È stato implementato per la prima volta sull'architettura PDP-6 da Harrison "Dit" Morse all'inizio degli anni '60. Successivamente è stato implementato per i sistemi operativi DEC per le architetture PDP-10 , PDP-11 e PDP-8 . Negli anni '70 e '80 Digital Research ha implementato la PIP su CP/M e MP/M .

Storia

Si dice che durante lo sviluppo sia stato chiamato ATLATL, che è l'acronimo di "Anything, Lord to Anything, Lord". Questo descriveva in modo umoristico sia il suo scopo come strumento di copia di file indipendente dal dispositivo , sia le difficoltà al momento della copia sicura dei file tra i dispositivi.

La sintassi PIP originale era

PIP destination←source /switches

utilizzando il carattere freccia sinistra del set di caratteri ASCII -1963 utilizzato dalle tastiere Flexowriter dell'epoca. Poiché sono stati introdotti altri terminali che utilizzavano versioni successive di ASCII (senza il carattere freccia sinistra), PIP ha consentito la sintassi

PIP destination=source

Il carattere di sottolineatura ( _ ), che si trovava nella stessa posizione del carattere ASCII occupata dalla freccia sinistra, era ancora supportato per separare le specifiche di destinazione e di origine.

L'origine e la destinazione erano stringhe di specifica del file . Questi consistevano in un nome del dispositivo, in genere 2 caratteri per il tipo di dispositivo come DK (disco), LP (stampante in linea), MT (nastro magnetico), ecc. e un numero di unità da 0 a 7, due punti (:), nome del file ed estensione.

La copia era generalmente consentita tra qualsiasi specifica di file e qualsiasi altra dove avesse senso.

Le prime versioni di VAX/VMS implementavano alcuni comandi DCL , come DIRECTORY e RENAME , eseguendo RSX-11M PIP in modalità di compatibilità. Questo utilizzo di PIP è stato sostituito dal codice specifico VAX in VAX/VMS 2.0, ma PIP è rimasto come parte del prodotto a strati VAX-11 RSX per VMS.

Fino alla metà degli anni '80, PIP era ancora in uso comune sui sistemi TOPS-10 , TOPS-20 e PDP-11 .

PIP in CP/M e MP/M

Image
PIP.CMDin CP/M-86
Image
Esempio utilizzando il PIPcomando in DOS Plus per creare un file di testo da CON: input console

Gary Kildall , che ha sviluppato CP/M e MP/M , ha basato gran parte del design della sua struttura di file e del processore di comando sui sistemi operativi di Digital Equipment, come RSTS/E per il PDP-11. Oltre ad accedere ai file su un floppy disk , il comando PIP in CP/M potrebbe anche trasferire dati da e verso i seguenti "file speciali":

  • CON:console (input e output)
  • AUX: — un dispositivo ausiliario. In CP/M 1 e 2, PIP utilizzava PUN: (perforatore di nastro di carta) e RDR: (lettore di nastro di carta) invece di AUX:
  • LST: — elenca il dispositivo di output, solitamente la stampante
  • PRN: — come LST: , ma le righe sono state numerate, le schede espanse e i feed di moduli aggiunti ogni 60 righe
  • NUL: — dispositivo nullo, simile a \Device\Null e /dev/null
  • EOF: — dispositivo di input che ha prodotto caratteri di fine file , ASCII 0x1A
  • INP: — dispositivo di input personalizzato, per impostazione predefinita uguale a EOF:
  • PUN: — unità scheda perforata:
  • OUT: — dispositivo di output personalizzato, per impostazione predefinita uguale a NUL:

Questi non erano veri file di dispositivo , tuttavia, perché la loro gestione era limitata al PIP. I due dispositivi custom INP: e OUT: sono stati implementati come chiamate verso postazioni fisse all'inizio del programma PIP; l'intenzione era che l'utente, o l' OEM , potesse patchare queste posizioni per aggiungere i propri dispositivi di input o output. A questo scopo nel programma sono stati lasciati 246 byte di spazio libero.

Oltre alla consueta PIP destination=sourcesintassi, PIP sotto CP/M consentiva ancora la vecchia PIP destination_sourceforma. Questo comportamento non era documentato e CP/M generalmente non aveva uno standard per il quale i caratteri potessero apparire nei nomi dei file; quindi altri programmi potevano e creavano nomi di file contenenti caratteri di sottolineatura, che PIP non poteva gestire.

Guarda anche

Riferimenti