Perifer utvekslingsprogram - Peripheral Interchange Program

Perifer utvekslingsprogram (PIP)
Originale forfatter (e) Digital Equipment Corporation / Harrison "Dit" Morse
Utvikler (er) Digital Research / Gary Kildall , Heath Company
Første utgivelse 1960 -tallet ; 60 år siden ( 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

Image
PIP.CMDi CP/M-86
Image
Eksempel på bruk av PIPkommandoen i DOS Plus for å lage en tekstfil fra CON: konsollinngang

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å

Referanser