HOME

TheInfoList



OR:

Peripheral Interchange Program (PIP) was a utility to transfer files on and between devices on
Digital Equipment Corporation Digital Equipment Corporation (DEC ), using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president until ...
's computers. It was first implemented on the
PDP-6 The PDP-6, short for Programmed Data Processor model 6, is a computer developed by Digital Equipment Corporation (DEC) during 1963 and first delivered in the summer of 1964. It was an expansion of DEC's existing 18-bit systems to use a 36-bit da ...
architecture by Harrison "Dit" Morse early in the 1960s. It was subsequently implemented for DEC's operating systems for
PDP-10 Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, especi ...
, PDP-11, and PDP-8 architectures. In the 1970s and 1980s
Digital Research Digital Research, Inc. (DR or DRI) was a privately held American software company created by Gary Kildall to market and develop his CP/M operating system and related 8-bit, 16-bit and 32-bit systems like MP/M, Concurrent DOS, FlexOS, Multiuser ...
implemented PIP on
CP/M CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/Intel 8085, 85-based microcomputers by Gary Kildall of Digital Research, Dig ...
and MP/M.


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 copying tool and the difficulties at the time of safely copying files between devices. The original PIP syntax was PIP destination←source /switches using the left-arrow character from the
ASCII ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
-1963 character set that the Flexowriter keyboards of the time used. As other terminals were introduced that used later versions of ASCII (without the left-arrow character), PIP allowed the syntax PIP destination=source The
underscore An underscore or underline is a line drawn under a segment of text. In proofreading, underscoring is a convention that says "set this text in italic type", traditionally used on manuscript or typescript as an instruction to the printer. Its ...
( _) character, which was in the same ASCII character position that left-arrow had occupied, was still supported to separate the destination and source specifications. 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 file specification to any other where it made sense. Early versions of VAX/VMS implemented certain DCL commands, such as DIRECTORY and RENAME, by running RSX-11M PIP in compatibility mode. This usage of PIP was replaced by VAX-specific code in VAX/VMS 2.0, but PIP remained as part of the VAX-11 RSX layered product for VMS. As late as the mid-1980s, PIP was still in common use on TOPS-10, TOPS-20 and PDP-11 systems.


PIP in CP/M and MP/M

Gary Kildall Gary Arlen Kildall (; May 19, 1942 – July 11, 1994) was an American computer scientist and microcomputer entrepreneur. During the 1970s, Kildall created the CP/M operating system among other operating systems and programming tools, and s ...
, who developed
CP/M CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/Intel 8085, 85-based microcomputers by Gary Kildall of Digital Research, Dig ...
and MP/M, based much of the design of its file structure and command processor on operating systems from Digital Equipment, such as
RSTS/E RSTS () is a multi-user time-sharing operating system developed by Digital Equipment Corporation (DEC, now part of Hewlett-Packard) for the PDP-11 series of 16-bit minicomputers. The first version of RSTS (RSTS-11, #Versions, Version 1) was implem ...
for the PDP-11. Besides accessing files on a
floppy disk A floppy disk or floppy diskette (casually referred to as a floppy, a diskette, or a disk) is a type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined with a ...
, the PIP command in CP/M could also transfer data to and from the following "special files": * —
console Console may refer to: Computing and video games * System console, a physical device to operate a computer ** Virtual console, a user interface for multiple computer consoles on one device ** Command-line interface, a method of interacting with ...
(input and output) * — an auxiliary device. In CP/M 1 and 2, PIP used (paper tape punch) and (paper tape reader) instead of * — list output device, usually the printer * — as , but lines were numbered, tabs expanded and form feeds added every 60 lines * — null device, akin to \Device\Null and /dev/null * — input device that produced end-of-file characters,
ASCII ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
* — custom input device, by default the same as * — punch card unit: * — custom output device, by default the same as These were not true
device file In Unix-like operating systems, a device file, device node, or special file is an interface to a device driver that appears in a file system as if it were an ordinary file. There are also special files in DOS, OS/2, and Windows. These s ...
s, however, because their handling was limited to PIP. The two custom devices and 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.


Reserved filenames in Microsoft Windows

The PIP program is the reason fo
reserved filenames
in Microsoft Windows: CON PRN AUX NUL COM0 COM1 COM2 COM3 COM4 COM5 COM6 COM7 COM8 COM9 LPT0 LPT1 LPT2 LPT3 LPT4 LPT5 LPT6 LPT7 LPT8 LPT9. This limitation is case-insensitive, and also applies to basenames. So for example, Con.txt is an invalid filename.


See also

* copy (command) – RT-11, RSX-11, OpenVMS, AmigaOS, DOS, OS/2 and Microsoft Windows command for copying data * cp (Unix) – Unix command for copying data * Kermit (protocol)


References

{{Digital Research CP/M software File copy utilities