Programa de intercâmbio periférico - Peripheral Interchange Program

Peripheral Interchange Program (PIP)
Autor (es) original (is) Digital Equipment Corporation / Harrison "Dit" Morse
Desenvolvedor (s) Pesquisa Digital / Gary Kildall , Heath Company
lançamento inicial 1960 ; 60 anos atras ( Década de 1960 )
Sistema operacional BATCH-11 / DOS-11 , RT-11 , RSTS / E , RSX-11 , OS / 8 , TOPS-10 , TOPS-20 , CP / M , MP / M , DOS Plus , HDOS
Modelo Comando

Peripheral Interchange Program (PIP) era um utilitário para transferir arquivos em e entre dispositivos nos computadores da Digital Equipment Corporation . Ele foi implementado pela primeira vez na arquitetura PDP-6 por Harrison "Dit" Morse no início da década de 1960. Posteriormente, ele foi implementado para os sistemas operacionais da DEC para as arquiteturas PDP-10 , PDP-11 e PDP-8 . Nos anos 1970 e 1980, a Digital Research implementado PIP no CP / M e MP / M .

História

Diz-se que durante o desenvolvimento foi nomeado ATLATL, que é um acrônimo para "Qualquer coisa, Senhor de tudo, Senhor." Isso descreveu com humor tanto seu propósito como uma ferramenta de cópia de arquivo independente de dispositivo e as dificuldades no momento de copiar arquivos com segurança entre dispositivos.

A sintaxe PIP original era

PIP destination←source /switches

usando o caractere de seta para a esquerda do conjunto de caracteres ASCII -1963 que os teclados Flexowriter da época usavam. Como outros terminais foram introduzidos que usavam versões posteriores do ASCII (sem o caractere de seta para a esquerda), o PIP permitiu a sintaxe

PIP destination=source

O caractere sublinhado ( _ ), que estava na mesma posição do caractere ASCII que a seta para a esquerda ocupou, ainda era compatível para separar as especificações de destino e de origem.

A origem e o destino eram strings de especificação de arquivo . Eles consistiam em um nome de dispositivo, normalmente 2 caracteres para o tipo de dispositivo, como DK (disco), LP (impressora de linha), MT (fita magnética), etc. e um número de unidade de 0 a 7, dois pontos (:), nome do arquivo e extensão.

A cópia era geralmente permitida entre qualquer especificação de arquivo para qualquer outra onde fizesse sentido.

As primeiras versões do VAX / VMS implementaram certos comandos DCL , como DIRECTORY e RENAME , executando RSX-11M PIP em modo de compatibilidade. Esse uso de PIP foi substituído pelo código específico do VAX no VAX / VMS 2.0, mas o PIP permaneceu como parte do produto em camadas VAX-11 RSX para VMS.

Em meados da década de 1980, o PIP ainda era de uso comum nos sistemas TOPS-10 , TOPS-20 e PDP-11 .

PIP em CP / M e MP / M

PIP.CMDem CP / M-86
Exemplo usando o PIPcomando no DOS Plus para criar um arquivo de texto a partir do CON: entrada do console

Gary Kildall , que desenvolveu CP / M e MP / M , baseou grande parte do design de sua estrutura de arquivos e processador de comandos em sistemas operacionais da Digital Equipment, como RSTS / E para o PDP-11. Além de acessar arquivos em um disquete , o comando PIP no CP / M também pode transferir dados de e para os seguintes "arquivos especiais":

  • CON: - console (entrada e saída)
  • AUX: - um dispositivo auxiliar. No CP / M 1 e 2, o PIP usou PUN: (perfurador de fita de papel) e RDR: (leitor de fita de papel) em vez de AUX:
  • LST: - lista o dispositivo de saída, geralmente a impressora
  • PRN: - como LST:, mas as linhas foram numeradas, as guias foram expandidas e os feeds de formulário adicionados a cada 60 linhas
  • NUL: - dispositivo nulo, semelhante a \ Device \ Null e / dev / null
  • EOF: - dispositivo de entrada que produziu caracteres de fim de arquivo , ASCII 0x1A
  • INP: - dispositivo de entrada personalizado, por padrão o mesmo que EOF:
  • PUN: - unidade de cartão perfurado:
  • OUT: - dispositivo de saída personalizado, por padrão o mesmo que NUL:

Esses não eram arquivos de dispositivo verdadeiros , no entanto, porque seu manuseio era limitado ao PIP. Os dois dispositivos personalizados INP: e OUT: foram implementados como chamadas para locais fixos no início do programa PIP; a intenção era que o usuário, ou o OEM , pudesse corrigir esses locais para adicionar seus próprios dispositivos de entrada ou saída. 246 bytes de espaço livre foram deixados no programa para esse propósito.

Além da PIP destination=sourcesintaxe usual , o PIP sob CP / M ainda permitia a PIP destination_sourceforma antiga . Este comportamento não foi documentado e o CP / M geralmente não tinha um padrão para o qual os caracteres pudessem aparecer nos nomes dos arquivos; portanto, outros programas puderam criar nomes de arquivos contendo caracteres de sublinhado, o que o PIP não conseguiu controlar.

Veja também

Referências