Perifer utvekslingsprogram - Peripheral Interchange Program
| Originale forfatter (e) | Digital Equipment Corporation / Harrison "Dit" Morse |
|---|---|
| Utvikler (er) | Digital Research / Gary Kildall , Heath Company |
| Første utgivelse | 1960 -tallet |
| Operativsystem | BATCH-11/DOS-11 , RT-11 , RSTS/E , RSX-11 , OS/8 , TOPS-10 , TOPS-20 , CP/M , MP/M , DOS Plus , HDOS |
| Type | Kommando |
Peripheral Interchange Program (PIP) var et verktøy for å overføre filer på og mellom enheter på Digital Equipment Corporation sine datamaskiner. Den ble først implementert på PDP-6- arkitekturen av Harrison "Dit" Morse tidlig på 1960-tallet. Den ble deretter implementert for DECs operativsystemer for PDP-10 , PDP-11 og PDP-8 arkitekturer. På 1970- og 1980 -tallet implementerte Digital Research PIP på CP/M og MP/M .
Historie
Det sies at den under utviklingen fikk navnet ATLATL, som er et akronym for "Anything, Lord to Anything, Lord." Dette beskrev humoristisk både formålet som et enhetsuavhengig filkopieringsverktøy og vanskelighetene på det tidspunktet å trygt kopiere filer mellom enheter.
Den opprinnelige PIP -syntaksen var
PIP destination←source /switches
ved å bruke pilene til venstre fra ASCII -1963 -tegnsettet som Flexowriter -tastaturene for tiden brukte. Etter hvert som andre terminaler ble introdusert som brukte senere versjoner av ASCII (uten venstre pil), tillot PIP syntaksen
PIP destination=source
Den strek ( _ ) karakter, som var i den samme ASCII tegnposisjon som venstre pil var opptatt, ble fortsatt understøttet for å separere de destinasjons- og kilde spesifikasjonene.
Kilde og destinasjon var filspesifikasjonsstrenger . Disse besto av et enhetsnavn, vanligvis 2 tegn for enhetstype, for eksempel DK (disk), LP (linjeskriver), MT (magnetbånd), etc. og et enhetsnummer fra 0 til 7, et kolon (:), filnavn og forlengelse.
Kopiering var vanligvis tillatt mellom alle filspesifikasjoner til andre der det var fornuftig.
Tidlige versjoner av VAX/VMS implementerte visse DCL- kommandoer, for eksempel DIRECTORY og RENAME , ved å kjøre RSX-11M PIP i kompatibilitetsmodus. Denne bruken av PIP ble erstattet av VAX-spesifikk kode i VAX/VMS 2.0, men PIP forble som en del av VAX-11 RSX-lagdelt produkt for VMS.
Så sent som på midten av 1980-tallet var PIP fremdeles i vanlig bruk på TOPS-10 , TOPS-20 og PDP-11 systemer.
PIP i CP/M og MP/M
Gary Kildall , som utviklet CP/M og MP/M , baserte mye av utformingen av filstrukturen og kommandoprosessoren på operativsystemer fra digitalt utstyr, for eksempel RSTS/E for PDP-11. Foruten tilgang til filer på en diskett , kan PIP -kommandoen i CP/M også overføre data til og fra følgende "spesialfiler":
- CON: - konsoll (inngang og utgang)
- AUX: - en tilleggsenhet. I CP/M 1 og 2 brukte PIP PUN: (papirbåndstans) og RDR: (papirbåndleser) i stedet for AUX:
- LST: - liste utskriftsenhet, vanligvis skriveren
- PRN: - som LST:, men linjer ble nummerert, faner utvidet og formfeeder lagt til hver 60 linje
- NUL: - null -enhet, i likhet med \ Device \ Null og /dev /null
- EOF: -inndataenhet som produserte end-of-file- tegn, ASCII 0x1A
- INP: - tilpasset inndataenhet, som standard det samme som EOF:
- PUN: - slagkort enhet:
- OUT: - tilpasset utdataenhet, som standard det samme som NUL:
Dette var imidlertid ikke sanne enhetsfiler fordi håndteringen var begrenset til PIP. De to tilpassede enhetene INP: og OUT: ble implementert som samtaler til faste steder ved starten av PIP -programmet; intensjonen var at brukeren, eller OEM -en , kunne lappe disse stedene for å legge til sine egne input- eller output -enheter. 246 byte ledig plass var igjen i programmet for dette formålet.
I tillegg til den vanlige PIP destination=sourcesyntaksen, tillot PIP under CP/M fortsatt den gamle PIP destination_sourceformen. Denne oppførselen ble ikke dokumentert, og CP/M hadde vanligvis ikke en standard for hvilke tegn som kunne vises i filnavn; Derfor kunne og gjorde andre programmer filnavn som inneholder understrektegn, som PIP ikke kunne håndtere.
Se også
- kopi (kommando) -RT-11, RSX-11, OpenVMS, AmigaOS, DOS, OS/2 og Microsoft Windows-kommando for kopiering av data
- cp (Unix) - Unix -kommando for kopiering av data
- Kermit (protokoll)