Programma di interscambio di periferiche - Peripheral Interchange Program
| Autori originali | Digital Equipment Corporation / Harrison "Dit" Morse |
|---|---|
| Sviluppatore/i | Ricerca digitale / Gary Kildall , Heath Company |
| Versione iniziale | 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
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
- copy (comando) – Comando RT-11, RSX-11, OpenVMS, AmigaOS, DOS, OS/2 e Microsoft Windows per la copia dei dati
- cp (Unix) – Comando Unix per copiare i dati
- Kermit (protocollo)