Peripheral Interchange Program (PIP) era una utilidad para transferir archivos en y entre dispositivos en las computadoras de Digital Equipment Corporation . Fue implementado por primera vez en la arquitectura PDP-6 por Harrison "Dit" Morse a principios de la década de 1960. Posteriormente se implementó para los sistemas operativos de DEC para arquitecturas PDP-10 , PDP-11 y PDP-8 [1] . En los años 1970 y 1980 Digital Research implementa PIP en CP / M [2] y MP / M . [3]
Autor (es) original (es) | Corporación de equipos digitales / Harrison "Dit" Morse |
---|---|
Desarrollador (es) | Investigación digital / Gary Kildall , Heath Company |
Versión inicial | 1960 |
Sistema operativo | LOTE-11 / DOS-11 , RT-11 , RSTS / E , RSX-11 , OS / 8 , TOPS-10 , TOPS-20 , CP / M , MP / M , DOS Plus , HDOS |
Tipo | Mando |
Historia
Se dice que durante el desarrollo se llamó ATLATL, que es un acrónimo de "Anything, Lord to Anything, Lord". [4] Esto describió con humor tanto su propósito como una herramienta de copia de archivos independiente del dispositivo y las dificultades en el momento de copiar archivos de forma segura entre dispositivos.
La sintaxis de PIP original era
Destino PIP ← fuente / conmutadores
utilizando el carácter de flecha izquierda del conjunto de caracteres ASCII -1963 que utilizaban los teclados Flexowriter de la época. A medida que se introdujeron otros terminales que usaban versiones posteriores de ASCII (sin el carácter de flecha izquierda), PIP permitió la sintaxis
Destino PIP = fuente
El carácter de subrayado ( _ ), que estaba en la misma posición de carácter ASCII que ocupaba la flecha izquierda, todavía se admitía para separar las especificaciones de origen y destino.
El origen y el destino eran cadenas de especificación de archivos . Estos consistían en un nombre de dispositivo, generalmente 2 caracteres para el tipo de dispositivo, como DK (disco), LP (impresora de línea), MT (cinta magnética), etc. y un número de unidad de 0 a 7, dos puntos (:), nombre de archivo y extensión.
En general, se permitía la copia entre cualquier especificación de archivo a cualquier otra donde tuviera sentido.
Las primeras versiones de VAX / VMS implementaron ciertos comandos DCL , como DIRECTORY y RENAME , ejecutando RSX-11M PIP en modo de compatibilidad. Este uso de PIP fue reemplazado por código específico de VAX en VAX / VMS 2.0, [5] pero PIP permaneció como parte del producto en capas VAX-11 RSX para VMS. [6]
A mediados de la década de 1980, PIP todavía se usaba comúnmente en los sistemas TOPS-10 , TOPS-20 y PDP-11 .
PIP en CP / M y MP / M
Gary Kildall , quien desarrolló CP / M y MP / M , basó gran parte del diseño de su estructura de archivos y procesador de comandos en sistemas operativos de Digital Equipment, como RSTS / E para el PDP-11. Además de acceder a archivos en un disquete , el comando PIP en CP / M también podría transferir datos hacia y desde los siguientes "archivos especiales":
- CON: - consola (entrada y salida)
- AUX: - un dispositivo auxiliar. En CP / M 1 y 2, se utiliza PIP PUN: (perforadora de cinta de papel) y RDR: (lector de cinta de papel) en lugar de AUX:
- LST: lista el dispositivo de salida, normalmente la impresora
- PRN: - como LST:, pero las líneas se numeraron, las pestañas se expandieron y los formularios se agregaron cada 60 líneas
- NUL: - dispositivo nulo, similar a \ Device \ Null y / dev / null
- EOF: - dispositivo de entrada que produjo caracteres de fin de archivo , ASCII0x1A
- INP: - dispositivo de entrada personalizado, por defecto el mismo que EOF:
- PUN: - unidad de tarjeta perforada:
- OUT: - dispositivo de salida personalizado, por defecto lo mismo que NUL:
Sin embargo, estos no eran archivos de dispositivo verdaderos porque su manejo se limitaba a PIP. Los dos dispositivos personalizados INP: y OUT: se implementaron como llamadas a ubicaciones fijas al inicio del programa PIP; la intención era que el usuario, o el OEM , pudiera parchear estas ubicaciones para agregar sus propios dispositivos de entrada o salida. Se dejaron 246 bytes de espacio libre en el programa para este propósito.
Además de la PIP destination=source
sintaxis habitual , PIP en CP / M todavía permitía la PIP destination_source
forma anterior. Este comportamiento no se documentó y CP / M generalmente no tenía un estándar para el cual los caracteres pudieran aparecer en los nombres de los archivos; por lo tanto, otros programas podían crear y crearon nombres de archivo que contenían caracteres de subrayado, que PIP no podía manejar.
Ver también
- copiar (comando) - RT-11, RSX-11, OpenVMS, AmigaOS, DOS, OS / 2 y comando de Microsoft Windows para copiar datos
- cp (Unix) : comando de Unix para copiar datos
- Kermit (protocolo)
Referencias
- ^ OS / 8 , Manual de referencia del sistema OS / 8
- ^ CP / M , Manual del sistema operativo CP / M
- ^ MP / M , MP / M Operating System User's Guide (Guía del usuario del sistema operativo MP / M , MP / M)
- ^ PIP , el archivo de jerga
- ^ "Notas de la versión de VAX / VMS versión 2.0" (PDF) .
- ^ "Descripción del producto del software VAX-11 RSX" .