Peripheral Interchange Program
Encyclopedia
Peripheral Interchange Program (PIP) was a utility to transfer files on and between devices on Digital Equipment Corporation
's computers. It was first implemented on the PDP-6
architecture by Harrison "Dit" Morse early in the 1960s. It was subsequently implemented for DEC's operating systems for PDP-10
and PDP-11
architectures.
tool and the difficulties at the time of safely copying files between devices.
The original PIP syntax was
as the Flexowriter
keyboards of the time, which used ASCII
-1963, had the left-arrow symbol in their character set; as other terminals that used later versions of ASCII, lacking the left-arrow, were introduced, PIP allowed the syntax
The underscore (
) character, which was in the ASCII position that left-arrow had occupied, was still supported to separate the destination and source specifications.
The PDP-11 versions supported the of ""greater-than"" and ""less-than"" signs as the separator and switches to modify the operation.
Source and destination were ""file specification"" strings. These consisted of a device name, typically 2 characters for device type such as DK (disk), LP (line printer), MT (magnetic tape), etc. and a unit number from 0 to 7, a colon (:), filename and extension.
Copying was generally permitted between any filespec to any other where it made sense.
As late as the mid 1980s, PIP was still in common use on TOPS-10
, TOPS-20
and PDP-11
systems.
, who developed CP/M
, based much of the design of its file structure and command processor on operating systems from Digital Equipment, such as RSTS/E
for the PDP-11. Besides accessing files on a floppy disk
, the PIP command in CP/M could also transfer data to and from the following "special files":
These were not true device files, however, because their handling was limited to PIP. The two custom devices INP: and OUT: were implemented as calls to fixed locations at the start of the PIP program; the intention was that the user, or the OEM
, could patch these locations to add their own input or output devices. 246 bytes of free space were left in the program for this purpose.
In addition to the usual PIP destination=source syntax, PIP under CP/M still allowed the old PIP destination_source form. This behaviour was not documented, and CP/M generally did not have a standard for which characters could appear in file names; therefore other programs could and did create filenames containing underscore characters, which PIP could not handle.
Digital Equipment Corporation
Digital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...
's computers. It was first implemented on the PDP-6
PDP-6
The PDP-6 was a computer model developed by Digital Equipment Corporation in 1963. It was influential primarily as the prototype for the later PDP-10; the instruction sets of the two machines are almost identical.The PDP-6 was DEC's first "big" machine...
architecture by Harrison "Dit" Morse early in the 1960s. It was subsequently implemented for DEC's operating systems for PDP-10
PDP-10
The PDP-10 was a mainframe computer family manufactured by Digital Equipment Corporation from the late 1960s on; the name stands for "Programmed Data Processor model 10". The first model was delivered in 1966...
and PDP-11
PDP-11
The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s, one of a succession of products in the PDP series. The PDP-11 replaced the PDP-8 in many real-time applications, although both product lines lived in parallel for more than 10 years...
architectures.
History
It is said that during development it was named ATLATL, which is an acronym for "Anything, Lord to Anything, Lord." This humorously described both its purpose as a device-independent file copyingFile copying
In the realm of computer file management, file copying is the creation of a new file which has the same content as an existing file.All computer operating systems include file copying provisions in the user interface, like the command, "cp" in Unix and "copy" in MS-DOS; operating systems with a...
tool and the difficulties at the time of safely copying files between devices.
The original PIP syntax was
PIP destination←source /switches
as the Flexowriter
Friden Flexowriter
The Friden Flexowriter was a teleprinter, a heavy duty electric typewriter capable of being driven not only by a human typing, but also automatically by several methods including direct attachment to a computer and by use of paper tape....
keyboards of the time, which used ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...
-1963, had the left-arrow symbol in their character set; as other terminals that used later versions of ASCII, lacking the left-arrow, were introduced, PIP allowed the syntax
PIP destination=source
The underscore (
Underscore
The underscore [ _ ] is a character that originally appeared on the typewriter and was primarily used to underline words...
) character, which was in the ASCII position that left-arrow had occupied, was still supported to separate the destination and source specifications.
The PDP-11 versions supported the of ""greater-than"" and ""less-than"" signs as the separator and switches to modify the operation.
PIP destination PIP source>destination /switch:switchvalue
Source and destination were ""file specification"" strings. These consisted of a device name, typically 2 characters for device type such as DK (disk), LP (line printer), MT (magnetic tape), etc. and a unit number from 0 to 7, a colon (:), filename and extension.
Copying was generally permitted between any filespec to any other where it made sense.
As late as the mid 1980s, PIP was still in common use on TOPS-10
TOPS-10
The TOPS-10 System was a computer operating system from Digital Equipment Corporation for the PDP-10 mainframe computer launched in 1967...
, TOPS-20
TOPS-20
The TOPS-20 operating system by Digital Equipment Corporation was the second proprietary OS for the PDP-10 mainframe computer. TOPS-20 began in 1969 as the TENEX operating system of Bolt, Beranek and Newman...
and PDP-11
PDP-11
The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s, one of a succession of products in the PDP series. The PDP-11 replaced the PDP-8 in many real-time applications, although both product lines lived in parallel for more than 10 years...
systems.
PIP in CP/M
Gary KildallGary Kildall
Gary Arlen Kildall was an American computer scientist and microcomputer entrepreneur who created the CP/M operating system and founded Digital Research, Inc....
, who developed CP/M
CP/M
CP/M was a mass-market operating system created for Intel 8080/85 based microcomputers by Gary Kildall of Digital Research, Inc...
, based much of the design of its file structure and command processor on operating systems from Digital Equipment, such as RSTS/E
RSTS/E
RSTS is a multi-user time-sharing operating system, developed by Digital Equipment Corporation , for the PDP-11 series of 16-bit minicomputers. The first version of RSTS was implemented in 1970 by DEC software engineers that developed the TSS-8 time-sharing operating system for the PDP-8...
for the PDP-11. Besides accessing files on a floppy disk
Floppy disk
A floppy disk is a disk storage medium composed of a disk of thin and flexible magnetic storage medium, sealed in a rectangular plastic carrier lined with fabric that removes dust particles...
, the PIP command in CP/M could also transfer data to and from the following "special files":
- CON: — console (input and output)
- AUX: — an auxiliary device. In CP/M 1 and 2, PIP used PUN: (paper tape punch) and RDR: (paper tape reader) instead of AUX:
- LST: — list output device, usually the printerComputer printerIn computing, a printer is a peripheral which produces a text or graphics of documents stored in electronic form, usually on physical print media such as paper or transparencies. Many printers are primarily used as local peripherals, and are attached by a printer cable or, in most new printers, a...
- PRN: — as LST:, but lines were numbered, tabs expanded and form feeds added every 60 lines
- NUL:NUL:In the CP/M, DOS, and Microsoft Windows operating systems, the name NUL: or simply NUL designates a special file that discards all data written to it , and provides no data to any process that reads from it .In the Windows NT system and its successors, it is named \Device\Null internally, and the...
— null device, akin to /dev/null/dev/nullIn Unix-like operating systems, /dev/null or the null device is a special file that discards all data written to it and provides no data to any process that reads from it .... - EOF: — input device that produced end-of-fileEnd-of-fileIn computing, end of file is a condition in a computer operating system where no more data can be read from a data source...
characters, ASCIIASCIIThe American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...
0x1A - INP: — custom input device, by default the same as EOF:
- OUT: — custom output device, by default the same as NUL:
These were not true device files, however, because their handling was limited to PIP. The two custom devices INP: and OUT: were implemented as calls to fixed locations at the start of the PIP program; the intention was that the user, or the OEM
Original Equipment Manufacturer
An original equipment manufacturer, or OEM, manufactures products or components that are purchased by a company and retailed under that purchasing company's brand name. OEM refers to the company that originally manufactured the product. When referring to automotive parts, OEM designates a...
, could patch these locations to add their own input or output devices. 246 bytes of free space were left in the program for this purpose.
In addition to the usual PIP destination=source syntax, PIP under CP/M still allowed the old PIP destination_source form. This behaviour was not documented, and CP/M generally did not have a standard for which characters could appear in file names; therefore other programs could and did create filenames containing underscore characters, which PIP could not handle.
See also
- copy (command)Copy (command)In computing, copy is a command in RT-11, RSX-11, OpenVMS, DOS, OS/2 and Microsoft Windows operating systems. The command copies computer files from one directory to another. The destination defaults to the current working directory. If more than one source file is indicated, the destination must...
– RT-11, RSX-11, OpenVMS, DOS, OS/2 and Microsoft Windows command for copying data - cp (Unix)Cp (Unix)cp is a UNIX command used to copy a file. Files can be copied either to the same directory or to a completely different directory, possibly on a different file system or hard disk drive. If the file is copied to the same directory, the new file must have a different name to the original; in all...
– Unix command for copying data - Kermit (protocol)Kermit (protocol)Kermit is a computer file transfer/management protocol and a set of communications software tools primarily used in the early years of personal computing in the 1980s; it provides a consistent approach to file transfer, terminal emulation, script programming, and character set conversion across...