Peripheral Interchange Program

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

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

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

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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.