Peripheral Interchange Program

Origem: Wikipédia, a enciclopédia livre.

Peripheral Interchange Program, ou PIP, é um aplicativo utilizado para transferir arquivos nos computadores da Digital Equipment Corporation. Ele foi implementado pela primeira vez no computador PDP-6 por volta da década de 60. Foi implementado em seguida nos computadores DEC-10 e PDP-11.

História[editar | editar código-fonte]

O PIP foi desenvolvido originalmente com o nome ATLATL, um acrônimo para Anything, Lord, to Anything, Lord ("qualquer coisa, Senhor, para qualquer coisa, Senhor"). A intenção era deixar claro que se tratava de uma ferramenta independente de dispositivo.

No início, a sintaxe do comando para uso do PIP era:

PIP destino=origem

Após algum uso, alterou-se a ordem dos parâmetros e o nome do comando para COPY:

COPY origem destino 

O comando COPY era um dos inúmeros programas utilitários que residiam nos computadores PDP e DEC. Na metade dos anos 70 o PIP já era muito utilizado, junto com os seus descendentes.

O PIP no CP/M[editar | editar código-fonte]

O conceito do PIP foi adicionado ao CP/M, por Gary Kildall, após o seu desenvolvimento inicial. Além de permitir o acesso de arquivos em um disquete, o PIP permitia a transferência de dados de e para estruturas chamadas de "arquivos especiais":

  • CON:console de computador (entrada/saída).
  • AUX: — um dispositivo auxiliar. No CP/M 1 e 2, o PIP utiliza o PUN (paper tape punch) e RDR (paper tape reader) ao invés do AUX.
  • LST: — um dispositivo de saída em lista, usualmente uma impressora.
  • PRN: — como o LST, com adição de linhas numeradas, tabs expandidos, e form feeds adicionados a cada 60 linhas.
  • NUL: — dispositivo nulo, de forma análoga ao /dev/zero para entrada, e ao /dev/null para saída.
  • EOF: — dispositivo de entrada que produz caracteres de EOF; o código 0x1A da tabela ASCII.
  • INP: — dispositivo de entrada a definir, por padrão o mesmo que o EOF.
  • OUT: — dispositivo de saída a definir, por padrão o mesmo que NUL.

Porém, não existem arquivos de dispositivos verdadeiros, pois a sua manipulação é limitada no PIP. Os dois "dispositivos a definir" são implementados através de chamadas a locais fixos no início do programa PIP; o objetivo é permitir ao usuário ou ao fabricante do equipamento, a possibilidade de implementar o seu próprio dispositivo de entrada/saída. O programa contém 246 bytes de espaço livre destinado a esse propósito.

Em adição à sintaxe usual PIP destino=origem, o PIP sob o CP/M também permitia a sintaxe PIP destino_origem. O código fonte do PIP descreve o caractere '_' como "flecha para esquerda", como na versão de 1963 da tabela ASCII; em terminais utilizando esta variante do ASCII, o comando apareceria como PIP destino←origem. Este comportamento não era documentado, e o manual do usuário não inclui '_' na lista de caracteres não permitidos em nomes de arquivo; por esta razão outros programas podiam e criavam arquivos que o PIP não podia manipular.

Ver também[editar | editar código-fonte]

  • cp — Comando do Unix para cópia de arquivos