Programa de Intercambio entre Periféricos

Programa de Intercambio entre Periféricos (en inglés: Peripheral Interchange Program (PIP)) era un comando para transferir ficheros de datos en los ordenadores de Digital Equipment Corporation. La primera implementación se hizo en el PDP-6 en algún momento de la década de 1960. Posteriormente fue implementado en el DEC-10 y en el PDP-11.

Historia editar

El nombre original de PIP fue ATLATL, que era un acrónimo de "Anything Lord to Anything Lord" (en castellano: "Cualquier cosa, Señor, para Cualquier cosa, Señor"). Esto describe su propósito como herramienta de copia de ficheros independiente del dispositivo.

Después de algún uso, se dieron cuenta de que la sintaxis escrita:

PIP destino=fuente

estaba al revés respecto al uso común en Inglés. Así nació la sintaxis del comando:

COPY fuente destino

una de las docenas de utilidades que se encontraban en las máquinas PDP y DEC. Hasta mediados los 70, PIP aún se usaba frecuentemente, al mismo tiempo que su descendiente.

PIP en CP/M editar

Después de que Gary Kildall comenzara CP/M, añadió el comando PIP y el concepto de fichero. Además de acceder a los ficheros en un disquette, el PIP en CP/M también podía transferir datos a y desde los siguientes "ficheros especiales":

  • CON:consola (entrada y salida)
  • AUX: — un dispositivo auxiliar. En CP/M 1 y 2, PIP usó PUN: (paper tape punch (en castellano: perforador de cinta de papel)) y RDR: (paper tape reader (en castellano: lector de cinta de papel)) en lugar de AUX:.
  • LST: — dispositivo de salida en línea, normalmente la impresora
  • PRN: — como LST:, con el añadido de que tenía las líneas numeradas, los tabuladores expandidos y los saltos de página añadidos cada 60 líneas.
  • NUL: — dispositivo nulo, funcionando de forma análoga a /dev/zero para entrada y a /dev/null para salida
  • EOF: — dispositivo de entrada que producía caracteres EOF, el código 0x1A de la tabla ASCII
  • INP: — dispositivo de entrada a definir, por defecto el mismo que EOF:.
  • OUT: — dispositivo de salida a definir, por defecto el mismo que NUL:.

Sin embargo, no existen realmente ficheros de dispositivos, pues su manipulación está limitada al PIP. Los dispositivos a definir fueron implementados con llamadas a localizaciones fijas al comienzo del programa PIP, el objetivo era permitir que el usuario o el fabricante del equipo, pudiesen parchear esas localizaciones para añadir sus propios dispositivos de entrada o salida. Se dejaron 246 bytes de espacio libre en el programa para ese propósito.

Además de la sintaxis usual PIP destino=fuente, el PIP bajo CP/M también permitía la sintaxis PIP destino_fuente. El código fuente para PIP describe el carácter '_' como "flecha para la izquierda", como en la versión de 1963 de la tabla ASCII. Así, en los terminales que usaban esta variante de ASCII, el comando aparecería como PIP destino←fuente. Este funcionamiento no estaba documentado, y el manual de usuario no incluía el '_' en la lista de caracteres no permitidos para nombres de fichero, por lo tanto otros programas podían crear, y creaban, ficheros que contenían el carácter subrayado que el PIP no podía tratar.

Véase también editar

Enlaces externos editar